From f0e7825b57d5913aa046864960f22fc84037ca14 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 11 Jul 2024 16:02:17 -0700 Subject: [PATCH] CloudFormation Template Schema upgrade (#389) https://github.com/aws-cloudformation/cloudformation-template-schema/tree/main Co-authored-by: kddejong <36457093+kddejong@users.noreply.github.com> Co-authored-by: Kevin DeJong --- server/schema/resources.schema.json | 17224 +++++++++------- .../resources/aws-acmpca-certificate.json | 15 +- .../aws-acmpca-certificateauthority.json | 20 +- ...acmpca-certificateauthorityactivation.json | 6 + .../resources/aws-acmpca-permission.json | 7 +- .../schema/resources/aws-amazonmq-broker.json | 6 +- .../resources/aws-amazonmq-configuration.json | 3 +- .../resources/aws-apigateway-account.json | 47 +- .../resources/aws-apigateway-apikey.json | 12 + .../aws-apigateway-clientcertificate.json | 12 + .../resources/aws-apigateway-deployment.json | 504 +- .../aws-apigateway-documentationpart.json | 3 + .../aws-apigateway-documentationversion.json | 3 + .../resources/aws-apigateway-domainname.json | 157 +- .../aws-apigateway-gatewayresponse.json | 19 +- .../resources/aws-apigateway-method.json | 424 +- .../resources/aws-apigateway-model.json | 3 + .../aws-apigateway-requestvalidator.json | 3 + .../resources/aws-apigateway-resource.json | 90 +- .../resources/aws-apigateway-restapi.json | 289 +- .../resources/aws-apigateway-stage.json | 7 +- .../resources/aws-apigateway-usageplan.json | 7 +- .../aws-apigateway-usageplankey.json | 4 +- .../resources/aws-apigateway-vpclink.json | 23 +- ...applicationautoscaling-scalabletarget.json | 288 +- ...licationsignals-servicelevelobjective.json | 459 + .../resources/aws-apptest-testcase.json | 760 + .../aws-autoscaling-autoscalinggroup.json | 64 +- .../aws-autoscaling-launchconfiguration.json | 290 +- .../aws-autoscaling-scalingpolicy.json | 72 +- .../schema/resources/aws-b2bi-capability.json | 5 +- .../schema/resources/aws-bedrock-agent.json | 195 +- .../resources/aws-bedrock-datasource.json | 40 +- .../aws-bedrock-guardrailversion.json | 85 + .../resources/aws-bedrock-knowledgebase.json | 9 +- .../schema/resources/aws-budgets-budget.json | 30 +- .../resources/aws-budgets-budgetsaction.json | 44 +- ...ot-microsoftteamschannelconfiguration.json | 41 +- ...aws-chatbot-slackchannelconfiguration.json | 42 + .../aws-cloudformation-stackset.json | 12 + .../resources/aws-cloudwatch-dashboard.json | 52 +- .../aws-cloudwatch-metricstream.json | 35 +- .../schema/resources/aws-codebuild-fleet.json | 50 +- .../resources/aws-codebuild-project.json | 17 + .../resources/aws-codepipeline-pipeline.json | 466 +- .../aws-cognito-userpoolresourceserver.json | 117 +- ...ito-userpooluicustomizationattachment.json | 63 +- .../resources/aws-connect-evaluationform.json | 262 +- .../resources/aws-connect-routingprofile.json | 1 - server/schema/resources/aws-connect-rule.json | 31 + .../aws-connectcampaigns-campaign.json | 5 + .../aws-controltower-enabledcontrol.json | 9 +- .../schema/resources/aws-datasync-agent.json | 4 +- .../schema/resources/aws-datasync-task.json | 14 +- .../resources/aws-datazone-groupprofile.json | 132 + .../aws-datazone-projectmembership.json | 141 + .../resources/aws-datazone-userprofile.json | 238 + .../schema/resources/aws-deadline-farm.json | 62 +- .../schema/resources/aws-deadline-fleet.json | 63 +- .../aws-deadline-licenseendpoint.json | 64 +- .../aws-deadline-meteredproduct.json | 41 +- .../resources/aws-deadline-monitor.json | 109 + .../schema/resources/aws-deadline-queue.json | 63 +- .../aws-directoryservice-simplead.json | 4 +- .../resources/aws-dms-dataprovider.json | 266 +- .../resources/aws-dms-replicationconfig.json | 15 +- .../resources/aws-dynamodb-globaltable.json | 950 +- .../schema/resources/aws-dynamodb-table.json | 30 + .../resources/aws-ec2-customergateway.json | 16 +- server/schema/resources/aws-ec2-instance.json | 27 +- server/schema/resources/aws-ec2-keypair.json | 42 +- .../resources/aws-ec2-launchtemplate.json | 6 +- .../aws-ec2-transitgatewayroute.json | 91 +- ...2-transitgatewayroutetableassociation.json | 60 +- ...2-transitgatewayroutetablepropagation.json | 67 +- .../aws-ec2-verifiedaccessinstance.json | 2 + .../schema/resources/aws-ec2-vpngateway.json | 23 +- .../aws-ecr-repositorycreationtemplate.json | 8 +- .../resources/aws-ecs-capacityprovider.json | 142 +- server/schema/resources/aws-ecs-cluster.json | 33 +- .../resources/aws-ecs-primarytaskset.json | 72 +- .../resources/aws-ecs-taskdefinition.json | 1812 +- .../schema/resources/aws-efs-filesystem.json | 16 +- server/schema/resources/aws-eks-addon.json | 47 +- server/schema/resources/aws-eks-cluster.json | 11 +- .../aws-elasticache-parametergroup.json | 78 +- .../aws-elasticbeanstalk-environment.json | 7 +- .../aws-elasticloadbalancingv2-listener.json | 444 +- ...s-elasticloadbalancingv2-loadbalancer.json | 322 +- .../aws-emrserverless-application.json | 70 +- ...ws-entityresolution-idmappingworkflow.json | 88 +- .../aws-entityresolution-idnamespace.json | 98 +- ...aws-entityresolution-matchingworkflow.json | 25 +- .../aws-entityresolution-schemamapping.json | 7 + .../schema/resources/aws-events-eventbus.json | 37 +- .../resources/aws-fis-experimenttemplate.json | 11 + server/schema/resources/aws-fms-policy.json | 168 +- .../schema/resources/aws-fsx-filesystem.json | 296 +- ...aws-gamelift-containergroupdefinition.json | 491 + .../schema/resources/aws-gamelift-fleet.json | 982 +- .../aws-globalaccelerator-accelerator.json | 7 + ...balaccelerator-crossaccountattachment.json | 7 + .../aws-globalaccelerator-endpointgroup.json | 3 + .../aws-globalaccelerator-listener.json | 3 + server/schema/resources/aws-glue-crawler.json | 9 + server/schema/resources/aws-glue-job.json | 4 + .../resources/aws-groundstation-config.json | 8 +- ...s-groundstation-dataflowendpointgroup.json | 4 +- .../aws-groundstation-missionprofile.json | 8 +- .../resources/aws-guardduty-filter.json | 6 +- .../aws-guardduty-malwareprotectionplan.json | 209 + .../aws-healthlake-fhirdatastore.json | 1 - .../resources/aws-iam-oidcprovider.json | 5 +- .../resources/aws-imagebuilder-component.json | 5 +- .../aws-imagebuilder-containerrecipe.json | 5 +- .../resources/aws-imagebuilder-workflow.json | 5 +- .../schema/resources/aws-iot-authorizer.json | 3 +- .../resources/aws-iot-cacertificate.json | 1 + .../aws-iot-certificateprovider.json | 3 +- .../aws-iot-domainconfiguration.json | 3 +- server/schema/resources/aws-iot-policy.json | 3 +- .../aws-iot-provisioningtemplate.json | 4 +- .../schema/resources/aws-iot-rolealias.json | 3 +- .../aws-kinesisanalyticsv2-application.json | 21 + .../aws-kinesisfirehose-deliverystream.json | 197 +- server/schema/resources/aws-kms-alias.json | 2 +- server/schema/resources/aws-kms-key.json | 38 +- server/schema/resources/aws-lambda-alias.json | 148 +- .../aws-lambda-eventsourcemapping.json | 688 +- .../schema/resources/aws-lambda-function.json | 73 +- .../resources/aws-lambda-permission.json | 6 +- .../schema/resources/aws-lambda-version.json | 30 +- .../aws-launchwizard-deployment.json | 262 + .../resources/aws-lightsail-instance.json | 11 + .../schema/resources/aws-location-apikey.json | 6 +- .../aws-location-geofencecollection.json | 3 +- server/schema/resources/aws-location-map.json | 4 +- .../resources/aws-location-placeindex.json | 4 +- .../aws-location-routecalculator.json | 4 +- .../resources/aws-location-tracker.json | 7 +- .../schema/resources/aws-logs-delivery.json | 2 +- .../aws-logs-deliverydestination.json | 2 +- .../resources/aws-logs-deliverysource.json | 2 +- .../schema/resources/aws-m2-environment.json | 3 +- .../resources/aws-mediaconnect-flow.json | 382 +- .../aws-mediaconnect-flowoutput.json | 124 +- .../aws-mediaconnect-flowsource.json | 2 - .../aws-mediaconnect-flowvpcinterface.json | 4 +- .../resources/aws-mediaconnect-gateway.json | 4 +- .../resources/aws-medialive-channel.json | 123 +- .../resources/aws-mediapackage-asset.json | 7 + .../resources/aws-mediapackage-channel.json | 7 + .../aws-mediapackage-originendpoint.json | 33 +- ...s-mediapackage-packagingconfiguration.json | 41 +- .../aws-mediapackage-packaginggroup.json | 7 + .../resources/aws-mediapackagev2-channel.json | 9 + .../aws-mediapackagev2-originendpoint.json | 171 + ...aws-mediatailor-playbackconfiguration.json | 16 +- .../resources/aws-mwaa-environment.json | 18 + .../resources/aws-neptune-dbcluster.json | 1 + .../aws-neptune-eventsubscription.json | 52 + .../aws-networkfirewall-firewall.json | 2 +- ...-networkfirewall-loggingconfiguration.json | 7 - server/schema/resources/aws-oam-link.json | 6 +- server/schema/resources/aws-oam-sink.json | 6 +- .../aws-opensearchservice-domain.json | 2 +- .../schema/resources/aws-osis-pipeline.json | 19 +- server/schema/resources/aws-pipes-pipe.json | 209 + .../resources/aws-qbusiness-application.json | 249 + .../resources/aws-qbusiness-datasource.json | 450 + .../schema/resources/aws-qbusiness-index.json | 272 + .../resources/aws-qbusiness-plugin.json | 383 + .../resources/aws-qbusiness-retriever.json | 245 + .../aws-qbusiness-webexperience.json | 201 + server/schema/resources/aws-qldb-stream.json | 12 + .../resources/aws-quicksight-analysis.json | 38 +- .../resources/aws-quicksight-dashboard.json | 62 +- .../resources/aws-quicksight-dataset.json | 1084 +- .../resources/aws-quicksight-datasource.json | 716 +- .../aws-quicksight-refreshschedule.json | 17 +- .../resources/aws-quicksight-template.json | 38 +- .../resources/aws-quicksight-topic.json | 46 +- .../aws-quicksight-vpcconnection.json | 298 +- .../schema/resources/aws-rds-dbcluster.json | 1062 +- .../aws-rds-dbclusterparametergroup.json | 29 +- .../schema/resources/aws-rds-dbinstance.json | 1127 +- .../resources/aws-rds-dbparametergroup.json | 4 +- .../resources/aws-rds-dbsubnetgroup.json | 6 +- .../resources/aws-rds-eventsubscription.json | 42 +- .../resources/aws-rds-globalcluster.json | 5 + .../schema/resources/aws-rds-optiongroup.json | 46 +- .../resources/aws-redshift-cluster.json | 740 +- .../aws-redshift-clustersubnetgroup.json | 4 + .../aws-redshift-endpointaccess.json | 350 +- .../aws-redshift-endpointauthorization.json | 178 +- .../aws-redshift-eventsubscription.json | 248 +- .../aws-redshift-scheduledaction.json | 252 +- .../aws-redshiftserverless-workgroup.json | 4 +- .../resources/aws-resiliencehub-app.json | 3 +- .../resources/aws-resourcegroups-group.json | 6 +- .../resources/aws-rolesanywhere-profile.json | 67 +- .../resources/aws-route53-hostedzone.json | 14 +- .../aws-route53recoverycontrol-cluster.json | 10 +- ...s-route53recoverycontrol-controlpanel.json | 12 +- ...route53recoverycontrol-routingcontrol.json | 10 +- ...aws-route53recoverycontrol-safetyrule.json | 24 +- ...aws-route53resolver-firewallrulegroup.json | 9 + server/schema/resources/aws-s3-bucket.json | 4 +- .../resources/aws-sagemaker-domain.json | 103 +- .../resources/aws-sagemaker-modelcard.json | 2 + .../resources/aws-sagemaker-userprofile.json | 65 + .../resources/aws-secretsmanager-secret.json | 3 +- .../aws-securityhub-automationrule.json | 2 +- .../aws-securityhub-configurationpolicy.json | 337 + .../aws-securityhub-findingaggregator.json | 88 + ...securityhub-organizationconfiguration.json | 107 + .../aws-securityhub-policyassociation.json | 117 + .../aws-securityhub-securitycontrol.json | 238 + .../resources/aws-securitylake-datalake.json | 11 +- .../aws-securitylake-subscriber.json | 27 +- ...s-securitylake-subscribernotification.json | 215 + .../resources/aws-ses-configurationset.json | 5 +- ...-ses-configurationseteventdestination.json | 22 + .../aws-ses-mailmanageraddoninstance.json | 124 + .../aws-ses-mailmanageraddonsubscription.json | 117 + .../resources/aws-ses-mailmanagerarchive.json | 178 + .../aws-ses-mailmanageringresspoint.json | 218 + .../resources/aws-ses-mailmanagerrelay.json | 170 + .../resources/aws-ses-mailmanagerruleset.json | 934 + .../aws-ses-mailmanagertrafficpolicy.json | 462 + .../resources/aws-shield-drtaccess.json | 4 +- .../aws-signer-profilepermission.json | 2 +- .../resources/aws-signer-signingprofile.json | 13 +- .../resources/aws-ssm-resourcedatasync.json | 3 + .../aws-ssmincidents-replicationset.json | 8 +- .../aws-ssmincidents-responseplan.json | 18 +- .../schema/resources/aws-sso-application.json | 213 + .../aws-sso-applicationassignment.json | 82 + server/schema/resources/aws-sso-instance.json | 138 + .../resources/aws-stepfunctions-activity.json | 46 +- .../aws-stepfunctions-statemachine.json | 388 +- .../aws-stepfunctions-statemachinealias.json | 3 +- .../resources/aws-synthetics-canary.json | 630 +- .../resources/aws-transfer-agreement.json | 4 +- .../resources/aws-transfer-certificate.json | 15 +- .../resources/aws-transfer-connector.json | 26 +- .../resources/aws-transfer-profile.json | 2 +- .../resources/aws-transfer-workflow.json | 14 +- ...ws-verifiedpermissions-identitysource.json | 171 +- .../resources/aws-vpclattice-listener.json | 5 +- .../resources/aws-vpclattice-targetgroup.json | 5 +- .../aws-workspaces-workspacespool.json | 208 + .../aws-workspacesthinclient-environment.json | 11 + 253 files changed, 30675 insertions(+), 16547 deletions(-) create mode 100644 server/schema/resources/aws-applicationsignals-servicelevelobjective.json create mode 100644 server/schema/resources/aws-apptest-testcase.json create mode 100644 server/schema/resources/aws-bedrock-guardrailversion.json create mode 100644 server/schema/resources/aws-datazone-groupprofile.json create mode 100644 server/schema/resources/aws-datazone-projectmembership.json create mode 100644 server/schema/resources/aws-datazone-userprofile.json create mode 100644 server/schema/resources/aws-deadline-monitor.json create mode 100644 server/schema/resources/aws-gamelift-containergroupdefinition.json create mode 100644 server/schema/resources/aws-guardduty-malwareprotectionplan.json create mode 100644 server/schema/resources/aws-launchwizard-deployment.json create mode 100644 server/schema/resources/aws-neptune-eventsubscription.json create mode 100644 server/schema/resources/aws-qbusiness-application.json create mode 100644 server/schema/resources/aws-qbusiness-datasource.json create mode 100644 server/schema/resources/aws-qbusiness-index.json create mode 100644 server/schema/resources/aws-qbusiness-plugin.json create mode 100644 server/schema/resources/aws-qbusiness-retriever.json create mode 100644 server/schema/resources/aws-qbusiness-webexperience.json create mode 100644 server/schema/resources/aws-securityhub-configurationpolicy.json create mode 100644 server/schema/resources/aws-securityhub-findingaggregator.json create mode 100644 server/schema/resources/aws-securityhub-organizationconfiguration.json create mode 100644 server/schema/resources/aws-securityhub-policyassociation.json create mode 100644 server/schema/resources/aws-securityhub-securitycontrol.json create mode 100644 server/schema/resources/aws-securitylake-subscribernotification.json create mode 100644 server/schema/resources/aws-ses-mailmanageraddoninstance.json create mode 100644 server/schema/resources/aws-ses-mailmanageraddonsubscription.json create mode 100644 server/schema/resources/aws-ses-mailmanagerarchive.json create mode 100644 server/schema/resources/aws-ses-mailmanageringresspoint.json create mode 100644 server/schema/resources/aws-ses-mailmanagerrelay.json create mode 100644 server/schema/resources/aws-ses-mailmanagerruleset.json create mode 100644 server/schema/resources/aws-ses-mailmanagertrafficpolicy.json create mode 100644 server/schema/resources/aws-sso-application.json create mode 100644 server/schema/resources/aws-sso-applicationassignment.json create mode 100644 server/schema/resources/aws-sso-instance.json create mode 100644 server/schema/resources/aws-workspaces-workspacespool.json diff --git a/server/schema/resources.schema.json b/server/schema/resources.schema.json index 8c74c1b3..83704d3c 100644 --- a/server/schema/resources.schema.json +++ b/server/schema/resources.schema.json @@ -32,9 +32,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolIdentityProvider": { + "AWS_SageMaker_DeviceFleet": { "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": "Resource schema for AWS::SageMaker::DeviceFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html)", "allOf": [ { "type": "object", @@ -42,14 +42,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolIdentityProvider" + "AWS::SageMaker::DeviceFleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolIdentityProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.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-cognito-userpoolidentityprovider.json" + "$ref": "resources/aws-sagemaker-devicefleet.json" } }, "required": [ @@ -63,9 +63,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_DataSource": { + "AWS_PCAConnectorAD_Connector": { "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::PCAConnectorAD::Connector Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-connector.html)", "allOf": [ { "type": "object", @@ -73,14 +73,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::DataSource" + "AWS::PCAConnectorAD::Connector" ], "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::PCAConnectorAD::Connector Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-connector.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-datasource.json" + "$ref": "resources/aws-pcaconnectorad-connector.json" } }, "required": [ @@ -94,9 +94,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_TagOption": { + "AWS_GuardDuty_MalwareProtectionPlan": { "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::GuardDuty::MalwareProtectionPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-malwareprotectionplan.html)", "allOf": [ { "type": "object", @@ -104,14 +104,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::TagOption" + "AWS::GuardDuty::MalwareProtectionPlan" ], "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::GuardDuty::MalwareProtectionPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-malwareprotectionplan.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-tagoption.json" + "$ref": "resources/aws-guardduty-malwareprotectionplan.json" } }, "required": [ @@ -125,9 +125,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_EventType": { + "AWS_S3_MultiRegionAccessPoint": { "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::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", @@ -135,14 +135,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::EventType" + "AWS::S3::MultiRegionAccessPoint" ], "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::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-frauddetector-eventtype.json" + "$ref": "resources/aws-s3-multiregionaccesspoint.json" } }, "required": [ @@ -156,9 +156,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_ObservabilityConfiguration": { + "AWS_AppSync_DomainNameApiAssociation": { "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::AppSync::DomainNameApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html)", "allOf": [ { "type": "object", @@ -166,18 +166,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::ObservabilityConfiguration" + "AWS::AppSync::DomainNameApiAssociation" ], "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::AppSync::DomainNameApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-apprunner-observabilityconfiguration.json" + "$ref": "resources/aws-appsync-domainnameapiassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -186,9 +187,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverConfig": { + "AWS_RolesAnywhere_TrustAnchor": { "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": "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", @@ -196,14 +197,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverConfig" + "AWS::RolesAnywhere::TrustAnchor" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::ResolverConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverconfig.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-route53resolver-resolverconfig.json" + "$ref": "resources/aws-rolesanywhere-trustanchor.json" } }, "required": [ @@ -217,9 +218,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_PrivateDnsNamespace": { + "AWS_WAFRegional_ByteMatchSet": { "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 Type definition for AWS::WAFRegional::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html)", "allOf": [ { "type": "object", @@ -227,14 +228,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::PrivateDnsNamespace" + "AWS::WAFRegional::ByteMatchSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::PrivateDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html)" + "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-servicediscovery-privatednsnamespace.json" + "$ref": "resources/aws-wafregional-bytematchset.json" } }, "required": [ @@ -248,9 +249,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_VpcEndpoint": { + "AWS_EC2_LocalGatewayRouteTableVPCAssociation": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless vpc endpoint resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html)", + "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", @@ -258,14 +259,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::VpcEndpoint" + "AWS::EC2::LocalGatewayRouteTableVPCAssociation" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless vpc endpoint resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html)" + "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-opensearchserverless-vpcendpoint.json" + "$ref": "resources/aws-ec2-localgatewayroutetablevpcassociation.json" } }, "required": [ @@ -279,9 +280,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_DelegatedAdmin": { + "AWS_ElasticLoadBalancingV2_ListenerCertificate": { "type": "object", - "markdownDescription": "The AWS::SecurityHub::DelegatedAdmin resource represents the AWS Security Hub delegated admin account in your organization. One delegated admin resource is allowed to create for the organization in each region in which you configure the AdminAccountId. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.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", @@ -289,14 +290,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::DelegatedAdmin" + "AWS::ElasticLoadBalancingV2::ListenerCertificate" ], "markdownEnumDescriptions": [ - "The AWS::SecurityHub::DelegatedAdmin resource represents the AWS Security Hub delegated admin account in your organization. One delegated admin resource is allowed to create for the organization in each region in which you configure the AdminAccountId. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.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-securityhub-delegatedadmin.json" + "$ref": "resources/aws-elasticloadbalancingv2-listenercertificate.json" } }, "required": [ @@ -310,9 +311,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Domain": { + "AWS_DataSync_LocationFSxLustre": { "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 schema for AWS::DataSync::LocationFSxLustre. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html)", "allOf": [ { "type": "object", @@ -320,14 +321,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Domain" + "AWS::DataSync::LocationFSxLustre" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.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-sagemaker-domain.json" + "$ref": "resources/aws-datasync-locationfsxlustre.json" } }, "required": [ @@ -341,9 +342,9 @@ ], "additionalProperties": false }, - "AWS_DynamoDB_Table": { + "AWS_EC2_IPAMPool": { "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 Schema of AWS::EC2::IPAMPool Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html)", "allOf": [ { "type": "object", @@ -351,14 +352,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DynamoDB::Table" + "AWS::EC2::IPAMPool" ], "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 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-dynamodb-table.json" + "$ref": "resources/aws-ec2-ipampool.json" } }, "required": [ @@ -372,9 +373,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_SourceApiAssociation": { + "AWS_EC2_NetworkInsightsPath": { "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::EC2::NetworkInsightsPath \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html)", "allOf": [ { "type": "object", @@ -382,18 +383,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::SourceApiAssociation" + "AWS::EC2::NetworkInsightsPath" ], "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::EC2::NetworkInsightsPath \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-sourceapiassociation.json" + "$ref": "resources/aws-ec2-networkinsightspath.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -402,9 +404,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ScheduledAction": { + "AWS_RoboMaker_SimulationApplication": { "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": "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", @@ -412,14 +414,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ScheduledAction" + "AWS::RoboMaker::SimulationApplication" ], "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)" + "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-redshift-scheduledaction.json" + "$ref": "resources/aws-robomaker-simulationapplication.json" } }, "required": [ @@ -433,9 +435,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_TransitGatewayPeering": { + "AWS_IAM_Role": { "type": "object", - "markdownDescription": "AWS::NetworkManager::TransitGatewayPeering Resoruce Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewaypeering.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", @@ -443,14 +445,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::TransitGatewayPeering" + "AWS::IAM::Role" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::TransitGatewayPeering Resoruce Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewaypeering.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-networkmanager-transitgatewaypeering.json" + "$ref": "resources/aws-iam-role.json" } }, "required": [ @@ -464,9 +466,9 @@ ], "additionalProperties": false }, - "AWS_SES_ReceiptRule": { + "AWS_CloudFormation_CustomResource": { "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 Type definition for AWS::CloudFormation::CustomResource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-customresource.html)", "allOf": [ { "type": "object", @@ -474,14 +476,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ReceiptRule" + "AWS::CloudFormation::CustomResource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::ReceiptRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.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-ses-receiptrule.json" + "$ref": "resources/aws-cloudformation-customresource.json" } }, "required": [ @@ -495,9 +497,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_PortfolioPrincipalAssociation": { + "AWS_Route53Resolver_ResolverEndpoint": { "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::Route53Resolver::ResolverEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html)", "allOf": [ { "type": "object", @@ -505,14 +507,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::PortfolioPrincipalAssociation" + "AWS::Route53Resolver::ResolverEndpoint" ], "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::Route53Resolver::ResolverEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-portfolioprincipalassociation.json" + "$ref": "resources/aws-route53resolver-resolverendpoint.json" } }, "required": [ @@ -526,9 +528,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_ServerlessCache": { + "AWS_Connect_User": { "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::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-user.html)", "allOf": [ { "type": "object", @@ -536,14 +538,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::ServerlessCache" + "AWS::Connect::User" ], "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::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-user.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-serverlesscache.json" + "$ref": "resources/aws-connect-user.json" } }, "required": [ @@ -557,9 +559,9 @@ ], "additionalProperties": false }, - "AWS_QLDB_Ledger": { + "AWS_Inspector_AssessmentTarget": { "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::Inspector::AssessmentTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html)", "allOf": [ { "type": "object", @@ -567,19 +569,18 @@ "Type": { "type": "string", "enum": [ - "AWS::QLDB::Ledger" + "AWS::Inspector::AssessmentTarget" ], "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::Inspector::AssessmentTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html)" ] }, "Properties": { - "$ref": "resources/aws-qldb-ledger.json" + "$ref": "resources/aws-inspector-assessmenttarget.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -588,9 +589,9 @@ ], "additionalProperties": false }, - "AWS_AppIntegrations_DataIntegration": { + "AWS_IAM_SAMLProvider": { "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 Type definition for AWS::IAM::SAMLProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.html)", "allOf": [ { "type": "object", @@ -598,14 +599,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppIntegrations::DataIntegration" + "AWS::IAM::SAMLProvider" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppIntegrations::DataIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.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-appintegrations-dataintegration.json" + "$ref": "resources/aws-iam-samlprovider.json" } }, "required": [ @@ -619,9 +620,9 @@ ], "additionalProperties": false }, - "AWS_APS_Scraper": { + "AWS_EntityResolution_PolicyStatement": { "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": "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", @@ -629,14 +630,14 @@ "Type": { "type": "string", "enum": [ - "AWS::APS::Scraper" + "AWS::EntityResolution::PolicyStatement" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::APS::Scraper \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.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-aps-scraper.json" + "$ref": "resources/aws-entityresolution-policystatement.json" } }, "required": [ @@ -650,9 +651,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationObjectStorage": { + "AWS_RDS_EventSubscription": { "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": "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", @@ -660,14 +661,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationObjectStorage" + "AWS::RDS::EventSubscription" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationObjectStorage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.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-datasync-locationobjectstorage.json" + "$ref": "resources/aws-rds-eventsubscription.json" } }, "required": [ @@ -681,9 +682,9 @@ ], "additionalProperties": false }, - "AWS_Logs_DeliveryDestination": { + "AWS_S3_StorageLens": { "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": "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", @@ -691,14 +692,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::DeliveryDestination" + "AWS::S3::StorageLens" ], "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)" + "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-logs-deliverydestination.json" + "$ref": "resources/aws-s3-storagelens.json" } }, "required": [ @@ -712,9 +713,9 @@ ], "additionalProperties": false }, - "AWS_RefactorSpaces_Application": { + "AWS_CodeBuild_SourceCredential": { "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": "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", @@ -722,14 +723,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RefactorSpaces::Application" + "AWS::CodeBuild::SourceCredential" ], "markdownEnumDescriptions": [ - "Definition of AWS::RefactorSpaces::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-application.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-refactorspaces-application.json" + "$ref": "resources/aws-codebuild-sourcecredential.json" } }, "required": [ @@ -743,9 +744,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_DirectoryConfig": { + "AWS_IAM_GroupPolicy": { "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": "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", @@ -753,14 +754,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::DirectoryConfig" + "AWS::IAM::GroupPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::DirectoryConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.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-appstream-directoryconfig.json" + "$ref": "resources/aws-iam-grouppolicy.json" } }, "required": [ @@ -774,9 +775,9 @@ ], "additionalProperties": false }, - "AWS_WAF_SizeConstraintSet": { + "AWS_KafkaConnect_WorkerConfiguration": { "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": "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", @@ -784,14 +785,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::SizeConstraintSet" + "AWS::KafkaConnect::WorkerConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.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-waf-sizeconstraintset.json" + "$ref": "resources/aws-kafkaconnect-workerconfiguration.json" } }, "required": [ @@ -805,9 +806,9 @@ ], "additionalProperties": false }, - "AWS_SSMContacts_Rotation": { + "AWS_EKS_PodIdentityAssociation": { "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": "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", @@ -815,14 +816,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMContacts::Rotation" + "AWS::EKS::PodIdentityAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSMContacts::Rotation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-rotation.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-ssmcontacts-rotation.json" + "$ref": "resources/aws-eks-podidentityassociation.json" } }, "required": [ @@ -836,9 +837,9 @@ ], "additionalProperties": false }, - "AWS_PinpointEmail_Identity": { + "AWS_MediaPackageV2_OriginEndpoint": { "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": "

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", @@ -846,14 +847,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PinpointEmail::Identity" + "AWS::MediaPackageV2::OriginEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::PinpointEmail::Identity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.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-pinpointemail-identity.json" + "$ref": "resources/aws-mediapackagev2-originendpoint.json" } }, "required": [ @@ -867,9 +868,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_Group": { + "AWS_DocDB_DBSubnetGroup": { "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::DocDB::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html)", "allOf": [ { "type": "object", @@ -877,14 +878,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::Group" + "AWS::DocDB::DBSubnetGroup" ], "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::DocDB::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-group.json" + "$ref": "resources/aws-docdb-dbsubnetgroup.json" } }, "required": [ @@ -898,9 +899,9 @@ ], "additionalProperties": false }, - "AWS_KendraRanking_ExecutionPlan": { + "AWS_VpcLattice_AccessLogSubscription": { "type": "object", - "markdownDescription": "A KendraRanking Rescore execution plan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendraranking-executionplan.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", @@ -908,14 +909,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KendraRanking::ExecutionPlan" + "AWS::VpcLattice::AccessLogSubscription" ], "markdownEnumDescriptions": [ - "A KendraRanking Rescore execution plan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendraranking-executionplan.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-kendraranking-executionplan.json" + "$ref": "resources/aws-vpclattice-accesslogsubscription.json" } }, "required": [ @@ -929,9 +930,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_EventSourceMapping": { + "AWS_Lex_BotVersion": { "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": "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", @@ -939,14 +940,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::EventSourceMapping" + "AWS::Lex::BotVersion" ], "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)" + "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-lambda-eventsourcemapping.json" + "$ref": "resources/aws-lex-botversion.json" } }, "required": [ @@ -960,9 +961,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_GraphQLApi": { + "AWS_RDS_CustomDBEngineVersion": { "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": "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)", "allOf": [ { "type": "object", @@ -970,14 +971,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::GraphQLApi" + "AWS::RDS::CustomDBEngineVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::GraphQLApi \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html)" + "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)" ] }, "Properties": { - "$ref": "resources/aws-appsync-graphqlapi.json" + "$ref": "resources/aws-rds-customdbengineversion.json" } }, "required": [ @@ -991,9 +992,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_EndpointConfig": { + "AWS_AppRunner_VpcIngressConnection": { "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": "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", @@ -1001,14 +1002,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::EndpointConfig" + "AWS::AppRunner::VpcIngressConnection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::EndpointConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.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-sagemaker-endpointconfig.json" + "$ref": "resources/aws-apprunner-vpcingressconnection.json" } }, "required": [ @@ -1022,9 +1023,9 @@ ], "additionalProperties": false }, - "AWS_Glue_DevEndpoint": { + "AWS_Lightsail_LoadBalancer": { "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::Lightsail::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancer.html)", "allOf": [ { "type": "object", @@ -1032,14 +1033,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::DevEndpoint" + "AWS::Lightsail::LoadBalancer" ], "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::Lightsail::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancer.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-devendpoint.json" + "$ref": "resources/aws-lightsail-loadbalancer.json" } }, "required": [ @@ -1053,9 +1054,9 @@ ], "additionalProperties": false }, - "AWS_ControlTower_EnabledControl": { + "AWS_Redshift_EndpointAccess": { "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": "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", @@ -1063,14 +1064,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ControlTower::EnabledControl" + "AWS::Redshift::EndpointAccess" ], "markdownEnumDescriptions": [ - "Enables a control on a specified target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.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-controltower-enabledcontrol.json" + "$ref": "resources/aws-redshift-endpointaccess.json" } }, "required": [ @@ -1084,9 +1085,9 @@ ], "additionalProperties": false }, - "AWS_EMR_SecurityConfiguration": { + "AWS_PCAConnectorAD_ServicePrincipalName": { "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": "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", @@ -1094,19 +1095,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::SecurityConfiguration" + "AWS::PCAConnectorAD::ServicePrincipalName" ], "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)" + "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-emr-securityconfiguration.json" + "$ref": "resources/aws-pcaconnectorad-serviceprincipalname.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -1115,9 +1115,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_KeyValueStore": { + "AWS_S3Express_DirectoryBucket": { "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": "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", @@ -1125,14 +1125,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::KeyValueStore" + "AWS::S3Express::DirectoryBucket" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::KeyValueStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.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-cloudfront-keyvaluestore.json" + "$ref": "resources/aws-s3express-directorybucket.json" } }, "required": [ @@ -1146,9 +1146,9 @@ ], "additionalProperties": false }, - "AWS_CE_CostCategory": { + "AWS_ApiGatewayV2_ApiMapping": { "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::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", @@ -1156,14 +1156,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CE::CostCategory" + "AWS::ApiGatewayV2::ApiMapping" ], "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::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-ce-costcategory.json" + "$ref": "resources/aws-apigatewayv2-apimapping.json" } }, "required": [ @@ -1177,9 +1177,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_DataQualityJobDefinition": { + "AWS_OpsWorks_Volume": { "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": "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", @@ -1187,14 +1187,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::DataQualityJobDefinition" + "AWS::OpsWorks::Volume" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::DataQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.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-sagemaker-dataqualityjobdefinition.json" + "$ref": "resources/aws-opsworks-volume.json" } }, "required": [ @@ -1208,9 +1208,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationFSxLustre": { + "AWS_Transfer_User": { "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": "Resource Type definition for AWS::Transfer::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html)", "allOf": [ { "type": "object", @@ -1218,14 +1218,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationFSxLustre" + "AWS::Transfer::User" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationFSxLustre. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html)" + "Resource Type definition for AWS::Transfer::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationfsxlustre.json" + "$ref": "resources/aws-transfer-user.json" } }, "required": [ @@ -1239,9 +1239,9 @@ ], "additionalProperties": false }, - "AWS_Config_OrganizationConformancePack": { + "AWS_OpenSearchServerless_AccessPolicy": { "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": "Amazon OpenSearchServerless access policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html)", "allOf": [ { "type": "object", @@ -1249,14 +1249,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::OrganizationConformancePack" + "AWS::OpenSearchServerless::AccessPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Config::OrganizationConformancePack. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.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-config-organizationconformancepack.json" + "$ref": "resources/aws-opensearchserverless-accesspolicy.json" } }, "required": [ @@ -1270,9 +1270,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Project": { + "AWS_GameLift_Fleet": { "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": "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", @@ -1280,14 +1280,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Project" + "AWS::GameLift::Fleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.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-sagemaker-project.json" + "$ref": "resources/aws-gamelift-fleet.json" } }, "required": [ @@ -1301,9 +1301,9 @@ ], "additionalProperties": false }, - "AWS_SSMContacts_Plan": { + "AWS_CodeArtifact_PackageGroup": { "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 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", @@ -1311,18 +1311,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMContacts::Plan" + "AWS::CodeArtifact::PackageGroup" ], "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 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-ssmcontacts-plan.json" + "$ref": "resources/aws-codeartifact-packagegroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -1331,9 +1332,9 @@ ], "additionalProperties": false }, - "AWS_RolesAnywhere_CRL": { + "AWS_OpsWorks_App": { "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::OpsWorks::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html)", "allOf": [ { "type": "object", @@ -1341,14 +1342,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RolesAnywhere::CRL" + "AWS::OpsWorks::App" ], "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::OpsWorks::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html)" ] }, "Properties": { - "$ref": "resources/aws-rolesanywhere-crl.json" + "$ref": "resources/aws-opsworks-app.json" } }, "required": [ @@ -1362,9 +1363,9 @@ ], "additionalProperties": false }, - "AWS_GroundStation_MissionProfile": { + "AWS_InternetMonitor_Monitor": { "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": "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", @@ -1372,14 +1373,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GroundStation::MissionProfile" + "AWS::InternetMonitor::Monitor" ], "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)" + "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-groundstation-missionprofile.json" + "$ref": "resources/aws-internetmonitor-monitor.json" } }, "required": [ @@ -1393,9 +1394,9 @@ ], "additionalProperties": false }, - "AWS_IoTAnalytics_Pipeline": { + "AWS_MSK_Configuration": { "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::MSK::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html)", "allOf": [ { "type": "object", @@ -1403,14 +1404,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTAnalytics::Pipeline" + "AWS::MSK::Configuration" ], "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::MSK::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html)" ] }, "Properties": { - "$ref": "resources/aws-iotanalytics-pipeline.json" + "$ref": "resources/aws-msk-configuration.json" } }, "required": [ @@ -1424,9 +1425,9 @@ ], "additionalProperties": false }, - "AWS_SSMIncidents_ReplicationSet": { + "AWS_RoboMaker_RobotApplication": { "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": "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", @@ -1434,14 +1435,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMIncidents::ReplicationSet" + "AWS::RoboMaker::RobotApplication" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::SSMIncidents::ReplicationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-replicationset.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-ssmincidents-replicationset.json" + "$ref": "resources/aws-robomaker-robotapplication.json" } }, "required": [ @@ -1455,9 +1456,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_AutoScalingConfiguration": { + "AWS_IoT_Certificate": { "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": "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", @@ -1465,18 +1466,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::AutoScalingConfiguration" + "AWS::IoT::Certificate" ], "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)" + "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-apprunner-autoscalingconfiguration.json" + "$ref": "resources/aws-iot-certificate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -1485,9 +1487,9 @@ ], "additionalProperties": false }, - "AWS_IVSChat_Room": { + "AWS_KMS_Key": { "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": "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", @@ -1495,14 +1497,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVSChat::Room" + "AWS::KMS::Key" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::IVSChat::Room. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.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-ivschat-room.json" + "$ref": "resources/aws-kms-key.json" } }, "required": [ @@ -1515,9 +1517,9 @@ ], "additionalProperties": false }, - "AWS_Config_ConformancePack": { + "AWS_Panorama_ApplicationInstance": { "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": "Schema for ApplicationInstance CloudFormation Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-applicationinstance.html)", "allOf": [ { "type": "object", @@ -1525,14 +1527,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::ConformancePack" + "AWS::Panorama::ApplicationInstance" ], "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)" + "Schema for ApplicationInstance CloudFormation Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-applicationinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-config-conformancepack.json" + "$ref": "resources/aws-panorama-applicationinstance.json" } }, "required": [ @@ -1546,9 +1548,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_TaskDefinition": { + "AWS_CloudTrail_ResourcePolicy": { "type": "object", - "markdownDescription": "Creates a gateway task definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-taskdefinition.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", @@ -1556,14 +1558,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::TaskDefinition" + "AWS::CloudTrail::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Creates a gateway task definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-taskdefinition.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-iotwireless-taskdefinition.json" + "$ref": "resources/aws-cloudtrail-resourcepolicy.json" } }, "required": [ @@ -1577,9 +1579,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_GlobalNetwork": { + "AWS_AppRunner_VpcConnector": { "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::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", @@ -1587,18 +1589,19 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::GlobalNetwork" + "AWS::AppRunner::VpcConnector" ], "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::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-networkmanager-globalnetwork.json" + "$ref": "resources/aws-apprunner-vpcconnector.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -1607,9 +1610,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_GeoMatchSet": { + "AWS_IAM_ServerCertificate": { "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::IAM::ServerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html)", "allOf": [ { "type": "object", @@ -1617,19 +1620,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::GeoMatchSet" + "AWS::IAM::ServerCertificate" ], "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::IAM::ServerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-geomatchset.json" + "$ref": "resources/aws-iam-servercertificate.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -1638,9 +1640,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_ImagePipeline": { + "AWS_ECR_PullThroughCacheRule": { "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": "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", @@ -1648,14 +1650,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::ImagePipeline" + "AWS::ECR::PullThroughCacheRule" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::ImagePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html)" + "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-imagebuilder-imagepipeline.json" + "$ref": "resources/aws-ecr-pullthroughcacherule.json" } }, "required": [ @@ -1668,9 +1670,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_ChannelPolicy": { + "AWS_CloudFront_KeyValueStore": { "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::CloudFront::KeyValueStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html)", "allOf": [ { "type": "object", @@ -1678,14 +1680,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::ChannelPolicy" + "AWS::CloudFront::KeyValueStore" ], "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::CloudFront::KeyValueStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html)" ] }, "Properties": { - "$ref": "resources/aws-mediatailor-channelpolicy.json" + "$ref": "resources/aws-cloudfront-keyvaluestore.json" } }, "required": [ @@ -1699,9 +1701,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_FirewallPolicy": { + "AWS_Config_ConfigRule": { "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": "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", @@ -1709,14 +1711,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::FirewallPolicy" + "AWS::Config::ConfigRule" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::FirewallPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.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-networkfirewall-firewallpolicy.json" + "$ref": "resources/aws-config-configrule.json" } }, "required": [ @@ -1730,9 +1732,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_Service": { + "AWS_Logs_DeliverySource": { "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": " 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", @@ -1740,14 +1742,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::Service" + "AWS::Logs::DeliverySource" ], "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)" + " 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-apprunner-service.json" + "$ref": "resources/aws-logs-deliverysource.json" } }, "required": [ @@ -1761,9 +1763,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_LaunchConfiguration": { + "AWS_CodeCommit_Repository": { "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::CodeCommit::Repository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html)", "allOf": [ { "type": "object", @@ -1771,14 +1773,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::LaunchConfiguration" + "AWS::CodeCommit::Repository" ], "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::CodeCommit::Repository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-launchconfiguration.json" + "$ref": "resources/aws-codecommit-repository.json" } }, "required": [ @@ -1792,9 +1794,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_APNSVoipSandboxChannel": { + "AWS_RUM_AppMonitor": { "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::RUM::AppMonitor \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html)", "allOf": [ { "type": "object", @@ -1802,14 +1804,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::APNSVoipSandboxChannel" + "AWS::RUM::AppMonitor" ], "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::RUM::AppMonitor \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-apnsvoipsandboxchannel.json" + "$ref": "resources/aws-rum-appmonitor.json" } }, "required": [ @@ -1823,9 +1825,9 @@ ], "additionalProperties": false }, - "AWS_ECS_TaskSet": { + "AWS_SSM_MaintenanceWindow": { "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::SSM::MaintenanceWindow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html)", "allOf": [ { "type": "object", @@ -1833,14 +1835,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::TaskSet" + "AWS::SSM::MaintenanceWindow" ], "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::SSM::MaintenanceWindow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-taskset.json" + "$ref": "resources/aws-ssm-maintenancewindow.json" } }, "required": [ @@ -1854,9 +1856,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Device": { + "AWS_LakeFormation_TagAssociation": { "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": "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", @@ -1864,14 +1866,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Device" + "AWS::LakeFormation::TagAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::SageMaker::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.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-sagemaker-device.json" + "$ref": "resources/aws-lakeformation-tagassociation.json" } }, "required": [ @@ -1885,9 +1887,9 @@ ], "additionalProperties": false }, - "AWS_IoT_DomainConfiguration": { + "AWS_ServiceCatalog_PortfolioProductAssociation": { "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 Type definition for AWS::ServiceCatalog::PortfolioProductAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html)", "allOf": [ { "type": "object", @@ -1895,18 +1897,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::DomainConfiguration" + "AWS::ServiceCatalog::PortfolioProductAssociation" ], "markdownEnumDescriptions": [ - "Create and manage a Domain Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.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-iot-domainconfiguration.json" + "$ref": "resources/aws-servicecatalog-portfolioproductassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -1915,9 +1918,9 @@ ], "additionalProperties": false }, - "AWS_S3_MultiRegionAccessPoint": { + "AWS_RedshiftServerless_Workgroup": { "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::RedshiftServerless::Workgroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-workgroup.html)", "allOf": [ { "type": "object", @@ -1925,14 +1928,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::MultiRegionAccessPoint" + "AWS::RedshiftServerless::Workgroup" ], "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::RedshiftServerless::Workgroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-workgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-multiregionaccesspoint.json" + "$ref": "resources/aws-redshiftserverless-workgroup.json" } }, "required": [ @@ -1946,9 +1949,9 @@ ], "additionalProperties": false }, - "AWS_EventSchemas_RegistryPolicy": { + "AWS_EC2_PlacementGroup": { "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::EC2::PlacementGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html)", "allOf": [ { "type": "object", @@ -1956,19 +1959,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EventSchemas::RegistryPolicy" + "AWS::EC2::PlacementGroup" ], "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::EC2::PlacementGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-eventschemas-registrypolicy.json" + "$ref": "resources/aws-ec2-placementgroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -1977,9 +1979,9 @@ ], "additionalProperties": false }, - "AWS_Connect_Queue": { + "AWS_AppStream_Stack": { "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": "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", @@ -1987,19 +1989,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::Queue" + "AWS::AppStream::Stack" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-queue.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-connect-queue.json" + "$ref": "resources/aws-appstream-stack.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2008,9 +2009,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_AutoScalingGroup": { + "AWS_QLDB_Ledger": { "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. They do not provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2. For more information, see [Launch configurations](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html) and [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 Type definition for AWS::QLDB::Ledger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html)", "allOf": [ { "type": "object", @@ -2018,14 +2019,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::AutoScalingGroup" + "AWS::QLDB::Ledger" ], "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. They do not provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2. For more information, see [Launch configurations](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html) and [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 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-autoscaling-autoscalinggroup.json" + "$ref": "resources/aws-qldb-ledger.json" } }, "required": [ @@ -2039,9 +2040,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_ADMChannel": { + "AWS_MSK_ClusterPolicy": { "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": "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", @@ -2049,14 +2050,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::ADMChannel" + "AWS::MSK::ClusterPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::ADMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.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-pinpoint-admchannel.json" + "$ref": "resources/aws-msk-clusterpolicy.json" } }, "required": [ @@ -2070,9 +2071,9 @@ ], "additionalProperties": false }, - "AWS_DMS_ReplicationConfig": { + "AWS_BillingConductor_BillingGroup": { "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": "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", @@ -2080,18 +2081,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::ReplicationConfig" + "AWS::BillingConductor::BillingGroup" ], "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)" + "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-dms-replicationconfig.json" + "$ref": "resources/aws-billingconductor-billinggroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2100,9 +2102,9 @@ ], "additionalProperties": false }, - "AWS_ECR_ReplicationConfiguration": { + "AWS_NetworkManager_Device": { "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": "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", @@ -2110,14 +2112,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::ReplicationConfiguration" + "AWS::NetworkManager::Device" ], "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)" + "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-ecr-replicationconfiguration.json" + "$ref": "resources/aws-networkmanager-device.json" } }, "required": [ @@ -2131,9 +2133,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Method": { + "AWS_DynamoDB_Table": { "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": "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)", "allOf": [ { "type": "object", @@ -2141,14 +2143,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Method" + "AWS::DynamoDB::Table" ], "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)" + "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)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-method.json" + "$ref": "resources/aws-dynamodb-table.json" } }, "required": [ @@ -2162,9 +2164,9 @@ ], "additionalProperties": false }, - "AWS_AccessAnalyzer_Analyzer": { + "AWS_Glue_SchemaVersion": { "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": "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", @@ -2172,14 +2174,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AccessAnalyzer::Analyzer" + "AWS::Glue::SchemaVersion" ], "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)" + "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-accessanalyzer-analyzer.json" + "$ref": "resources/aws-glue-schemaversion.json" } }, "required": [ @@ -2193,9 +2195,9 @@ ], "additionalProperties": false }, - "AWS_BillingConductor_PricingPlan": { + "AWS_CloudFront_KeyGroup": { "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": "Resource Type definition for AWS::CloudFront::KeyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html)", "allOf": [ { "type": "object", @@ -2203,14 +2205,14 @@ "Type": { "type": "string", "enum": [ - "AWS::BillingConductor::PricingPlan" + "AWS::CloudFront::KeyGroup" ], "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)" + "Resource Type definition for AWS::CloudFront::KeyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-billingconductor-pricingplan.json" + "$ref": "resources/aws-cloudfront-keygroup.json" } }, "required": [ @@ -2224,9 +2226,9 @@ ], "additionalProperties": false }, - "AWS_CloudTrail_ResourcePolicy": { + "AWS_GuardDuty_ThreatIntelSet": { "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::GuardDuty::ThreatIntelSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html)", "allOf": [ { "type": "object", @@ -2234,14 +2236,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudTrail::ResourcePolicy" + "AWS::GuardDuty::ThreatIntelSet" ], "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::GuardDuty::ThreatIntelSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudtrail-resourcepolicy.json" + "$ref": "resources/aws-guardduty-threatintelset.json" } }, "required": [ @@ -2255,9 +2257,9 @@ ], "additionalProperties": false }, - "AWS_DMS_ReplicationInstance": { + "AWS_DataZone_Environment": { "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": "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", @@ -2265,14 +2267,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::ReplicationInstance" + "AWS::DataZone::Environment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::ReplicationInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.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-dms-replicationinstance.json" + "$ref": "resources/aws-datazone-environment.json" } }, "required": [ @@ -2286,9 +2288,9 @@ ], "additionalProperties": false }, - "AWS_WAF_XssMatchSet": { + "AWS_EC2_ClientVpnRoute": { "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": "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", @@ -2296,14 +2298,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::XssMatchSet" + "AWS::EC2::ClientVpnRoute" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.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-waf-xssmatchset.json" + "$ref": "resources/aws-ec2-clientvpnroute.json" } }, "required": [ @@ -2317,9 +2319,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_FunctionConfiguration": { + "AWS_IoTFleetWise_SignalCatalog": { "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": "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", @@ -2327,19 +2329,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::FunctionConfiguration" + "AWS::IoTFleetWise::SignalCatalog" ], "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)" + "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-appsync-functionconfiguration.json" + "$ref": "resources/aws-iotfleetwise-signalcatalog.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2348,9 +2349,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Server": { + "AWS_RoboMaker_Fleet": { "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": "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", @@ -2358,14 +2359,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Server" + "AWS::RoboMaker::Fleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.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-transfer-server.json" + "$ref": "resources/aws-robomaker-fleet.json" } }, "required": [ @@ -2378,9 +2379,9 @@ ], "additionalProperties": false }, - "AWS_SES_ConfigurationSet": { + "AWS_ApiGateway_Method": { "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": "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", @@ -2388,18 +2389,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ConfigurationSet" + "AWS::ApiGateway::Method" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::SES::ConfigurationSet. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.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-ses-configurationset.json" + "$ref": "resources/aws-apigateway-method.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2408,9 +2410,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_SimulationApplicationVersion": { + "AWS_Cognito_UserPoolUserToGroupAttachment": { "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 AWS::Cognito::UserPoolUserToGroupAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html)", "allOf": [ { "type": "object", @@ -2418,14 +2420,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::SimulationApplicationVersion" + "AWS::Cognito::UserPoolUserToGroupAttachment" ], "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 AWS::Cognito::UserPoolUserToGroupAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-simulationapplicationversion.json" + "$ref": "resources/aws-cognito-userpoolusertogroupattachment.json" } }, "required": [ @@ -2439,9 +2441,9 @@ ], "additionalProperties": false }, - "AWS_FSx_StorageVirtualMachine": { + "AWS_B2BI_Capability": { "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::B2BI::Capability Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-capability.html)", "allOf": [ { "type": "object", @@ -2449,14 +2451,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::StorageVirtualMachine" + "AWS::B2BI::Capability" ], "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::B2BI::Capability Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-capability.html)" ] }, "Properties": { - "$ref": "resources/aws-fsx-storagevirtualmachine.json" + "$ref": "resources/aws-b2bi-capability.json" } }, "required": [ @@ -2470,9 +2472,9 @@ ], "additionalProperties": false }, - "AWS_Config_OrganizationConfigRule": { + "AWS_QBusiness_Index": { "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::QBusiness::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html)", "allOf": [ { "type": "object", @@ -2480,14 +2482,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::OrganizationConfigRule" + "AWS::QBusiness::Index" ], "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::QBusiness::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html)" ] }, "Properties": { - "$ref": "resources/aws-config-organizationconfigrule.json" + "$ref": "resources/aws-qbusiness-index.json" } }, "required": [ @@ -2501,9 +2503,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBParameterGroup": { + "AWS_SageMaker_Space": { "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::SageMaker::Space \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-space.html)", "allOf": [ { "type": "object", @@ -2511,14 +2513,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBParameterGroup" + "AWS::SageMaker::Space" ], "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::SageMaker::Space \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-space.html)" ] }, "Properties": { - "$ref": "resources/aws-neptune-dbparametergroup.json" + "$ref": "resources/aws-sagemaker-space.json" } }, "required": [ @@ -2532,9 +2534,9 @@ ], "additionalProperties": false }, - "AWS_Panorama_PackageVersion": { + "AWS_SupportApp_AccountAlias": { "type": "object", - "markdownDescription": "Schema for PackageVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-packageversion.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", @@ -2542,14 +2544,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Panorama::PackageVersion" + "AWS::SupportApp::AccountAlias" ], "markdownEnumDescriptions": [ - "Schema for PackageVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-packageversion.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-panorama-packageversion.json" + "$ref": "resources/aws-supportapp-accountalias.json" } }, "required": [ @@ -2563,9 +2565,9 @@ ], "additionalProperties": false }, - "AWS_KafkaConnect_WorkerConfiguration": { + "AWS_ServiceCatalog_PortfolioPrincipalAssociation": { "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": "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", @@ -2573,14 +2575,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KafkaConnect::WorkerConfiguration" + "AWS::ServiceCatalog::PortfolioPrincipalAssociation" ], "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)" + "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-kafkaconnect-workerconfiguration.json" + "$ref": "resources/aws-servicecatalog-portfolioprincipalassociation.json" } }, "required": [ @@ -2594,9 +2596,9 @@ ], "additionalProperties": false }, - "AWS_ElasticBeanstalk_ApplicationVersion": { + "AWS_ResourceExplorer2_DefaultViewAssociation": { "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": "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", @@ -2604,14 +2606,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticBeanstalk::ApplicationVersion" + "AWS::ResourceExplorer2::DefaultViewAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticBeanstalk::ApplicationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-applicationversion.html)" + "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-elasticbeanstalk-applicationversion.json" + "$ref": "resources/aws-resourceexplorer2-defaultviewassociation.json" } }, "required": [ @@ -2625,9 +2627,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_GlobalReplicationGroup": { + "AWS_Route53Profiles_ProfileAssociation": { "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": "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", @@ -2635,14 +2637,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::GlobalReplicationGroup" + "AWS::Route53Profiles::ProfileAssociation" ], "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)" + "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-elasticache-globalreplicationgroup.json" + "$ref": "resources/aws-route53profiles-profileassociation.json" } }, "required": [ @@ -2656,9 +2658,9 @@ ], "additionalProperties": false }, - "AWS_Proton_EnvironmentTemplate": { + "AWS_ApiGateway_Stage": { "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": "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", @@ -2666,18 +2668,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Proton::EnvironmentTemplate" + "AWS::ApiGateway::Stage" ], "markdownEnumDescriptions": [ - "Definition of AWS::Proton::EnvironmentTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmenttemplate.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-proton-environmenttemplate.json" + "$ref": "resources/aws-apigateway-stage.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2686,9 +2689,9 @@ ], "additionalProperties": false }, - "AWS_Timestream_Database": { + "AWS_Config_AggregationAuthorization": { "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": "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", @@ -2696,18 +2699,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Timestream::Database" + "AWS::Config::AggregationAuthorization" ], "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)" + "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-timestream-database.json" + "$ref": "resources/aws-config-aggregationauthorization.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2716,9 +2720,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCGatewayAttachment": { + "AWS_IAM_ServiceLinkedRole": { "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": "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", @@ -2726,19 +2730,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCGatewayAttachment" + "AWS::IAM::ServiceLinkedRole" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcgatewayattachment.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-ec2-vpcgatewayattachment.json" + "$ref": "resources/aws-iam-servicelinkedrole.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2747,9 +2750,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_Service": { + "AWS_ApiGateway_VpcLink": { "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)", + "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", @@ -2757,18 +2760,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::Service" + "AWS::ApiGateway::VpcLink" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.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-servicediscovery-service.json" + "$ref": "resources/aws-apigateway-vpclink.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2777,9 +2781,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolRiskConfigurationAttachment": { + "AWS_IoTSiteWise_AssetModel": { "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": "Resource schema for AWS::IoTSiteWise::AssetModel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html)", "allOf": [ { "type": "object", @@ -2787,14 +2791,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolRiskConfigurationAttachment" + "AWS::IoTSiteWise::AssetModel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolRiskConfigurationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.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-cognito-userpoolriskconfigurationattachment.json" + "$ref": "resources/aws-iotsitewise-assetmodel.json" } }, "required": [ @@ -2808,9 +2812,9 @@ ], "additionalProperties": false }, - "AWS_SNS_Subscription": { + "AWS_Detective_MemberInvitation": { "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 schema for AWS::Detective::MemberInvitation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html)", "allOf": [ { "type": "object", @@ -2818,14 +2822,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SNS::Subscription" + "AWS::Detective::MemberInvitation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SNS::Subscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.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-sns-subscription.json" + "$ref": "resources/aws-detective-memberinvitation.json" } }, "required": [ @@ -2839,9 +2843,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_Cluster": { + "AWS_Cognito_UserPoolUser": { "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": "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", @@ -2849,14 +2853,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::Cluster" + "AWS::Cognito::UserPoolUser" ], "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)" + "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-redshift-cluster.json" + "$ref": "resources/aws-cognito-userpooluser.json" } }, "required": [ @@ -2870,9 +2874,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_DataLakeSettings": { + "AWS_Deadline_Farm": { "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": "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", @@ -2880,18 +2884,19 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::DataLakeSettings" + "AWS::Deadline::Farm" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LakeFormation::DataLakeSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.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-lakeformation-datalakesettings.json" + "$ref": "resources/aws-deadline-farm.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2900,9 +2905,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Account": { + "AWS_DevOpsGuru_ResourceCollection": { "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": "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", @@ -2910,18 +2915,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Account" + "AWS::DevOpsGuru::ResourceCollection" ], "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)" + "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-apigateway-account.json" + "$ref": "resources/aws-devopsguru-resourcecollection.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2930,9 +2936,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Deployment": { + "AWS_SystemsManagerSAP_Application": { "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": "Resource schema for AWS::SystemsManagerSAP::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-systemsmanagersap-application.html)", "allOf": [ { "type": "object", @@ -2940,14 +2946,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Deployment" + "AWS::SystemsManagerSAP::Application" ], "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)" + "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-apigatewayv2-deployment.json" + "$ref": "resources/aws-systemsmanagersap-application.json" } }, "required": [ @@ -2961,9 +2967,9 @@ ], "additionalProperties": false }, - "AWS_Inspector_AssessmentTemplate": { + "AWS_DataBrew_Schedule": { "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": "Resource schema for AWS::DataBrew::Schedule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html)", "allOf": [ { "type": "object", @@ -2971,14 +2977,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Inspector::AssessmentTemplate" + "AWS::DataBrew::Schedule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Inspector::AssessmentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.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-inspector-assessmenttemplate.json" + "$ref": "resources/aws-databrew-schedule.json" } }, "required": [ @@ -2992,9 +2998,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelCard": { + "AWS_Logs_QueryDefinition": { "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": "The resource schema for AWSLogs QueryDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html)", "allOf": [ { "type": "object", @@ -3002,14 +3008,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelCard" + "AWS::Logs::QueryDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelCard. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelcard.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-sagemaker-modelcard.json" + "$ref": "resources/aws-logs-querydefinition.json" } }, "required": [ @@ -3023,9 +3029,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalytics_ApplicationReferenceDataSource": { + "AWS_Budgets_Budget": { "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": "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", @@ -3033,14 +3039,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + "AWS::Budgets::Budget" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalytics::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.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-kinesisanalytics-applicationreferencedatasource.json" + "$ref": "resources/aws-budgets-budget.json" } }, "required": [ @@ -3054,9 +3060,9 @@ ], "additionalProperties": false }, - "AWS_ConnectCampaigns_Campaign": { + "AWS_Evidently_Project": { "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::Evidently::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-project.html)", "allOf": [ { "type": "object", @@ -3064,14 +3070,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ConnectCampaigns::Campaign" + "AWS::Evidently::Project" ], "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::Evidently::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-project.html)" ] }, "Properties": { - "$ref": "resources/aws-connectcampaigns-campaign.json" + "$ref": "resources/aws-evidently-project.json" } }, "required": [ @@ -3085,9 +3091,9 @@ ], "additionalProperties": false }, - "AWS_Logs_QueryDefinition": { + "AWS_CodeStar_GitHubRepository": { "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::CodeStar::GitHubRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html)", "allOf": [ { "type": "object", @@ -3095,14 +3101,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::QueryDefinition" + "AWS::CodeStar::GitHubRepository" ], "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::CodeStar::GitHubRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-querydefinition.json" + "$ref": "resources/aws-codestar-githubrepository.json" } }, "required": [ @@ -3116,9 +3122,9 @@ ], "additionalProperties": false }, - "AWS_Connect_EvaluationForm": { + "AWS_CertificateManager_Certificate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::EvaluationForm \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-evaluationform.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", @@ -3126,14 +3132,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::EvaluationForm" + "AWS::CertificateManager::Certificate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::EvaluationForm \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-evaluationform.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-connect-evaluationform.json" + "$ref": "resources/aws-certificatemanager-certificate.json" } }, "required": [ @@ -3147,9 +3153,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_Domain": { + "AWS_IoT_ScheduledAudit": { "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": "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", @@ -3157,14 +3163,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::Domain" + "AWS::IoT::ScheduledAudit" ], "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)" + "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-datazone-domain.json" + "$ref": "resources/aws-iot-scheduledaudit.json" } }, "required": [ @@ -3178,9 +3184,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayVpcAttachment": { + "AWS_ApiGateway_DocumentationPart": { "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": "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", @@ -3188,14 +3194,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayVpcAttachment" + "AWS::ApiGateway::DocumentationPart" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayVpcAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.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-ec2-transitgatewayvpcattachment.json" + "$ref": "resources/aws-apigateway-documentationpart.json" } }, "required": [ @@ -3209,9 +3215,9 @@ ], "additionalProperties": false }, - "AWS_Chatbot_MicrosoftTeamsChannelConfiguration": { + "AWS_EntityResolution_IdMappingWorkflow": { "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": "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", @@ -3219,14 +3225,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Chatbot::MicrosoftTeamsChannelConfiguration" + "AWS::EntityResolution::IdMappingWorkflow" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Chatbot::MicrosoftTeamsChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.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-chatbot-microsoftteamschannelconfiguration.json" + "$ref": "resources/aws-entityresolution-idmappingworkflow.json" } }, "required": [ @@ -3240,9 +3246,9 @@ ], "additionalProperties": false }, - "AWS_Athena_NamedQuery": { + "AWS_KinesisAnalyticsV2_ApplicationOutput": { "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::KinesisAnalyticsV2::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html)", "allOf": [ { "type": "object", @@ -3250,14 +3256,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::NamedQuery" + "AWS::KinesisAnalyticsV2::ApplicationOutput" ], "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::KinesisAnalyticsV2::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html)" ] }, "Properties": { - "$ref": "resources/aws-athena-namedquery.json" + "$ref": "resources/aws-kinesisanalyticsv2-applicationoutput.json" } }, "required": [ @@ -3271,9 +3277,9 @@ ], "additionalProperties": false }, - "AWS_EventSchemas_Discoverer": { + "AWS_Lambda_Alias": { "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::Lambda::Alias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html)", "allOf": [ { "type": "object", @@ -3281,14 +3287,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EventSchemas::Discoverer" + "AWS::Lambda::Alias" ], "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::Lambda::Alias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html)" ] }, "Properties": { - "$ref": "resources/aws-eventschemas-discoverer.json" + "$ref": "resources/aws-lambda-alias.json" } }, "required": [ @@ -3302,9 +3308,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_PortfolioShare": { + "AWS_Route53Resolver_ResolverDNSSECConfig": { "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": "Resource schema for AWS::Route53Resolver::ResolverDNSSECConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverdnssecconfig.html)", "allOf": [ { "type": "object", @@ -3312,19 +3318,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::PortfolioShare" + "AWS::Route53Resolver::ResolverDNSSECConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::PortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.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-servicecatalog-portfolioshare.json" + "$ref": "resources/aws-route53resolver-resolverdnssecconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -3333,9 +3338,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Schedule": { + "AWS_Config_RemediationConfiguration": { "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 Type definition for AWS::Config::RemediationConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html)", "allOf": [ { "type": "object", @@ -3343,14 +3348,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Schedule" + "AWS::Config::RemediationConfiguration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Schedule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.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-databrew-schedule.json" + "$ref": "resources/aws-config-remediationconfiguration.json" } }, "required": [ @@ -3364,9 +3369,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_IdentityPool": { + "AWS_Chatbot_MicrosoftTeamsChannelConfiguration": { "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 schema for AWS::Chatbot::MicrosoftTeamsChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html)", "allOf": [ { "type": "object", @@ -3374,14 +3379,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::IdentityPool" + "AWS::Chatbot::MicrosoftTeamsChannelConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::IdentityPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.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-cognito-identitypool.json" + "$ref": "resources/aws-chatbot-microsoftteamschannelconfiguration.json" } }, "required": [ @@ -3395,9 +3400,9 @@ ], "additionalProperties": false }, - "AWS_OSIS_Pipeline": { + "AWS_Cognito_UserPoolUICustomizationAttachment": { "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": "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", @@ -3405,14 +3410,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OSIS::Pipeline" + "AWS::Cognito::UserPoolUICustomizationAttachment" ], "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)" + "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-osis-pipeline.json" + "$ref": "resources/aws-cognito-userpooluicustomizationattachment.json" } }, "required": [ @@ -3426,9 +3431,9 @@ ], "additionalProperties": false }, - "AWS_S3_StorageLensGroup": { + "AWS_AppConfig_DeploymentStrategy": { "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::AppConfig::DeploymentStrategy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html)", "allOf": [ { "type": "object", @@ -3436,14 +3441,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::StorageLensGroup" + "AWS::AppConfig::DeploymentStrategy" ], "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::AppConfig::DeploymentStrategy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-storagelensgroup.json" + "$ref": "resources/aws-appconfig-deploymentstrategy.json" } }, "required": [ @@ -3457,9 +3462,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_UserAccessLoggingSettings": { + "AWS_CodeArtifact_Domain": { "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": "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", @@ -3467,14 +3472,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::UserAccessLoggingSettings" + "AWS::CodeArtifact::Domain" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::UserAccessLoggingSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-useraccessloggingsettings.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-workspacesweb-useraccessloggingsettings.json" + "$ref": "resources/aws-codeartifact-domain.json" } }, "required": [ @@ -3488,9 +3493,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_Bridge": { + "AWS_Glue_Database": { "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": "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", @@ -3498,14 +3503,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::Bridge" + "AWS::Glue::Database" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::Bridge \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.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-mediaconnect-bridge.json" + "$ref": "resources/aws-glue-database.json" } }, "required": [ @@ -3519,9 +3524,9 @@ ], "additionalProperties": false }, - "AWS_B2BI_Profile": { + "AWS_RDS_DBSecurityGroupIngress": { "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 Type definition for AWS::RDS::DBSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html)", "allOf": [ { "type": "object", @@ -3529,14 +3534,14 @@ "Type": { "type": "string", "enum": [ - "AWS::B2BI::Profile" + "AWS::RDS::DBSecurityGroupIngress" ], "markdownEnumDescriptions": [ - "Definition of AWS::B2BI::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.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-b2bi-profile.json" + "$ref": "resources/aws-rds-dbsecuritygroupingress.json" } }, "required": [ @@ -3550,9 +3555,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalyticsV2_ApplicationCloudWatchLoggingOption": { + "AWS_SageMaker_Domain": { "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": "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", @@ -3560,14 +3565,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + "AWS::SageMaker::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.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-kinesisanalyticsv2-applicationcloudwatchloggingoption.json" + "$ref": "resources/aws-sagemaker-domain.json" } }, "required": [ @@ -3581,9 +3586,9 @@ ], "additionalProperties": false }, - "AWS_XRay_Group": { + "AWS_B2BI_Partnership": { "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": "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", @@ -3591,14 +3596,14 @@ "Type": { "type": "string", "enum": [ - "AWS::XRay::Group" + "AWS::B2BI::Partnership" ], "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)" + "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-xray-group.json" + "$ref": "resources/aws-b2bi-partnership.json" } }, "required": [ @@ -3612,9 +3617,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Alias": { + "AWS_Bedrock_KnowledgeBase": { "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": "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", @@ -3622,14 +3627,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Alias" + "AWS::Bedrock::KnowledgeBase" ], "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)" + "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-gamelift-alias.json" + "$ref": "resources/aws-bedrock-knowledgebase.json" } }, "required": [ @@ -3643,9 +3648,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_Membership": { + "AWS_PinpointEmail_Identity": { "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 Type definition for AWS::PinpointEmail::Identity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html)", "allOf": [ { "type": "object", @@ -3653,14 +3658,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::Membership" + "AWS::PinpointEmail::Identity" ], "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 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-cleanrooms-membership.json" + "$ref": "resources/aws-pinpointemail-identity.json" } }, "required": [ @@ -3674,9 +3679,9 @@ ], "additionalProperties": false }, - "AWS_DocDBElastic_Cluster": { + "AWS_ApiGatewayV2_Model": { "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": "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", @@ -3684,14 +3689,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDBElastic::Cluster" + "AWS::ApiGatewayV2::Model" ], "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)" + "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-docdbelastic-cluster.json" + "$ref": "resources/aws-apigatewayv2-model.json" } }, "required": [ @@ -3705,9 +3710,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Analysis": { + "AWS_Athena_PreparedStatement": { "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": "Resource schema for AWS::Athena::PreparedStatement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html)", "allOf": [ { "type": "object", @@ -3715,14 +3720,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Analysis" + "AWS::Athena::PreparedStatement" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Analysis Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.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-quicksight-analysis.json" + "$ref": "resources/aws-athena-preparedstatement.json" } }, "required": [ @@ -3736,9 +3741,9 @@ ], "additionalProperties": false }, - "AWS_MSK_ServerlessCluster": { + "AWS_Lambda_LayerVersion": { "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": "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", @@ -3746,14 +3751,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::ServerlessCluster" + "AWS::Lambda::LayerVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::ServerlessCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-serverlesscluster.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-msk-serverlesscluster.json" + "$ref": "resources/aws-lambda-layerversion.json" } }, "required": [ @@ -3767,9 +3772,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SnapshotBlockPublicAccess": { + "AWS_RedshiftServerless_Namespace": { "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": "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", @@ -3777,14 +3782,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SnapshotBlockPublicAccess" + "AWS::RedshiftServerless::Namespace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.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-ec2-snapshotblockpublicaccess.json" + "$ref": "resources/aws-redshiftserverless-namespace.json" } }, "required": [ @@ -3798,9 +3803,9 @@ ], "additionalProperties": false }, - "AWS_ECS_CapacityProvider": { + "AWS_EC2_CapacityReservationFleet": { "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": "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", @@ -3808,19 +3813,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::CapacityProvider" + "AWS::EC2::CapacityReservationFleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ECS::CapacityProvider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.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-ecs-capacityprovider.json" + "$ref": "resources/aws-ec2-capacityreservationfleet.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -3829,9 +3833,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelPackage": { + "AWS_Connect_HoursOfOperation": { "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::Connect::HoursOfOperation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-hoursofoperation.html)", "allOf": [ { "type": "object", @@ -3839,18 +3843,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelPackage" + "AWS::Connect::HoursOfOperation" ], "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::Connect::HoursOfOperation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-hoursofoperation.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelpackage.json" + "$ref": "resources/aws-connect-hoursofoperation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -3859,9 +3864,9 @@ ], "additionalProperties": false }, - "AWS_Omics_SequenceStore": { + "AWS_Events_Rule": { "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": "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", @@ -3869,19 +3874,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::SequenceStore" + "AWS::Events::Rule" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::SequenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.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-omics-sequencestore.json" + "$ref": "resources/aws-events-rule.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -3890,9 +3894,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_StackUserAssociation": { + "AWS_WorkSpacesWeb_IpAccessSettings": { "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": "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", @@ -3900,14 +3904,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::StackUserAssociation" + "AWS::WorkSpacesWeb::IpAccessSettings" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::StackUserAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.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-appstream-stackuserassociation.json" + "$ref": "resources/aws-workspacesweb-ipaccesssettings.json" } }, "required": [ @@ -3921,9 +3925,9 @@ ], "additionalProperties": false }, - "AWS_SQS_QueueInlinePolicy": { + "AWS_CleanRooms_ConfiguredTable": { "type": "object", - "markdownDescription": "Schema for SQS QueueInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html)", + "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", @@ -3931,14 +3935,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SQS::QueueInlinePolicy" + "AWS::CleanRooms::ConfiguredTable" ], "markdownEnumDescriptions": [ - "Schema for SQS QueueInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html)" + "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-sqs-queueinlinepolicy.json" + "$ref": "resources/aws-cleanrooms-configuredtable.json" } }, "required": [ @@ -3952,9 +3956,9 @@ ], "additionalProperties": false }, - "AWS_B2BI_Transformer": { + "AWS_CloudFormation_StackSet": { "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": "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", @@ -3962,14 +3966,14 @@ "Type": { "type": "string", "enum": [ - "AWS::B2BI::Transformer" + "AWS::CloudFormation::StackSet" ], "markdownEnumDescriptions": [ - "Definition of AWS::B2BI::Transformer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.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-b2bi-transformer.json" + "$ref": "resources/aws-cloudformation-stackset.json" } }, "required": [ @@ -3983,9 +3987,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_Listener": { + "AWS_CleanRoomsML_TrainingDataset": { "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": "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", @@ -3993,14 +3997,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::Listener" + "AWS::CleanRoomsML::TrainingDataset" ], "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)" + "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-vpclattice-listener.json" + "$ref": "resources/aws-cleanroomsml-trainingdataset.json" } }, "required": [ @@ -4014,9 +4018,9 @@ ], "additionalProperties": false }, - "AWS_EC2_DHCPOptions": { + "AWS_AmazonMQ_Broker": { "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": "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", @@ -4024,18 +4028,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::DHCPOptions" + "AWS::AmazonMQ::Broker" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::DHCPOptions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.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-ec2-dhcpoptions.json" + "$ref": "resources/aws-amazonmq-broker.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -4044,9 +4049,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelExplainabilityJobDefinition": { + "AWS_Lex_ResourcePolicy": { "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": "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", @@ -4054,14 +4059,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelExplainabilityJobDefinition" + "AWS::Lex::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelExplainabilityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.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-sagemaker-modelexplainabilityjobdefinition.json" + "$ref": "resources/aws-lex-resourcepolicy.json" } }, "required": [ @@ -4075,9 +4080,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Deployment": { + "AWS_Macie_FindingsFilter": { "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": "Macie FindingsFilter resource schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html)", "allOf": [ { "type": "object", @@ -4085,14 +4090,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Deployment" + "AWS::Macie::FindingsFilter" ], "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)" + "Macie FindingsFilter resource schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-deployment.json" + "$ref": "resources/aws-macie-findingsfilter.json" } }, "required": [ @@ -4106,9 +4111,9 @@ ], "additionalProperties": false }, - "AWS_Connect_Prompt": { + "AWS_Config_OrganizationConfigRule": { "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": "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", @@ -4116,14 +4121,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::Prompt" + "AWS::Config::OrganizationConfigRule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::Prompt \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-prompt.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-connect-prompt.json" + "$ref": "resources/aws-config-organizationconfigrule.json" } }, "required": [ @@ -4137,9 +4142,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelBiasJobDefinition": { + "AWS_AppSync_ApiKey": { "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::AppSync::ApiKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html)", "allOf": [ { "type": "object", @@ -4147,14 +4152,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelBiasJobDefinition" + "AWS::AppSync::ApiKey" ], "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::AppSync::ApiKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelbiasjobdefinition.json" + "$ref": "resources/aws-appsync-apikey.json" } }, "required": [ @@ -4168,9 +4173,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_NetworkAnalyzerConfiguration": { + "AWS_Pinpoint_SmsTemplate": { "type": "object", - "markdownDescription": "Create and manage NetworkAnalyzerConfiguration resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-networkanalyzerconfiguration.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", @@ -4178,14 +4183,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::NetworkAnalyzerConfiguration" + "AWS::Pinpoint::SmsTemplate" ], "markdownEnumDescriptions": [ - "Create and manage NetworkAnalyzerConfiguration resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-networkanalyzerconfiguration.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-iotwireless-networkanalyzerconfiguration.json" + "$ref": "resources/aws-pinpoint-smstemplate.json" } }, "required": [ @@ -4199,9 +4204,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_PackagingGroup": { + "AWS_Pinpoint_BaiduChannel": { "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::Pinpoint::BaiduChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html)", "allOf": [ { "type": "object", @@ -4209,14 +4214,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::PackagingGroup" + "AWS::Pinpoint::BaiduChannel" ], "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::Pinpoint::BaiduChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackage-packaginggroup.json" + "$ref": "resources/aws-pinpoint-baiduchannel.json" } }, "required": [ @@ -4230,9 +4235,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_VodSource": { + "AWS_IoT_Thing": { "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::IoT::Thing \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html)", "allOf": [ { "type": "object", @@ -4240,19 +4245,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::VodSource" + "AWS::IoT::Thing" ], "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::IoT::Thing \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html)" ] }, "Properties": { - "$ref": "resources/aws-mediatailor-vodsource.json" + "$ref": "resources/aws-iot-thing.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4261,9 +4265,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalyticsV2_ApplicationOutput": { + "AWS_Pinpoint_APNSChannel": { "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": "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", @@ -4271,14 +4275,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationOutput" + "AWS::Pinpoint::APNSChannel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.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-kinesisanalyticsv2-applicationoutput.json" + "$ref": "resources/aws-pinpoint-apnschannel.json" } }, "required": [ @@ -4292,9 +4296,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Model": { + "AWS_GameLift_GameSessionQueue": { "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::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", @@ -4302,14 +4306,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Model" + "AWS::GameLift::GameSessionQueue" ], "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::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-apigateway-model.json" + "$ref": "resources/aws-gamelift-gamesessionqueue.json" } }, "required": [ @@ -4323,9 +4327,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalytics_ApplicationOutput": { + "AWS_IoTAnalytics_Dataset": { "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": "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", @@ -4333,14 +4337,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalytics::ApplicationOutput" + "AWS::IoTAnalytics::Dataset" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalytics::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.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-kinesisanalytics-applicationoutput.json" + "$ref": "resources/aws-iotanalytics-dataset.json" } }, "required": [ @@ -4354,9 +4358,9 @@ ], "additionalProperties": false }, - "AWS_IVS_EncoderConfiguration": { + "AWS_CloudFormation_Macro": { "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": "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", @@ -4364,18 +4368,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::EncoderConfiguration" + "AWS::CloudFormation::Macro" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::EncoderConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.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-ivs-encoderconfiguration.json" + "$ref": "resources/aws-cloudformation-macro.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -4384,9 +4389,9 @@ ], "additionalProperties": false }, - "AWS_KafkaConnect_Connector": { + "AWS_ManagedBlockchain_Node": { "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": "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", @@ -4394,14 +4399,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KafkaConnect::Connector" + "AWS::ManagedBlockchain::Node" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KafkaConnect::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.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-kafkaconnect-connector.json" + "$ref": "resources/aws-managedblockchain-node.json" } }, "required": [ @@ -4415,9 +4420,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_DBInstance": { + "AWS_DataZone_SubscriptionTarget": { "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": "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", @@ -4425,14 +4430,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::DBInstance" + "AWS::DataZone::SubscriptionTarget" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.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-docdb-dbinstance.json" + "$ref": "resources/aws-datazone-subscriptiontarget.json" } }, "required": [ @@ -4446,9 +4451,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_Image": { + "AWS_ApiGatewayV2_IntegrationResponse": { "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": "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", @@ -4456,18 +4461,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::Image" + "AWS::ApiGatewayV2::IntegrationResponse" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.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-imagebuilder-image.json" + "$ref": "resources/aws-apigatewayv2-integrationresponse.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -4476,9 +4482,9 @@ ], "additionalProperties": false }, - "AWS_Config_AggregationAuthorization": { + "AWS_ServiceCatalog_Portfolio": { "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": "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", @@ -4486,14 +4492,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::AggregationAuthorization" + "AWS::ServiceCatalog::Portfolio" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::AggregationAuthorization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.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-config-aggregationauthorization.json" + "$ref": "resources/aws-servicecatalog-portfolio.json" } }, "required": [ @@ -4507,9 +4513,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_Stack": { + "AWS_ConnectCampaigns_Campaign": { "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": "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", @@ -4517,14 +4523,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::Stack" + "AWS::ConnectCampaigns::Campaign" ], "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)" + "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-cloudformation-stack.json" + "$ref": "resources/aws-connectcampaigns-campaign.json" } }, "required": [ @@ -4538,9 +4544,9 @@ ], "additionalProperties": false }, - "AWS_SSM_Parameter": { + "AWS_IoTFleetWise_ModelManifest": { "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": "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", @@ -4548,14 +4554,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::Parameter" + "AWS::IoTFleetWise::ModelManifest" ], "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)" + "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-ssm-parameter.json" + "$ref": "resources/aws-iotfleetwise-modelmanifest.json" } }, "required": [ @@ -4569,9 +4575,9 @@ ], "additionalProperties": false }, - "AWS_IoTAnalytics_Channel": { + "AWS_WorkSpaces_ConnectionAlias": { "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": "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", @@ -4579,18 +4585,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTAnalytics::Channel" + "AWS::WorkSpaces::ConnectionAlias" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTAnalytics::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.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-iotanalytics-channel.json" + "$ref": "resources/aws-workspaces-connectionalias.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -4599,9 +4606,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_SyncJob": { + "AWS_CloudFront_PublicKey": { "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": "Resource Type definition for AWS::CloudFront::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html)", "allOf": [ { "type": "object", @@ -4609,14 +4616,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::SyncJob" + "AWS::CloudFront::PublicKey" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::SyncJob \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-syncjob.html)" + "Resource Type definition for AWS::CloudFront::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html)" ] }, "Properties": { - "$ref": "resources/aws-iottwinmaker-syncjob.json" + "$ref": "resources/aws-cloudfront-publickey.json" } }, "required": [ @@ -4630,9 +4637,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Resource": { + "AWS_MediaConnect_Flow": { "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": "Resource schema for AWS::MediaConnect::Flow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html)", "allOf": [ { "type": "object", @@ -4640,14 +4647,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Resource" + "AWS::MediaConnect::Flow" ], "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)" + "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-apigateway-resource.json" + "$ref": "resources/aws-mediaconnect-flow.json" } }, "required": [ @@ -4661,9 +4668,9 @@ ], "additionalProperties": false }, - "AWS_Config_DeliveryChannel": { + "AWS_EC2_TransitGatewayRouteTablePropagation": { "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": "AWS::EC2::TransitGatewayRouteTablePropagation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html)", "allOf": [ { "type": "object", @@ -4671,14 +4678,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::DeliveryChannel" + "AWS::EC2::TransitGatewayRouteTablePropagation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::DeliveryChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html)" + "AWS::EC2::TransitGatewayRouteTablePropagation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html)" ] }, "Properties": { - "$ref": "resources/aws-config-deliverychannel.json" + "$ref": "resources/aws-ec2-transitgatewayroutetablepropagation.json" } }, "required": [ @@ -4692,9 +4699,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolDomain": { + "AWS_NetworkManager_TransitGatewayRegistration": { "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": "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", @@ -4702,14 +4709,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolDomain" + "AWS::NetworkManager::TransitGatewayRegistration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolDomain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.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-cognito-userpooldomain.json" + "$ref": "resources/aws-networkmanager-transitgatewayregistration.json" } }, "required": [ @@ -4723,9 +4730,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_Label": { + "AWS_PaymentCryptography_Key": { "type": "object", - "markdownDescription": "An label for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-label.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", @@ -4733,14 +4740,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::Label" + "AWS::PaymentCryptography::Key" ], "markdownEnumDescriptions": [ - "An label for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-label.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-frauddetector-label.json" + "$ref": "resources/aws-paymentcryptography-key.json" } }, "required": [ @@ -4754,9 +4761,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_RequestValidator": { + "AWS_ServiceCatalog_CloudFormationProduct": { "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::ServiceCatalog::CloudFormationProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html)", "allOf": [ { "type": "object", @@ -4764,14 +4771,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::RequestValidator" + "AWS::ServiceCatalog::CloudFormationProduct" ], "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::ServiceCatalog::CloudFormationProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-requestvalidator.json" + "$ref": "resources/aws-servicecatalog-cloudformationproduct.json" } }, "required": [ @@ -4785,9 +4792,9 @@ ], "additionalProperties": false }, - "AWS_Logs_Delivery": { + "AWS_IoTAnalytics_Channel": { "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": "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", @@ -4795,19 +4802,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::Delivery" + "AWS::IoTAnalytics::Channel" ], "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)" + "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-logs-delivery.json" + "$ref": "resources/aws-iotanalytics-channel.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4816,9 +4822,9 @@ ], "additionalProperties": false }, - "AWS_MSK_Cluster": { + "AWS_EC2_EC2Fleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.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", @@ -4826,14 +4832,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::Cluster" + "AWS::EC2::EC2Fleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.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-msk-cluster.json" + "$ref": "resources/aws-ec2-ec2fleet.json" } }, "required": [ @@ -4847,9 +4853,9 @@ ], "additionalProperties": false }, - "AWS_Forecast_DatasetGroup": { + "AWS_EntityResolution_IdNamespace": { "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": "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", @@ -4857,14 +4863,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Forecast::DatasetGroup" + "AWS::EntityResolution::IdNamespace" ], "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)" + "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-forecast-datasetgroup.json" + "$ref": "resources/aws-entityresolution-idnamespace.json" } }, "required": [ @@ -4878,9 +4884,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_Resolver": { + "AWS_ECS_Service": { "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": "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 Amazon ECS Service Connect ``ServiceConnectService`` 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", @@ -4888,19 +4894,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::Resolver" + "AWS::ECS::Service" ], "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)" + "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 Amazon ECS Service Connect ``ServiceConnectService`` 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-appsync-resolver.json" + "$ref": "resources/aws-ecs-service.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4909,9 +4914,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_CustomResource": { + "AWS_GroundStation_MissionProfile": { "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": "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", @@ -4919,14 +4924,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::CustomResource" + "AWS::GroundStation::MissionProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFormation::CustomResource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-customresource.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-cloudformation-customresource.json" + "$ref": "resources/aws-groundstation-missionprofile.json" } }, "required": [ @@ -4940,9 +4945,9 @@ ], "additionalProperties": false }, - "AWS_Inspector_ResourceGroup": { + "AWS_IoT_FleetMetric": { "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": "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", @@ -4950,14 +4955,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Inspector::ResourceGroup" + "AWS::IoT::FleetMetric" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Inspector::ResourceGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.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-inspector-resourcegroup.json" + "$ref": "resources/aws-iot-fleetmetric.json" } }, "required": [ @@ -4971,9 +4976,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_PolicyStatement": { + "AWS_Transfer_Agreement": { "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": "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", @@ -4981,14 +4986,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::PolicyStatement" + "AWS::Transfer::Agreement" ], "markdownEnumDescriptions": [ - "Policy Statement defined in AWS Entity Resolution Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.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-entityresolution-policystatement.json" + "$ref": "resources/aws-transfer-agreement.json" } }, "required": [ @@ -5002,9 +5007,9 @@ ], "additionalProperties": false }, - "AWS_CodeBuild_Project": { + "AWS_NetworkManager_LinkAssociation": { "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": "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", @@ -5012,14 +5017,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeBuild::Project" + "AWS::NetworkManager::LinkAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeBuild::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.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-codebuild-project.json" + "$ref": "resources/aws-networkmanager-linkassociation.json" } }, "required": [ @@ -5033,9 +5038,9 @@ ], "additionalProperties": false }, - "AWS_VerifiedPermissions_IdentitySource": { + "AWS_RAM_Permission": { "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": "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", @@ -5043,14 +5048,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VerifiedPermissions::IdentitySource" + "AWS::RAM::Permission" ], "markdownEnumDescriptions": [ - "Definition of AWS::VerifiedPermissions::IdentitySource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-identitysource.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-verifiedpermissions-identitysource.json" + "$ref": "resources/aws-ram-permission.json" } }, "required": [ @@ -5064,9 +5069,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_DataCellsFilter": { + "AWS_IoTAnalytics_Pipeline": { "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::IoTAnalytics::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html)", "allOf": [ { "type": "object", @@ -5074,14 +5079,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::DataCellsFilter" + "AWS::IoTAnalytics::Pipeline" ], "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::IoTAnalytics::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-datacellsfilter.json" + "$ref": "resources/aws-iotanalytics-pipeline.json" } }, "required": [ @@ -5095,9 +5100,9 @@ ], "additionalProperties": false }, - "AWS_IoT_SecurityProfile": { + "AWS_S3_AccessGrantsInstance": { "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": "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", @@ -5105,14 +5110,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::SecurityProfile" + "AWS::S3::AccessGrantsInstance" ], "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)" + "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-iot-securityprofile.json" + "$ref": "resources/aws-s3-accessgrantsinstance.json" } }, "required": [ @@ -5125,9 +5130,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_Cluster": { + "AWS_IoTWireless_ServiceProfile": { "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": "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", @@ -5135,19 +5140,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::Cluster" + "AWS::IoTWireless::ServiceProfile" ], "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)" + "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-memorydb-cluster.json" + "$ref": "resources/aws-iotwireless-serviceprofile.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5156,9 +5160,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Launch": { + "AWS_APS_Scraper": { "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": "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", @@ -5166,14 +5170,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Launch" + "AWS::APS::Scraper" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Launch. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-launch.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-evidently-launch.json" + "$ref": "resources/aws-aps-scraper.json" } }, "required": [ @@ -5187,9 +5191,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_PushTemplate": { + "AWS_ServiceCatalog_AcceptedPortfolioShare": { "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 Type definition for AWS::ServiceCatalog::AcceptedPortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html)", "allOf": [ { "type": "object", @@ -5197,14 +5201,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::PushTemplate" + "AWS::ServiceCatalog::AcceptedPortfolioShare" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::PushTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.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-pinpoint-pushtemplate.json" + "$ref": "resources/aws-servicecatalog-acceptedportfolioshare.json" } }, "required": [ @@ -5218,9 +5222,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_Filter": { + "AWS_QLDB_Stream": { "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": "Resource schema for AWS::QLDB::Stream. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html)", "allOf": [ { "type": "object", @@ -5228,14 +5232,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::Filter" + "AWS::QLDB::Stream" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::Filter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.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-guardduty-filter.json" + "$ref": "resources/aws-qldb-stream.json" } }, "required": [ @@ -5249,9 +5253,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_VirtualGateway": { + "AWS_SES_VdmAttributes": { "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": "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", @@ -5259,19 +5263,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::VirtualGateway" + "AWS::SES::VdmAttributes" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::VirtualGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.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-appmesh-virtualgateway.json" + "$ref": "resources/aws-ses-vdmattributes.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5280,9 +5283,9 @@ ], "additionalProperties": false }, - "AWS_BillingConductor_CustomLineItem": { + "AWS_DataZone_ProjectMembership": { "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::DataZone::ProjectMembership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectmembership.html)", "allOf": [ { "type": "object", @@ -5290,14 +5293,14 @@ "Type": { "type": "string", "enum": [ - "AWS::BillingConductor::CustomLineItem" + "AWS::DataZone::ProjectMembership" ], "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::DataZone::ProjectMembership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectmembership.html)" ] }, "Properties": { - "$ref": "resources/aws-billingconductor-customlineitem.json" + "$ref": "resources/aws-datazone-projectmembership.json" } }, "required": [ @@ -5311,9 +5314,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_AgentAlias": { + "AWS_Redshift_ClusterSecurityGroupIngress": { "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::Redshift::ClusterSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html)", "allOf": [ { "type": "object", @@ -5321,14 +5324,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::AgentAlias" + "AWS::Redshift::ClusterSecurityGroupIngress" ], "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::Redshift::ClusterSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-agentalias.json" + "$ref": "resources/aws-redshift-clustersecuritygroupingress.json" } }, "required": [ @@ -5342,9 +5345,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_FuotaTask": { + "AWS_XRay_SamplingRule": { "type": "object", - "markdownDescription": "Create and manage FUOTA tasks. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-fuotatask.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", @@ -5352,19 +5355,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::FuotaTask" + "AWS::XRay::SamplingRule" ], "markdownEnumDescriptions": [ - "Create and manage FUOTA tasks. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-fuotatask.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-iotwireless-fuotatask.json" + "$ref": "resources/aws-xray-samplingrule.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5373,9 +5375,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_LogDeliveryConfiguration": { + "AWS_ServiceCatalogAppRegistry_ResourceAssociation": { "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": "Resource Schema for AWS::ServiceCatalogAppRegistry::ResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html)", "allOf": [ { "type": "object", @@ -5383,14 +5385,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::LogDeliveryConfiguration" + "AWS::ServiceCatalogAppRegistry::ResourceAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::LogDeliveryConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.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-cognito-logdeliveryconfiguration.json" + "$ref": "resources/aws-servicecatalogappregistry-resourceassociation.json" } }, "required": [ @@ -5404,9 +5406,9 @@ ], "additionalProperties": false }, - "AWS_NimbleStudio_StudioComponent": { + "AWS_EC2_Instance": { "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": "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", @@ -5414,19 +5416,18 @@ "Type": { "type": "string", "enum": [ - "AWS::NimbleStudio::StudioComponent" + "AWS::EC2::Instance" ], "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)" + "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-nimblestudio-studiocomponent.json" + "$ref": "resources/aws-ec2-instance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5435,9 +5436,9 @@ ], "additionalProperties": false }, - "AWS_Connect_QuickConnect": { + "AWS_EC2_SubnetCidrBlock": { "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": "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", @@ -5445,14 +5446,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::QuickConnect" + "AWS::EC2::SubnetCidrBlock" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::QuickConnect \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-quickconnect.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-connect-quickconnect.json" + "$ref": "resources/aws-ec2-subnetcidrblock.json" } }, "required": [ @@ -5466,9 +5467,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_GCMChannel": { + "AWS_WAFv2_IPSet": { "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": "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", @@ -5476,14 +5477,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::GCMChannel" + "AWS::WAFv2::IPSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::GCMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.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-pinpoint-gcmchannel.json" + "$ref": "resources/aws-wafv2-ipset.json" } }, "required": [ @@ -5497,9 +5498,9 @@ ], "additionalProperties": false }, - "AWS_Shield_Protection": { + "AWS_Redshift_EventSubscription": { "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": "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", @@ -5507,14 +5508,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Shield::Protection" + "AWS::Redshift::EventSubscription" ], "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)" + "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-shield-protection.json" + "$ref": "resources/aws-redshift-eventsubscription.json" } }, "required": [ @@ -5528,9 +5529,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_HookVersion": { + "AWS_EC2_VPCEndpointService": { "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": "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", @@ -5538,19 +5539,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::HookVersion" + "AWS::EC2::VPCEndpointService" ], "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)" + "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-cloudformation-hookversion.json" + "$ref": "resources/aws-ec2-vpcendpointservice.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5559,9 +5559,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_OriginEndpoint": { + "AWS_KafkaConnect_CustomPlugin": { "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": "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", @@ -5569,14 +5569,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::OriginEndpoint" + "AWS::KafkaConnect::CustomPlugin" ], "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)" + "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-mediapackagev2-originendpoint.json" + "$ref": "resources/aws-kafkaconnect-customplugin.json" } }, "required": [ @@ -5590,9 +5590,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_ApiGatewayManagedOverrides": { + "AWS_LaunchWizard_Deployment": { "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::LaunchWizard::Deployment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-launchwizard-deployment.html)", "allOf": [ { "type": "object", @@ -5600,14 +5600,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + "AWS::LaunchWizard::Deployment" ], "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::LaunchWizard::Deployment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-launchwizard-deployment.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-apigatewaymanagedoverrides.json" + "$ref": "resources/aws-launchwizard-deployment.json" } }, "required": [ @@ -5621,9 +5621,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Dashboard": { + "AWS_ElastiCache_GlobalReplicationGroup": { "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": "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", @@ -5631,14 +5631,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Dashboard" + "AWS::ElastiCache::GlobalReplicationGroup" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Dashboard Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.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-quicksight-dashboard.json" + "$ref": "resources/aws-elasticache-globalreplicationgroup.json" } }, "required": [ @@ -5652,9 +5652,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_DBCluster": { + "AWS_SES_ContactList": { "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": "Resource schema for AWS::SES::ContactList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html)", "allOf": [ { "type": "object", @@ -5662,14 +5662,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::DBCluster" + "AWS::SES::ContactList" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::DBCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.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-docdb-dbcluster.json" + "$ref": "resources/aws-ses-contactlist.json" } }, "required": [ @@ -5682,9 +5682,9 @@ ], "additionalProperties": false }, - "AWS_EMRContainers_VirtualCluster": { + "AWS_AuditManager_Assessment": { "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": "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", @@ -5692,19 +5692,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EMRContainers::VirtualCluster" + "AWS::AuditManager::Assessment" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EMRContainers::VirtualCluster Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.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-emrcontainers-virtualcluster.json" + "$ref": "resources/aws-auditmanager-assessment.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5713,9 +5712,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_HookTypeConfig": { + "AWS_IVS_StorageConfiguration": { "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::IVS::StorageConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-storageconfiguration.html)", "allOf": [ { "type": "object", @@ -5723,18 +5722,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::HookTypeConfig" + "AWS::IVS::StorageConfiguration" ], "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::IVS::StorageConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-storageconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-hooktypeconfig.json" + "$ref": "resources/aws-ivs-storageconfiguration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5743,9 +5743,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SecurityGroupIngress": { + "AWS_DataSync_LocationFSxWindows": { "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 schema for AWS::DataSync::LocationFSxWindows. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html)", "allOf": [ { "type": "object", @@ -5753,14 +5753,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SecurityGroupIngress" + "AWS::DataSync::LocationFSxWindows" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.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-ec2-securitygroupingress.json" + "$ref": "resources/aws-datasync-locationfsxwindows.json" } }, "required": [ @@ -5774,9 +5774,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_EventStream": { + "AWS_KinesisAnalytics_Application": { "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::KinesisAnalytics::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html)", "allOf": [ { "type": "object", @@ -5784,14 +5784,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::EventStream" + "AWS::KinesisAnalytics::Application" ], "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::KinesisAnalytics::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-eventstream.json" + "$ref": "resources/aws-kinesisanalytics-application.json" } }, "required": [ @@ -5805,9 +5805,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_DeploymentStrategy": { + "AWS_RAM_ResourceShare": { "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::RAM::ResourceShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html)", "allOf": [ { "type": "object", @@ -5815,14 +5815,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::DeploymentStrategy" + "AWS::RAM::ResourceShare" ], "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::RAM::ResourceShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-deploymentstrategy.json" + "$ref": "resources/aws-ram-resourceshare.json" } }, "required": [ @@ -5836,9 +5836,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCCidrBlock": { + "AWS_CodeConnections_Connection": { "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": "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", @@ -5846,14 +5846,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCCidrBlock" + "AWS::CodeConnections::Connection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCCidrBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.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-ec2-vpccidrblock.json" + "$ref": "resources/aws-codeconnections-connection.json" } }, "required": [ @@ -5867,9 +5867,9 @@ ], "additionalProperties": false }, - "AWS_EC2_InstanceConnectEndpoint": { + "AWS_CloudFront_CloudFrontOriginAccessIdentity": { "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": "Resource Type definition for AWS::CloudFront::CloudFrontOriginAccessIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html)", "allOf": [ { "type": "object", @@ -5877,14 +5877,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::InstanceConnectEndpoint" + "AWS::CloudFront::CloudFrontOriginAccessIdentity" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::InstanceConnectEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html)" + "Resource Type definition for AWS::CloudFront::CloudFrontOriginAccessIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-instanceconnectendpoint.json" + "$ref": "resources/aws-cloudfront-cloudfrontoriginaccessidentity.json" } }, "required": [ @@ -5898,9 +5898,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_Fleet": { + "AWS_MediaLive_Input": { "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::MediaLive::Input \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html)", "allOf": [ { "type": "object", @@ -5908,14 +5908,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::Fleet" + "AWS::MediaLive::Input" ], "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::MediaLive::Input \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-fleet.json" + "$ref": "resources/aws-medialive-input.json" } }, "required": [ @@ -5928,9 +5928,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_StackSet": { + "AWS_Connect_TrafficDistributionGroup": { "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::Connect::TrafficDistributionGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-trafficdistributiongroup.html)", "allOf": [ { "type": "object", @@ -5938,14 +5938,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::StackSet" + "AWS::Connect::TrafficDistributionGroup" ], "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::Connect::TrafficDistributionGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-trafficdistributiongroup.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-stackset.json" + "$ref": "resources/aws-connect-trafficdistributiongroup.json" } }, "required": [ @@ -5959,9 +5959,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_BaiduChannel": { + "AWS_DataBrew_Dataset": { "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": "Resource schema for AWS::DataBrew::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html)", "allOf": [ { "type": "object", @@ -5969,14 +5969,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::BaiduChannel" + "AWS::DataBrew::Dataset" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::BaiduChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.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-pinpoint-baiduchannel.json" + "$ref": "resources/aws-databrew-dataset.json" } }, "required": [ @@ -5990,9 +5990,9 @@ ], "additionalProperties": false }, - "AWS_IoTAnalytics_Dataset": { + "AWS_Route53RecoveryControl_Cluster": { "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": "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", @@ -6000,14 +6000,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTAnalytics::Dataset" + "AWS::Route53RecoveryControl::Cluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTAnalytics::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.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-iotanalytics-dataset.json" + "$ref": "resources/aws-route53recoverycontrol-cluster.json" } }, "required": [ @@ -6021,9 +6021,9 @@ ], "additionalProperties": false }, - "AWS_ECR_PullThroughCacheRule": { + "AWS_FSx_Snapshot": { "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": "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", @@ -6031,18 +6031,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::PullThroughCacheRule" + "AWS::FSx::Snapshot" ], "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)" + "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-ecr-pullthroughcacherule.json" + "$ref": "resources/aws-fsx-snapshot.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6051,9 +6052,9 @@ ], "additionalProperties": false }, - "AWS_EKS_Cluster": { + "AWS_Redshift_ClusterParameterGroup": { "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::Redshift::ClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html)", "allOf": [ { "type": "object", @@ -6061,14 +6062,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::Cluster" + "AWS::Redshift::ClusterParameterGroup" ], "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::Redshift::ClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-cluster.json" + "$ref": "resources/aws-redshift-clusterparametergroup.json" } }, "required": [ @@ -6082,9 +6083,9 @@ ], "additionalProperties": false }, - "AWS_Logs_AccountPolicy": { + "AWS_Events_EventBusPolicy": { "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::Events::EventBusPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)", "allOf": [ { "type": "object", @@ -6092,14 +6093,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::AccountPolicy" + "AWS::Events::EventBusPolicy" ], "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::Events::EventBusPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-accountpolicy.json" + "$ref": "resources/aws-events-eventbuspolicy.json" } }, "required": [ @@ -6113,9 +6114,9 @@ ], "additionalProperties": false }, - "AWS_AutoScalingPlans_ScalingPlan": { + "AWS_M2_Environment": { "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": "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", @@ -6123,14 +6124,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScalingPlans::ScalingPlan" + "AWS::M2::Environment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AutoScalingPlans::ScalingPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.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-autoscalingplans-scalingplan.json" + "$ref": "resources/aws-m2-environment.json" } }, "required": [ @@ -6144,9 +6145,9 @@ ], "additionalProperties": false }, - "AWS_IAM_Role": { + "AWS_Backup_BackupVault": { "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::Backup::BackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html)", "allOf": [ { "type": "object", @@ -6154,14 +6155,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::Role" + "AWS::Backup::BackupVault" ], "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::Backup::BackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-role.json" + "$ref": "resources/aws-backup-backupvault.json" } }, "required": [ @@ -6175,9 +6176,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Multiplexprogram": { + "AWS_CodeArtifact_Repository": { "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": "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", @@ -6185,18 +6186,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Multiplexprogram" + "AWS::CodeArtifact::Repository" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaLive::Multiplexprogram \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplexprogram.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-medialive-multiplexprogram.json" + "$ref": "resources/aws-codeartifact-repository.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6205,9 +6207,9 @@ ], "additionalProperties": false }, - "AWS_Location_Tracker": { + "AWS_EC2_TransitGatewayVpcAttachment": { "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": "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", @@ -6215,14 +6217,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::Tracker" + "AWS::EC2::TransitGatewayVpcAttachment" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::Tracker Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.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-location-tracker.json" + "$ref": "resources/aws-ec2-transitgatewayvpcattachment.json" } }, "required": [ @@ -6236,9 +6238,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_CloudFormationProduct": { + "AWS_SecurityLake_SubscriberNotification": { "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": "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", @@ -6246,14 +6248,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" + "AWS::SecurityLake::SubscriberNotification" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::CloudFormationProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.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-servicecatalog-cloudformationproduct.json" + "$ref": "resources/aws-securitylake-subscribernotification.json" } }, "required": [ @@ -6267,9 +6269,9 @@ ], "additionalProperties": false }, - "AWS_WAF_Rule": { + "AWS_Location_GeofenceCollection": { "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": "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", @@ -6277,14 +6279,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::Rule" + "AWS::Location::GeofenceCollection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.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-waf-rule.json" + "$ref": "resources/aws-location-geofencecollection.json" } }, "required": [ @@ -6298,9 +6300,9 @@ ], "additionalProperties": false }, - "AWS_Elasticsearch_Domain": { + "AWS_ApiGateway_Deployment": { "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": "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", @@ -6308,18 +6310,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Elasticsearch::Domain" + "AWS::ApiGateway::Deployment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Elasticsearch::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.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-elasticsearch-domain.json" + "$ref": "resources/aws-apigateway-deployment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6328,9 +6331,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_Detector": { + "AWS_ECS_CapacityProvider": { "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": "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", @@ -6338,14 +6341,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::Detector" + "AWS::ECS::CapacityProvider" ], "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)" + "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-frauddetector-detector.json" + "$ref": "resources/aws-ecs-capacityprovider.json" } }, "required": [ @@ -6359,9 +6362,9 @@ ], "additionalProperties": false }, - "AWS_SSMContacts_Contact": { + "AWS_Greengrass_SubscriptionDefinition": { "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": "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", @@ -6369,14 +6372,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMContacts::Contact" + "AWS::Greengrass::SubscriptionDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSMContacts::Contact \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contact.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-ssmcontacts-contact.json" + "$ref": "resources/aws-greengrass-subscriptiondefinition.json" } }, "required": [ @@ -6390,9 +6393,9 @@ ], "additionalProperties": false }, - "AWS_DMS_MigrationProject": { + "AWS_EFS_MountTarget": { "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": "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", @@ -6400,18 +6403,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::MigrationProject" + "AWS::EFS::MountTarget" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DMS::MigrationProject \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-migrationproject.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-dms-migrationproject.json" + "$ref": "resources/aws-efs-mounttarget.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6420,9 +6424,9 @@ ], "additionalProperties": false }, - "AWS_VerifiedPermissions_Policy": { + "AWS_Athena_CapacityReservation": { "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": "Resource schema for AWS::Athena::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html)", "allOf": [ { "type": "object", @@ -6430,14 +6434,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VerifiedPermissions::Policy" + "AWS::Athena::CapacityReservation" ], "markdownEnumDescriptions": [ - "Definition of AWS::VerifiedPermissions::Policy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policy.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-verifiedpermissions-policy.json" + "$ref": "resources/aws-athena-capacityreservation.json" } }, "required": [ @@ -6451,9 +6455,9 @@ ], "additionalProperties": false }, - "AWS_Logs_Destination": { + "AWS_KinesisAnalyticsV2_ApplicationReferenceDataSource": { "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::KinesisAnalyticsV2::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html)", "allOf": [ { "type": "object", @@ -6461,14 +6465,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::Destination" + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" ], "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::KinesisAnalyticsV2::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-destination.json" + "$ref": "resources/aws-kinesisanalyticsv2-applicationreferencedatasource.json" } }, "required": [ @@ -6482,9 +6486,9 @@ ], "additionalProperties": false }, - "AWS_Shield_ProtectionGroup": { + "AWS_Neptune_EventSubscription": { "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::Neptune::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-eventsubscription.html)", "allOf": [ { "type": "object", @@ -6492,19 +6496,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Shield::ProtectionGroup" + "AWS::Neptune::EventSubscription" ], "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::Neptune::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-eventsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-shield-protectiongroup.json" + "$ref": "resources/aws-neptune-eventsubscription.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -6513,9 +6516,9 @@ ], "additionalProperties": false }, - "AWS_Route53_CidrCollection": { + "AWS_EC2_EIPAssociation": { "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 schema for EC2 EIP association. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html)", "allOf": [ { "type": "object", @@ -6523,19 +6526,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::CidrCollection" + "AWS::EC2::EIPAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53::CidrCollection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html)" + "Resource schema for EC2 EIP association. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-cidrcollection.json" + "$ref": "resources/aws-ec2-eipassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -6544,9 +6546,9 @@ ], "additionalProperties": false }, - "AWS_SES_ReceiptFilter": { + "AWS_Backup_RestoreTestingSelection": { "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::Backup::RestoreTestingSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html)", "allOf": [ { "type": "object", @@ -6554,14 +6556,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ReceiptFilter" + "AWS::Backup::RestoreTestingSelection" ], "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::Backup::RestoreTestingSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-receiptfilter.json" + "$ref": "resources/aws-backup-restoretestingselection.json" } }, "required": [ @@ -6575,9 +6577,9 @@ ], "additionalProperties": false }, - "AWS_Athena_WorkGroup": { + "AWS_Greengrass_LoggerDefinition": { "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": "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", @@ -6585,14 +6587,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::WorkGroup" + "AWS::Greengrass::LoggerDefinition" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::WorkGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.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-athena-workgroup.json" + "$ref": "resources/aws-greengrass-loggerdefinition.json" } }, "required": [ @@ -6606,9 +6608,9 @@ ], "additionalProperties": false }, - "AWS_ResourceGroups_Group": { + "AWS_ImageBuilder_ImageRecipe": { "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::ImageBuilder::ImageRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html)", "allOf": [ { "type": "object", @@ -6616,14 +6618,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResourceGroups::Group" + "AWS::ImageBuilder::ImageRecipe" ], "markdownEnumDescriptions": [ - "Schema for ResourceGroups::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.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-resourcegroups-group.json" + "$ref": "resources/aws-imagebuilder-imagerecipe.json" } }, "required": [ @@ -6637,9 +6639,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayRouteTableAssociation": { + "AWS_Greengrass_FunctionDefinitionVersion": { "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": "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", @@ -6647,14 +6649,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayRouteTableAssociation" + "AWS::Greengrass::FunctionDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayRouteTableAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.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-ec2-transitgatewayroutetableassociation.json" + "$ref": "resources/aws-greengrass-functiondefinitionversion.json" } }, "required": [ @@ -6668,9 +6670,9 @@ ], "additionalProperties": false }, - "AWS_CodeArtifact_PackageGroup": { + "AWS_AppRunner_ObservabilityConfiguration": { "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": "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", @@ -6678,19 +6680,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeArtifact::PackageGroup" + "AWS::AppRunner::ObservabilityConfiguration" ], "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)" + "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-codeartifact-packagegroup.json" + "$ref": "resources/aws-apprunner-observabilityconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -6699,9 +6700,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_MetricStream": { + "AWS_Cognito_UserPoolDomain": { "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::Cognito::UserPoolDomain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html)", "allOf": [ { "type": "object", @@ -6709,14 +6710,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::MetricStream" + "AWS::Cognito::UserPoolDomain" ], "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::Cognito::UserPoolDomain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-metricstream.json" + "$ref": "resources/aws-cognito-userpooldomain.json" } }, "required": [ @@ -6730,9 +6731,9 @@ ], "additionalProperties": false }, - "AWS_CodeCommit_Repository": { + "AWS_Glue_SecurityConfiguration": { "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::Glue::SecurityConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html)", "allOf": [ { "type": "object", @@ -6740,14 +6741,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeCommit::Repository" + "AWS::Glue::SecurityConfiguration" ], "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::Glue::SecurityConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-codecommit-repository.json" + "$ref": "resources/aws-glue-securityconfiguration.json" } }, "required": [ @@ -6761,9 +6762,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverEndpoint": { + "AWS_FSx_FileSystem": { "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 Type definition for AWS::FSx::FileSystem \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html)", "allOf": [ { "type": "object", @@ -6771,14 +6772,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::FSx::FileSystem" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Resolver::ResolverEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.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-route53resolver-resolverendpoint.json" + "$ref": "resources/aws-fsx-filesystem.json" } }, "required": [ @@ -6792,9 +6793,9 @@ ], "additionalProperties": false }, - "AWS_CodeBuild_Fleet": { + "AWS_EC2_VerifiedAccessTrustProvider": { "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": "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", @@ -6802,18 +6803,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeBuild::Fleet" + "AWS::EC2::VerifiedAccessTrustProvider" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeBuild::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.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-codebuild-fleet.json" + "$ref": "resources/aws-ec2-verifiedaccesstrustprovider.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6822,9 +6824,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_RuleGroup": { + "AWS_QuickSight_Template": { "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": "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", @@ -6832,14 +6834,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::RuleGroup" + "AWS::QuickSight::Template" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::RuleGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.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-networkfirewall-rulegroup.json" + "$ref": "resources/aws-quicksight-template.json" } }, "required": [ @@ -6853,9 +6855,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchService_Domain": { + "AWS_CloudWatch_InsightRule": { "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::CloudWatch::InsightRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html)", "allOf": [ { "type": "object", @@ -6863,18 +6865,19 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchService::Domain" + "AWS::CloudWatch::InsightRule" ], "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::CloudWatch::InsightRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchservice-domain.json" + "$ref": "resources/aws-cloudwatch-insightrule.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6883,9 +6886,9 @@ ], "additionalProperties": false }, - "AWS_LicenseManager_License": { + "AWS_IoTWireless_MulticastGroup": { "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": "Create and manage Multicast groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-multicastgroup.html)", "allOf": [ { "type": "object", @@ -6893,14 +6896,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LicenseManager::License" + "AWS::IoTWireless::MulticastGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LicenseManager::License \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.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-licensemanager-license.json" + "$ref": "resources/aws-iotwireless-multicastgroup.json" } }, "required": [ @@ -6914,9 +6917,9 @@ ], "additionalProperties": false }, - "AWS_BillingConductor_PricingRule": { + "AWS_ControlTower_EnabledBaseline": { "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::ControlTower::EnabledBaseline Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html)", "allOf": [ { "type": "object", @@ -6924,14 +6927,14 @@ "Type": { "type": "string", "enum": [ - "AWS::BillingConductor::PricingRule" + "AWS::ControlTower::EnabledBaseline" ], "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::ControlTower::EnabledBaseline Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html)" ] }, "Properties": { - "$ref": "resources/aws-billingconductor-pricingrule.json" + "$ref": "resources/aws-controltower-enabledbaseline.json" } }, "required": [ @@ -6945,9 +6948,9 @@ ], "additionalProperties": false }, - "AWS_Kendra_Index": { + "AWS_RoboMaker_SimulationApplicationVersion": { "type": "object", - "markdownDescription": "A Kendra index \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.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", @@ -6955,14 +6958,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Kendra::Index" + "AWS::RoboMaker::SimulationApplicationVersion" ], "markdownEnumDescriptions": [ - "A Kendra index \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.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-kendra-index.json" + "$ref": "resources/aws-robomaker-simulationapplicationversion.json" } }, "required": [ @@ -6976,9 +6979,9 @@ ], "additionalProperties": false }, - "AWS_Route53_HealthCheck": { + "AWS_CloudWatch_Alarm": { "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": "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", @@ -6986,14 +6989,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::HealthCheck" + "AWS::CloudWatch::Alarm" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53::HealthCheck. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.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-route53-healthcheck.json" + "$ref": "resources/aws-cloudwatch-alarm.json" } }, "required": [ @@ -7007,9 +7010,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_HookDefaultVersion": { + "AWS_GameLift_Build": { "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::GameLift::Build \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html)", "allOf": [ { "type": "object", @@ -7017,14 +7020,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::HookDefaultVersion" + "AWS::GameLift::Build" ], "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::GameLift::Build \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-hookdefaultversion.json" + "$ref": "resources/aws-gamelift-build.json" } }, "required": [ @@ -7037,9 +7040,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_KnowledgeBase": { + "AWS_CloudFormation_PublicTypeVersion": { "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": "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", @@ -7047,19 +7050,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::KnowledgeBase" + "AWS::CloudFormation::PublicTypeVersion" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.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-bedrock-knowledgebase.json" + "$ref": "resources/aws-cloudformation-publictypeversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -7068,9 +7070,9 @@ ], "additionalProperties": false }, - "AWS_CodePipeline_Pipeline": { + "AWS_LicenseManager_Grant": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodePipeline::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-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-licensemanager-grant.html)", "allOf": [ { "type": "object", @@ -7078,19 +7080,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CodePipeline::Pipeline" + "AWS::LicenseManager::Grant" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodePipeline::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-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-licensemanager-grant.html)" ] }, "Properties": { - "$ref": "resources/aws-codepipeline-pipeline.json" + "$ref": "resources/aws-licensemanager-grant.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -7099,9 +7100,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_FlowEntitlement": { + "AWS_EC2_VPCEndpointConnectionNotification": { "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": "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", @@ -7109,14 +7110,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::FlowEntitlement" + "AWS::EC2::VPCEndpointConnectionNotification" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::FlowEntitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html)" + "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-mediaconnect-flowentitlement.json" + "$ref": "resources/aws-ec2-vpcendpointconnectionnotification.json" } }, "required": [ @@ -7130,9 +7131,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_APNSChannel": { + "AWS_QuickSight_DataSource": { "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 the AWS::QuickSight::DataSource Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html)", "allOf": [ { "type": "object", @@ -7140,14 +7141,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::APNSChannel" + "AWS::QuickSight::DataSource" ], "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 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-pinpoint-apnschannel.json" + "$ref": "resources/aws-quicksight-datasource.json" } }, "required": [ @@ -7161,9 +7162,9 @@ ], "additionalProperties": false }, - "AWS_Batch_JobQueue": { + "AWS_IoT_ThingGroup": { "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": "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", @@ -7171,19 +7172,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Batch::JobQueue" + "AWS::IoT::ThingGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Batch::JobQueue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.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-batch-jobqueue.json" + "$ref": "resources/aws-iot-thinggroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -7192,9 +7192,9 @@ ], "additionalProperties": false }, - "AWS_ControlTower_LandingZone": { + "AWS_IoTSiteWise_Gateway": { "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::IoTSiteWise::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html)", "allOf": [ { "type": "object", @@ -7202,14 +7202,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ControlTower::LandingZone" + "AWS::IoTSiteWise::Gateway" ], "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::IoTSiteWise::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html)" ] }, "Properties": { - "$ref": "resources/aws-controltower-landingzone.json" + "$ref": "resources/aws-iotsitewise-gateway.json" } }, "required": [ @@ -7223,9 +7223,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_StorageSystem": { + "AWS_IoT_Policy": { "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::IoT::Policy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html)", "allOf": [ { "type": "object", @@ -7233,14 +7233,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::StorageSystem" + "AWS::IoT::Policy" ], "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::IoT::Policy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-storagesystem.json" + "$ref": "resources/aws-iot-policy.json" } }, "required": [ @@ -7254,9 +7254,9 @@ ], "additionalProperties": false }, - "AWS_DMS_DataProvider": { + "AWS_CloudFormation_ModuleVersion": { "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": "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", @@ -7264,14 +7264,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::DataProvider" + "AWS::CloudFormation::ModuleVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DMS::DataProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.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-dms-dataprovider.json" + "$ref": "resources/aws-cloudformation-moduleversion.json" } }, "required": [ @@ -7285,9 +7285,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Ruleset": { + "AWS_ServiceDiscovery_PublicDnsNamespace": { "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": "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", @@ -7295,14 +7295,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Ruleset" + "AWS::ServiceDiscovery::PublicDnsNamespace" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Ruleset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-ruleset.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-databrew-ruleset.json" + "$ref": "resources/aws-servicediscovery-publicdnsnamespace.json" } }, "required": [ @@ -7316,9 +7316,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_DBClusterParameterGroup": { + "AWS_Proton_ServiceTemplate": { "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": "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", @@ -7326,19 +7326,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::DBClusterParameterGroup" + "AWS::Proton::ServiceTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.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-docdb-dbclusterparametergroup.json" + "$ref": "resources/aws-proton-servicetemplate.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -7347,9 +7346,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpaces_Workspace": { + "AWS_ElasticLoadBalancing_LoadBalancer": { "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": "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", @@ -7357,14 +7356,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpaces::Workspace" + "AWS::ElasticLoadBalancing::LoadBalancer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WorkSpaces::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.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-workspaces-workspace.json" + "$ref": "resources/aws-elasticloadbalancing-loadbalancer.json" } }, "required": [ @@ -7378,9 +7377,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMPool": { + "AWS_RoboMaker_RobotApplicationVersion": { "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": "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", @@ -7388,14 +7387,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMPool" + "AWS::RoboMaker::RobotApplicationVersion" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMPool Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.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-ec2-ipampool.json" + "$ref": "resources/aws-robomaker-robotapplicationversion.json" } }, "required": [ @@ -7409,9 +7408,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolUICustomizationAttachment": { + "AWS_EMR_InstanceGroupConfig": { "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": "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", @@ -7419,14 +7418,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolUICustomizationAttachment" + "AWS::EMR::InstanceGroupConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolUICustomizationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html)" + "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-cognito-userpooluicustomizationattachment.json" + "$ref": "resources/aws-emr-instancegroupconfig.json" } }, "required": [ @@ -7440,9 +7439,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Project": { + "AWS_WorkSpacesWeb_BrowserSettings": { "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": "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", @@ -7450,19 +7449,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Project" + "AWS::WorkSpacesWeb::BrowserSettings" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Project. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.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-databrew-project.json" + "$ref": "resources/aws-workspacesweb-browsersettings.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -7471,9 +7469,9 @@ ], "additionalProperties": false }, - "AWS_LookoutMetrics_Alert": { + "AWS_KendraRanking_ExecutionPlan": { "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": "A KendraRanking Rescore execution plan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendraranking-executionplan.html)", "allOf": [ { "type": "object", @@ -7481,14 +7479,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LookoutMetrics::Alert" + "AWS::KendraRanking::ExecutionPlan" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LookoutMetrics::Alert \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-alert.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-lookoutmetrics-alert.json" + "$ref": "resources/aws-kendraranking-executionplan.json" } }, "required": [ @@ -7502,9 +7500,9 @@ ], "additionalProperties": false }, - "AWS_Backup_ReportPlan": { + "AWS_Rekognition_Collection": { "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": "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", @@ -7512,14 +7510,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::ReportPlan" + "AWS::Rekognition::Collection" ], "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)" + "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-backup-reportplan.json" + "$ref": "resources/aws-rekognition-collection.json" } }, "required": [ @@ -7533,9 +7531,9 @@ ], "additionalProperties": false }, - "AWS_RAM_Permission": { + "AWS_CodeBuild_ReportGroup": { "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::CodeBuild::ReportGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html)", "allOf": [ { "type": "object", @@ -7543,14 +7541,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RAM::Permission" + "AWS::CodeBuild::ReportGroup" ], "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::CodeBuild::ReportGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ram-permission.json" + "$ref": "resources/aws-codebuild-reportgroup.json" } }, "required": [ @@ -7564,9 +7562,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_SubscriptionDefinition": { + "AWS_AutoScaling_AutoScalingGroup": { "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": "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", @@ -7574,14 +7572,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::SubscriptionDefinition" + "AWS::AutoScaling::AutoScalingGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::SubscriptionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.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-greengrass-subscriptiondefinition.json" + "$ref": "resources/aws-autoscaling-autoscalinggroup.json" } }, "required": [ @@ -7595,9 +7593,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMScope": { + "AWS_Pinpoint_APNSVoipChannel": { "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 Type definition for AWS::Pinpoint::APNSVoipChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html)", "allOf": [ { "type": "object", @@ -7605,14 +7603,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMScope" + "AWS::Pinpoint::APNSVoipChannel" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMScope Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.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-ec2-ipamscope.json" + "$ref": "resources/aws-pinpoint-apnsvoipchannel.json" } }, "required": [ @@ -7626,9 +7624,9 @@ ], "additionalProperties": false }, - "AWS_EKS_PodIdentityAssociation": { + "AWS_Route53RecoveryReadiness_ResourceSet": { "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": "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", @@ -7636,14 +7634,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::PodIdentityAssociation" + "AWS::Route53RecoveryReadiness::ResourceSet" ], "markdownEnumDescriptions": [ - "An object representing an Amazon EKS PodIdentityAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.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-eks-podidentityassociation.json" + "$ref": "resources/aws-route53recoveryreadiness-resourceset.json" } }, "required": [ @@ -7657,9 +7655,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_CachePolicy": { + "AWS_Glue_Crawler": { "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": "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", @@ -7667,14 +7665,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::CachePolicy" + "AWS::Glue::Crawler" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::CachePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.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-cloudfront-cachepolicy.json" + "$ref": "resources/aws-glue-crawler.json" } }, "required": [ @@ -7688,9 +7686,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_PublicDnsNamespace": { + "AWS_APS_Workspace": { "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": "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", @@ -7698,19 +7696,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::PublicDnsNamespace" + "AWS::APS::Workspace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::PublicDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.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-servicediscovery-publicdnsnamespace.json" + "$ref": "resources/aws-aps-workspace.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -7719,9 +7716,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_RuleGroup": { + "AWS_DataZone_EnvironmentBlueprintConfiguration": { "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": "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", @@ -7729,14 +7726,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::RuleGroup" + "AWS::DataZone::EnvironmentBlueprintConfiguration" ], "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)" + "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-wafv2-rulegroup.json" + "$ref": "resources/aws-datazone-environmentblueprintconfiguration.json" } }, "required": [ @@ -7750,9 +7747,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", @@ -7760,14 +7757,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": [ @@ -7781,9 +7778,9 @@ ], "additionalProperties": false }, - "AWS_CodeStarConnections_RepositoryLink": { + "AWS_Synthetics_Group": { "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::Synthetics::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html)", "allOf": [ { "type": "object", @@ -7791,14 +7788,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStarConnections::RepositoryLink" + "AWS::Synthetics::Group" ], "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::Synthetics::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html)" ] }, "Properties": { - "$ref": "resources/aws-codestarconnections-repositorylink.json" + "$ref": "resources/aws-synthetics-group.json" } }, "required": [ @@ -7812,9 +7809,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_SubscriptionTarget": { + "AWS_MediaPackageV2_ChannelPolicy": { "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": "

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", @@ -7822,14 +7819,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::SubscriptionTarget" + "AWS::MediaPackageV2::ChannelPolicy" ], "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)" + "

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-datazone-subscriptiontarget.json" + "$ref": "resources/aws-mediapackagev2-channelpolicy.json" } }, "required": [ @@ -7843,9 +7840,9 @@ ], "additionalProperties": false }, - "AWS_XRay_SamplingRule": { + "AWS_EC2_InternetGateway": { "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": "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", @@ -7853,14 +7850,14 @@ "Type": { "type": "string", "enum": [ - "AWS::XRay::SamplingRule" + "AWS::EC2::InternetGateway" ], "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)" + "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-xray-samplingrule.json" + "$ref": "resources/aws-ec2-internetgateway.json" } }, "required": [ @@ -7873,9 +7870,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetHub_Application": { + "AWS_Connect_SecurityProfile": { "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 Type definition for AWS::Connect::SecurityProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html)", "allOf": [ { "type": "object", @@ -7883,14 +7880,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetHub::Application" + "AWS::Connect::SecurityProfile" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTFleetHub::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleethub-application.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-iotfleethub-application.json" + "$ref": "resources/aws-connect-securityprofile.json" } }, "required": [ @@ -7904,9 +7901,9 @@ ], "additionalProperties": false }, - "AWS_IoT_CACertificate": { + "AWS_DAX_Cluster": { "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": "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", @@ -7914,14 +7911,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::CACertificate" + "AWS::DAX::Cluster" ], "markdownEnumDescriptions": [ - "Registers a CA Certificate in IoT. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-cacertificate.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-iot-cacertificate.json" + "$ref": "resources/aws-dax-cluster.json" } }, "required": [ @@ -7935,9 +7932,9 @@ ], "additionalProperties": false }, - "AWS_EKS_IdentityProviderConfig": { + "AWS_Oam_Sink": { "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": "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", @@ -7945,14 +7942,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::IdentityProviderConfig" + "AWS::Oam::Sink" ], "markdownEnumDescriptions": [ - "An object representing an Amazon EKS IdentityProviderConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-identityproviderconfig.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-eks-identityproviderconfig.json" + "$ref": "resources/aws-oam-sink.json" } }, "required": [ @@ -7966,9 +7963,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ThingGroup": { + "AWS_Logs_DeliveryDestination": { "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": "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", @@ -7976,18 +7973,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ThingGroup" + "AWS::Logs::DeliveryDestination" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::ThingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thinggroup.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-iot-thinggroup.json" + "$ref": "resources/aws-logs-deliverydestination.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7996,9 +7994,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryReadiness_RecoveryGroup": { + "AWS_ServiceCatalog_CloudFormationProvisionedProduct": { "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 Schema for AWS::ServiceCatalog::CloudFormationProvisionedProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html)", "allOf": [ { "type": "object", @@ -8006,14 +8004,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryReadiness::RecoveryGroup" + "AWS::ServiceCatalog::CloudFormationProvisionedProduct" ], "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 Schema for AWS::ServiceCatalog::CloudFormationProvisionedProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoveryreadiness-recoverygroup.json" + "$ref": "resources/aws-servicecatalog-cloudformationprovisionedproduct.json" } }, "required": [ @@ -8026,9 +8024,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { + "AWS_DataBrew_Recipe": { "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 schema for AWS::DataBrew::Recipe. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html)", "allOf": [ { "type": "object", @@ -8036,14 +8034,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation" + "AWS::DataBrew::Recipe" ], "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 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-localgatewayroutetablevirtualinterfacegroupassociation.json" + "$ref": "resources/aws-databrew-recipe.json" } }, "required": [ @@ -8057,9 +8055,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_RealtimeLogConfig": { + "AWS_S3_MultiRegionAccessPointPolicy": { "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 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", @@ -8067,14 +8065,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::RealtimeLogConfig" + "AWS::S3::MultiRegionAccessPointPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::RealtimeLogConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.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-cloudfront-realtimelogconfig.json" + "$ref": "resources/aws-s3-multiregionaccesspointpolicy.json" } }, "required": [ @@ -8088,9 +8086,9 @@ ], "additionalProperties": false }, - "AWS_IAM_GroupPolicy": { + "AWS_IVS_Stage": { "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 Definition for type AWS::IVS::Stage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-stage.html)", "allOf": [ { "type": "object", @@ -8098,19 +8096,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::GroupPolicy" + "AWS::IVS::Stage" ], "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 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-iam-grouppolicy.json" + "$ref": "resources/aws-ivs-stage.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -8119,9 +8116,9 @@ ], "additionalProperties": false }, - "AWS_EC2_CapacityReservation": { + "AWS_MemoryDB_SubnetGroup": { "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": "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", @@ -8129,14 +8126,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::CapacityReservation" + "AWS::MemoryDB::SubnetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.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-ec2-capacityreservation.json" + "$ref": "resources/aws-memorydb-subnetgroup.json" } }, "required": [ @@ -8150,9 +8147,9 @@ ], "additionalProperties": false }, - "AWS_IdentityStore_Group": { + "AWS_SSMIncidents_ReplicationSet": { "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": "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", @@ -8160,14 +8157,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IdentityStore::Group" + "AWS::SSMIncidents::ReplicationSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IdentityStore::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-group.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-identitystore-group.json" + "$ref": "resources/aws-ssmincidents-replicationset.json" } }, "required": [ @@ -8181,9 +8178,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Build": { + "AWS_EC2_SnapshotBlockPublicAccess": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GameLift::Build \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.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", @@ -8191,18 +8188,19 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Build" + "AWS::EC2::SnapshotBlockPublicAccess" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GameLift::Build \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.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-gamelift-build.json" + "$ref": "resources/aws-ec2-snapshotblockpublicaccess.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8211,9 +8209,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_DeviceProfile": { + "AWS_Neptune_DBInstance": { "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::Neptune::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html)", "allOf": [ { "type": "object", @@ -8221,18 +8219,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::DeviceProfile" + "AWS::Neptune::DBInstance" ], "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::Neptune::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-deviceprofile.json" + "$ref": "resources/aws-neptune-dbinstance.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8241,9 +8240,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EC2Fleet": { + "AWS_Pinpoint_InAppTemplate": { "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::Pinpoint::InAppTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-inapptemplate.html)", "allOf": [ { "type": "object", @@ -8251,14 +8250,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EC2Fleet" + "AWS::Pinpoint::InAppTemplate" ], "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::Pinpoint::InAppTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-inapptemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ec2fleet.json" + "$ref": "resources/aws-pinpoint-inapptemplate.json" } }, "required": [ @@ -8272,9 +8271,9 @@ ], "additionalProperties": false }, - "AWS_Personalize_DatasetGroup": { + "AWS_QuickSight_DataSet": { "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": "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", @@ -8282,19 +8281,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Personalize::DatasetGroup" + "AWS::QuickSight::DataSet" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::Personalize::DatasetGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-datasetgroup.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-personalize-datasetgroup.json" + "$ref": "resources/aws-quicksight-dataset.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -8303,9 +8301,9 @@ ], "additionalProperties": false }, - "AWS_Location_TrackerConsumer": { + "AWS_WAFRegional_WebACL": { "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": "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", @@ -8313,14 +8311,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::TrackerConsumer" + "AWS::WAFRegional::WebACL" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::TrackerConsumer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-trackerconsumer.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-location-trackerconsumer.json" + "$ref": "resources/aws-wafregional-webacl.json" } }, "required": [ @@ -8334,9 +8332,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VerifiedAccessInstance": { + "AWS_AppConfig_Extension": { "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": "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", @@ -8344,18 +8342,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VerifiedAccessInstance" + "AWS::AppConfig::Extension" ], "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)" + "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-ec2-verifiedaccessinstance.json" + "$ref": "resources/aws-appconfig-extension.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8364,9 +8363,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_TrustStoreRevocation": { + "AWS_DocDB_DBInstance": { "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": "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", @@ -8374,18 +8373,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" + "AWS::DocDB::DBInstance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStoreRevocation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.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-elasticloadbalancingv2-truststorerevocation.json" + "$ref": "resources/aws-docdb-dbinstance.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8394,9 +8394,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInsightsAccessScope": { + "AWS_IAM_RolePolicy": { "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": "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", @@ -8404,18 +8404,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInsightsAccessScope" + "AWS::IAM::RolePolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EC2::NetworkInsightsAccessScope \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html)" + "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-ec2-networkinsightsaccessscope.json" + "$ref": "resources/aws-iam-rolepolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8424,9 +8425,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_EnvironmentBlueprintConfiguration": { + "AWS_Lightsail_Database": { "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::Lightsail::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html)", "allOf": [ { "type": "object", @@ -8434,14 +8435,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::EnvironmentBlueprintConfiguration" + "AWS::Lightsail::Database" ], "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::Lightsail::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-environmentblueprintconfiguration.json" + "$ref": "resources/aws-lightsail-database.json" } }, "required": [ @@ -8455,9 +8456,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Partition": { + "AWS_MWAA_Environment": { "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": "Resource schema for AWS::MWAA::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html)", "allOf": [ { "type": "object", @@ -8465,14 +8466,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Partition" + "AWS::MWAA::Environment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Partition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.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-glue-partition.json" + "$ref": "resources/aws-mwaa-environment.json" } }, "required": [ @@ -8486,9 +8487,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_ConfiguredTableAssociation": { + "AWS_EC2_CustomerGateway": { "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": "Specifies a customer gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html)", "allOf": [ { "type": "object", @@ -8496,14 +8497,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::ConfiguredTableAssociation" + "AWS::EC2::CustomerGateway" ], "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)" + "Specifies a customer gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-configuredtableassociation.json" + "$ref": "resources/aws-ec2-customergateway.json" } }, "required": [ @@ -8517,9 +8518,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Certificate": { + "AWS_ApiGateway_DocumentationVersion": { "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-lightsail-certificate.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", @@ -8527,14 +8528,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Certificate" + "AWS::ApiGateway::DocumentationVersion" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.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-lightsail-certificate.json" + "$ref": "resources/aws-apigateway-documentationversion.json" } }, "required": [ @@ -8548,9 +8549,9 @@ ], "additionalProperties": false }, - "AWS_Scheduler_ScheduleGroup": { + "AWS_DMS_ReplicationTask": { "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": "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", @@ -8558,18 +8559,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Scheduler::ScheduleGroup" + "AWS::DMS::ReplicationTask" ], "markdownEnumDescriptions": [ - "Definition of AWS::Scheduler::ScheduleGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedulegroup.html)" + "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-scheduler-schedulegroup.json" + "$ref": "resources/aws-dms-replicationtask.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8578,9 +8580,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Fleet": { + "AWS_EC2_IPAM": { "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": "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", @@ -8588,19 +8590,18 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Fleet" + "AWS::EC2::IPAM" ], "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)" + "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-gamelift-fleet.json" + "$ref": "resources/aws-ec2-ipam.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -8609,9 +8610,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_Instance": { + "AWS_IoTEvents_AlarmModel": { "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 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)", "allOf": [ { "type": "object", @@ -8619,14 +8620,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::Instance" + "AWS::IoTEvents::AlarmModel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html)" + "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)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-instance.json" + "$ref": "resources/aws-iotevents-alarmmodel.json" } }, "required": [ @@ -8640,9 +8641,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkAcl": { + "AWS_IdentityStore_Group": { "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::IdentityStore::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-group.html)", "allOf": [ { "type": "object", @@ -8650,14 +8651,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkAcl" + "AWS::IdentityStore::Group" ], "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::IdentityStore::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-group.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkacl.json" + "$ref": "resources/aws-identitystore-group.json" } }, "required": [ @@ -8671,9 +8672,9 @@ ], "additionalProperties": false }, - "AWS_Connect_ApprovedOrigin": { + "AWS_CloudWatch_AnomalyDetector": { "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": "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", @@ -8681,19 +8682,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::ApprovedOrigin" + "AWS::CloudWatch::AnomalyDetector" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::ApprovedOrigin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-approvedorigin.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-connect-approvedorigin.json" + "$ref": "resources/aws-cloudwatch-anomalydetector.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -8702,9 +8702,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Permission": { + "AWS_KinesisVideo_SignalingChannel": { "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 fu \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.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", @@ -8712,19 +8712,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Permission" + "AWS::KinesisVideo::SignalingChannel" ], "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 fu \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.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-lambda-permission.json" + "$ref": "resources/aws-kinesisvideo-signalingchannel.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -8733,9 +8732,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LocalGatewayRoute": { + "AWS_DocDBElastic_Cluster": { "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": "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", @@ -8743,18 +8742,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LocalGatewayRoute" + "AWS::DocDBElastic::Cluster" ], "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)" + "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-ec2-localgatewayroute.json" + "$ref": "resources/aws-docdbelastic-cluster.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8763,9 +8763,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_Hub": { + "AWS_SecurityHub_AutomationRule": { "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": "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", @@ -8773,14 +8773,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::Hub" + "AWS::SecurityHub::AutomationRule" ], "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)" + "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-securityhub-hub.json" + "$ref": "resources/aws-securityhub-automationrule.json" } }, "required": [ @@ -8793,9 +8793,9 @@ ], "additionalProperties": false }, - "AWS_IoTEvents_AlarmModel": { + "AWS_IoT_CACertificate": { "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": "Registers a CA Certificate in IoT. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-cacertificate.html)", "allOf": [ { "type": "object", @@ -8803,14 +8803,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTEvents::AlarmModel" + "AWS::IoT::CACertificate" ], "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)" + "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-iotevents-alarmmodel.json" + "$ref": "resources/aws-iot-cacertificate.json" } }, "required": [ @@ -8824,9 +8824,9 @@ ], "additionalProperties": false }, - "AWS_Logs_MetricFilter": { + "AWS_Lightsail_StaticIp": { "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": "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", @@ -8834,14 +8834,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::MetricFilter" + "AWS::Lightsail::StaticIp" ], "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)" + "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-logs-metricfilter.json" + "$ref": "resources/aws-lightsail-staticip.json" } }, "required": [ @@ -8855,9 +8855,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_Queue": { + "AWS_Cognito_UserPoolGroup": { "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": "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", @@ -8865,14 +8865,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::Queue" + "AWS::Cognito::UserPoolGroup" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::Queue Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.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-deadline-queue.json" + "$ref": "resources/aws-cognito-userpoolgroup.json" } }, "required": [ @@ -8886,9 +8886,9 @@ ], "additionalProperties": false }, - "AWS_Kinesis_StreamConsumer": { + "AWS_WAF_IPSet": { "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": "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", @@ -8896,14 +8896,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Kinesis::StreamConsumer" + "AWS::WAF::IPSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Kinesis::StreamConsumer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.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-kinesis-streamconsumer.json" + "$ref": "resources/aws-waf-ipset.json" } }, "required": [ @@ -8917,9 +8917,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_Rule": { + "AWS_AppSync_ApiCache": { "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::AppSync::ApiCache \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)", "allOf": [ { "type": "object", @@ -8927,14 +8927,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::Rule" + "AWS::AppSync::ApiCache" ], "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::AppSync::ApiCache \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-rule.json" + "$ref": "resources/aws-appsync-apicache.json" } }, "required": [ @@ -8948,9 +8948,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Profile": { + "AWS_CustomerProfiles_Integration": { "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 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", @@ -8958,14 +8958,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Profile" + "AWS::CustomerProfiles::Integration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.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-transfer-profile.json" + "$ref": "resources/aws-customerprofiles-integration.json" } }, "required": [ @@ -8979,9 +8979,9 @@ ], "additionalProperties": false }, - "AWS_StepFunctions_StateMachineAlias": { + "AWS_SES_MailManagerAddonInstance": { "type": "object", - "markdownDescription": "Resource schema for StateMachineAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.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", @@ -8989,18 +8989,19 @@ "Type": { "type": "string", "enum": [ - "AWS::StepFunctions::StateMachineAlias" + "AWS::SES::MailManagerAddonInstance" ], "markdownEnumDescriptions": [ - "Resource schema for StateMachineAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.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-stepfunctions-statemachinealias.json" + "$ref": "resources/aws-ses-mailmanageraddoninstance.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9009,9 +9010,9 @@ ], "additionalProperties": false }, - "AWS_IVS_StorageConfiguration": { + "AWS_SageMaker_Model": { "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::SageMaker::Model \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html)", "allOf": [ { "type": "object", @@ -9019,19 +9020,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::StorageConfiguration" + "AWS::SageMaker::Model" ], "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::SageMaker::Model \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-storageconfiguration.json" + "$ref": "resources/aws-sagemaker-model.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9040,9 +9040,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_InferenceComponent": { + "AWS_IoTTwinMaker_Workspace": { "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::IoTTwinMaker::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-workspace.html)", "allOf": [ { "type": "object", @@ -9050,14 +9050,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::InferenceComponent" + "AWS::IoTTwinMaker::Workspace" ], "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::IoTTwinMaker::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-workspace.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-inferencecomponent.json" + "$ref": "resources/aws-iottwinmaker-workspace.json" } }, "required": [ @@ -9071,9 +9071,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_LaunchTemplateConstraint": { + "AWS_Location_RouteCalculator": { "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::RouteCalculator Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-routecalculator.html)", "allOf": [ { "type": "object", @@ -9081,14 +9081,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::LaunchTemplateConstraint" + "AWS::Location::RouteCalculator" ], "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::RouteCalculator Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-routecalculator.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-launchtemplateconstraint.json" + "$ref": "resources/aws-location-routecalculator.json" } }, "required": [ @@ -9102,9 +9102,9 @@ ], "additionalProperties": false }, - "AWS_GlobalAccelerator_CrossAccountAttachment": { + "AWS_EC2_LocalGatewayRoute": { "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": "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", @@ -9112,19 +9112,18 @@ "Type": { "type": "string", "enum": [ - "AWS::GlobalAccelerator::CrossAccountAttachment" + "AWS::EC2::LocalGatewayRoute" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GlobalAccelerator::CrossAccountAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.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-globalaccelerator-crossaccountattachment.json" + "$ref": "resources/aws-ec2-localgatewayroute.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9133,9 +9132,9 @@ ], "additionalProperties": false }, - "AWS_Batch_SchedulingPolicy": { + "AWS_EC2_ClientVpnEndpoint": { "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": "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", @@ -9143,18 +9142,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Batch::SchedulingPolicy" + "AWS::EC2::ClientVpnEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type schema for AWS::Batch::SchedulingPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-schedulingpolicy.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-batch-schedulingpolicy.json" + "$ref": "resources/aws-ec2-clientvpnendpoint.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9163,9 +9163,9 @@ ], "additionalProperties": false }, - "AWS_EventSchemas_Registry": { + "AWS_Pinpoint_ADMChannel": { "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 Type definition for AWS::Pinpoint::ADMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html)", "allOf": [ { "type": "object", @@ -9173,18 +9173,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EventSchemas::Registry" + "AWS::Pinpoint::ADMChannel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EventSchemas::Registry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.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-eventschemas-registry.json" + "$ref": "resources/aws-pinpoint-admchannel.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9193,9 +9194,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_RobotApplicationVersion": { + "AWS_RefactorSpaces_Route": { "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": "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", @@ -9203,14 +9204,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::RobotApplicationVersion" + "AWS::RefactorSpaces::Route" ], "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)" + "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-robomaker-robotapplicationversion.json" + "$ref": "resources/aws-refactorspaces-route.json" } }, "required": [ @@ -9224,9 +9225,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_ServiceAction": { + "AWS_Route53Resolver_ResolverQueryLoggingConfigAssociation": { "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 schema for AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html)", "allOf": [ { "type": "object", @@ -9234,19 +9235,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::ServiceAction" + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalog::ServiceAction \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.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-servicecatalog-serviceaction.json" + "$ref": "resources/aws-route53resolver-resolverqueryloggingconfigassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9255,9 +9255,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryControl_Cluster": { + "AWS_AppMesh_Mesh": { "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": "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", @@ -9265,19 +9265,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryControl::Cluster" + "AWS::AppMesh::Mesh" ], "markdownEnumDescriptions": [ - "AWS Route53 Recovery Control Cluster resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-cluster.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-route53recoverycontrol-cluster.json" + "$ref": "resources/aws-appmesh-mesh.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9286,9 +9285,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_UsagePlan": { + "AWS_SSM_MaintenanceWindowTask": { "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::SSM::MaintenanceWindowTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html)", "allOf": [ { "type": "object", @@ -9296,18 +9295,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::UsagePlan" + "AWS::SSM::MaintenanceWindowTask" ], "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::SSM::MaintenanceWindowTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-usageplan.json" + "$ref": "resources/aws-ssm-maintenancewindowtask.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9316,9 +9316,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_GameServerGroup": { + "AWS_DataSync_LocationHDFS": { "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": "Resource schema for AWS::DataSync::LocationHDFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationhdfs.html)", "allOf": [ { "type": "object", @@ -9326,14 +9326,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::GameServerGroup" + "AWS::DataSync::LocationHDFS" ], "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)" + "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-gamelift-gameservergroup.json" + "$ref": "resources/aws-datasync-locationhdfs.json" } }, "required": [ @@ -9347,9 +9347,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_RobotApplication": { + "AWS_OpenSearchServerless_SecurityConfig": { "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": "Amazon OpenSearchServerless security config resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html)", "allOf": [ { "type": "object", @@ -9357,19 +9357,18 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::RobotApplication" + "AWS::OpenSearchServerless::SecurityConfig" ], "markdownEnumDescriptions": [ - "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.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-robomaker-robotapplication.json" + "$ref": "resources/aws-opensearchserverless-securityconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9378,9 +9377,9 @@ ], "additionalProperties": false }, - "AWS_QLDB_Stream": { + "AWS_CleanRooms_Membership": { "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": "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", @@ -9388,14 +9387,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QLDB::Stream" + "AWS::CleanRooms::Membership" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::QLDB::Stream. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.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-qldb-stream.json" + "$ref": "resources/aws-cleanrooms-membership.json" } }, "required": [ @@ -9409,9 +9408,9 @@ ], "additionalProperties": false }, - "AWS_ACMPCA_CertificateAuthority": { + "AWS_OpsWorks_Layer": { "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::OpsWorks::Layer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html)", "allOf": [ { "type": "object", @@ -9419,14 +9418,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ACMPCA::CertificateAuthority" + "AWS::OpsWorks::Layer" ], "markdownEnumDescriptions": [ - "Private certificate authority. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.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-acmpca-certificateauthority.json" + "$ref": "resources/aws-opsworks-layer.json" } }, "required": [ @@ -9440,9 +9439,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_DBSubnetGroup": { + "AWS_CloudTrail_Trail": { "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": "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", @@ -9450,14 +9449,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::DBSubnetGroup" + "AWS::CloudTrail::Trail" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.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-docdb-dbsubnetgroup.json" + "$ref": "resources/aws-cloudtrail-trail.json" } }, "required": [ @@ -9471,9 +9470,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_CodeSigningConfig": { + "AWS_SageMaker_Device": { "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 schema for AWS::SageMaker::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html)", "allOf": [ { "type": "object", @@ -9481,14 +9480,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::CodeSigningConfig" + "AWS::SageMaker::Device" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::CodeSigningConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.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-lambda-codesigningconfig.json" + "$ref": "resources/aws-sagemaker-device.json" } }, "required": [ @@ -9502,9 +9501,9 @@ ], "additionalProperties": false }, - "AWS_Connect_HoursOfOperation": { + "AWS_SecretsManager_RotationSchedule": { "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": "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", @@ -9512,14 +9511,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::HoursOfOperation" + "AWS::SecretsManager::RotationSchedule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::HoursOfOperation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-hoursofoperation.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-connect-hoursofoperation.json" + "$ref": "resources/aws-secretsmanager-rotationschedule.json" } }, "required": [ @@ -9533,9 +9532,9 @@ ], "additionalProperties": false }, - "AWS_FSx_DataRepositoryAssociation": { + "AWS_DMS_InstanceProfile": { "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 schema for AWS::DMS::InstanceProfile. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-instanceprofile.html)", "allOf": [ { "type": "object", @@ -9543,19 +9542,18 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::DataRepositoryAssociation" + "AWS::DMS::InstanceProfile" ], "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 schema for AWS::DMS::InstanceProfile. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-instanceprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-fsx-datarepositoryassociation.json" + "$ref": "resources/aws-dms-instanceprofile.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9564,9 +9562,9 @@ ], "additionalProperties": false }, - "AWS_Connect_Instance": { + "AWS_IoT_TopicRuleDestination": { "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": "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", @@ -9574,19 +9572,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::Instance" + "AWS::IoT::TopicRuleDestination" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instance.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-connect-instance.json" + "$ref": "resources/aws-iot-topicruledestination.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9595,9 +9592,9 @@ ], "additionalProperties": false }, - "AWS_IAM_RolePolicy": { + "AWS_EMRContainers_VirtualCluster": { "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": "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", @@ -9605,14 +9602,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::RolePolicy" + "AWS::EMRContainers::VirtualCluster" ], "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)" + "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-iam-rolepolicy.json" + "$ref": "resources/aws-emrcontainers-virtualcluster.json" } }, "required": [ @@ -9626,9 +9623,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_KeyGroup": { + "AWS_NetworkFirewall_LoggingConfiguration": { "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 AWS::NetworkFirewall::LoggingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html)", "allOf": [ { "type": "object", @@ -9636,14 +9633,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::KeyGroup" + "AWS::NetworkFirewall::LoggingConfiguration" ], "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 AWS::NetworkFirewall::LoggingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-keygroup.json" + "$ref": "resources/aws-networkfirewall-loggingconfiguration.json" } }, "required": [ @@ -9657,9 +9654,9 @@ ], "additionalProperties": false }, - "AWS_Batch_ComputeEnvironment": { + "AWS_SSMContacts_Rotation": { "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::SSMContacts::Rotation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-rotation.html)", "allOf": [ { "type": "object", @@ -9667,14 +9664,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Batch::ComputeEnvironment" + "AWS::SSMContacts::Rotation" ], "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::SSMContacts::Rotation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-rotation.html)" ] }, "Properties": { - "$ref": "resources/aws-batch-computeenvironment.json" + "$ref": "resources/aws-ssmcontacts-rotation.json" } }, "required": [ @@ -9688,9 +9685,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_Layer": { + "AWS_Lambda_LayerVersionPermission": { "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": "Schema for Lambda LayerVersionPermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html)", "allOf": [ { "type": "object", @@ -9698,14 +9695,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::Layer" + "AWS::Lambda::LayerVersionPermission" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::Layer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html)" + "Schema for Lambda LayerVersionPermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-layer.json" + "$ref": "resources/aws-lambda-layerversionpermission.json" } }, "required": [ @@ -9719,9 +9716,9 @@ ], "additionalProperties": false }, - "AWS_DirectoryService_SimpleAD": { + "AWS_Location_APIKey": { "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": "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", @@ -9729,14 +9726,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DirectoryService::SimpleAD" + "AWS::Location::APIKey" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DirectoryService::SimpleAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.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-directoryservice-simplead.json" + "$ref": "resources/aws-location-apikey.json" } }, "required": [ @@ -9750,9 +9747,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EnclaveCertificateIamRoleAssociation": { + "AWS_LakeFormation_DataCellsFilter": { "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": "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", @@ -9760,14 +9757,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EnclaveCertificateIamRoleAssociation" + "AWS::LakeFormation::DataCellsFilter" ], "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)" + "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-ec2-enclavecertificateiamroleassociation.json" + "$ref": "resources/aws-lakeformation-datacellsfilter.json" } }, "required": [ @@ -9781,9 +9778,9 @@ ], "additionalProperties": false }, - "AWS_EMR_Cluster": { + "AWS_Backup_ReportPlan": { "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": "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", @@ -9791,14 +9788,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::Cluster" + "AWS::Backup::ReportPlan" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EMR::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.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-emr-cluster.json" + "$ref": "resources/aws-backup-reportplan.json" } }, "required": [ @@ -9812,9 +9809,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationS3": { + "AWS_ElasticBeanstalk_Application": { "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": "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", @@ -9822,19 +9819,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationS3" + "AWS::ElasticBeanstalk::Application" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationS3 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.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-datasync-locations3.json" + "$ref": "resources/aws-elasticbeanstalk-application.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9843,9 +9839,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Stage": { + "AWS_Glue_Classifier": { "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::Glue::Classifier \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html)", "allOf": [ { "type": "object", @@ -9853,19 +9849,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Stage" + "AWS::Glue::Classifier" ], "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::Glue::Classifier \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-stage.json" + "$ref": "resources/aws-glue-classifier.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9874,9 +9869,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_MeteredProduct": { + "AWS_DataSync_LocationAzureBlob": { "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 schema for AWS::DataSync::LocationAzureBlob. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html)", "allOf": [ { "type": "object", @@ -9884,18 +9879,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::MeteredProduct" + "AWS::DataSync::LocationAzureBlob" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::MeteredProduct Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-meteredproduct.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-deadline-meteredproduct.json" + "$ref": "resources/aws-datasync-locationazureblob.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9904,9 +9900,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_IdNamespace": { + "AWS_ServiceCatalogAppRegistry_AttributeGroupAssociation": { "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 Schema for AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroupassociation.html)", "allOf": [ { "type": "object", @@ -9914,14 +9910,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::IdNamespace" + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" ], "markdownEnumDescriptions": [ - "IdNamespace defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.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-entityresolution-idnamespace.json" + "$ref": "resources/aws-servicecatalogappregistry-attributegroupassociation.json" } }, "required": [ @@ -9935,9 +9931,9 @@ ], "additionalProperties": false }, - "AWS_AmazonMQ_Broker": { + "AWS_Logs_LogAnomalyDetector": { "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": "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", @@ -9945,19 +9941,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AmazonMQ::Broker" + "AWS::Logs::LogAnomalyDetector" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AmazonMQ::Broker \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.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-amazonmq-broker.json" + "$ref": "resources/aws-logs-loganomalydetector.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9966,9 +9961,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_Guardrail": { + "AWS_CE_AnomalySubscription": { "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": "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", @@ -9976,14 +9971,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::Guardrail" + "AWS::CE::AnomalySubscription" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::Guardrail Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.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-bedrock-guardrail.json" + "$ref": "resources/aws-ce-anomalysubscription.json" } }, "required": [ @@ -9997,9 +9992,9 @@ ], "additionalProperties": false }, - "AWS_Glue_TableOptimizer": { + "AWS_Scheduler_Schedule": { "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": "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", @@ -10007,14 +10002,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::TableOptimizer" + "AWS::Scheduler::Schedule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::TableOptimizer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.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-glue-tableoptimizer.json" + "$ref": "resources/aws-scheduler-schedule.json" } }, "required": [ @@ -10028,9 +10023,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_App": { + "AWS_AmplifyUIBuilder_Component": { "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": "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", @@ -10038,19 +10033,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::App" + "AWS::AmplifyUIBuilder::Component" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.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-app.json" + "$ref": "resources/aws-amplifyuibuilder-component.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -10059,9 +10053,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverRule": { + "AWS_PCAConnectorAD_TemplateGroupAccessControlEntry": { "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": "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", @@ -10069,14 +10063,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Resolver::ResolverRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.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-route53resolver-resolverrule.json" + "$ref": "resources/aws-pcaconnectorad-templategroupaccesscontrolentry.json" } }, "required": [ @@ -10090,9 +10084,9 @@ ], "additionalProperties": false }, - "AWS_SupportApp_AccountAlias": { + "AWS_Route53_RecordSetGroup": { "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": "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", @@ -10100,19 +10094,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SupportApp::AccountAlias" + "AWS::Route53::RecordSetGroup" ], "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)" + "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-supportapp-accountalias.json" + "$ref": "resources/aws-route53-recordsetgroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -10121,9 +10114,9 @@ ], "additionalProperties": false }, - "AWS_Connect_UserHierarchyGroup": { + "AWS_AppFlow_ConnectorProfile": { "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": "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", @@ -10131,14 +10124,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::UserHierarchyGroup" + "AWS::AppFlow::ConnectorProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::UserHierarchyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchygroup.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-connect-userhierarchygroup.json" + "$ref": "resources/aws-appflow-connectorprofile.json" } }, "required": [ @@ -10152,9 +10145,9 @@ ], "additionalProperties": false }, - "AWS_Connect_View": { + "AWS_Config_DeliveryChannel": { "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::Config::DeliveryChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html)", "allOf": [ { "type": "object", @@ -10162,14 +10155,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::View" + "AWS::Config::DeliveryChannel" ], "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::Config::DeliveryChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-view.json" + "$ref": "resources/aws-config-deliverychannel.json" } }, "required": [ @@ -10183,9 +10176,9 @@ ], "additionalProperties": false }, - "AWS_CertificateManager_Certificate": { + "AWS_SageMaker_CodeRepository": { "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 Type definition for AWS::SageMaker::CodeRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html)", "allOf": [ { "type": "object", @@ -10193,14 +10186,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CertificateManager::Certificate" + "AWS::SageMaker::CodeRepository" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CertificateManager::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.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-certificatemanager-certificate.json" + "$ref": "resources/aws-sagemaker-coderepository.json" } }, "required": [ @@ -10214,9 +10207,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_UsagePlanKey": { + "AWS_DataBrew_Project": { "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::DataBrew::Project. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html)", "allOf": [ { "type": "object", @@ -10224,14 +10217,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::UsagePlanKey" + "AWS::DataBrew::Project" ], "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::DataBrew::Project. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-usageplankey.json" + "$ref": "resources/aws-databrew-project.json" } }, "required": [ @@ -10245,9 +10238,9 @@ ], "additionalProperties": false }, - "AWS_B2BI_Capability": { + "AWS_EC2_NatGateway": { "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": "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", @@ -10255,14 +10248,14 @@ "Type": { "type": "string", "enum": [ - "AWS::B2BI::Capability" + "AWS::EC2::NatGateway" ], "markdownEnumDescriptions": [ - "Definition of AWS::B2BI::Capability Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-capability.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-b2bi-capability.json" + "$ref": "resources/aws-ec2-natgateway.json" } }, "required": [ @@ -10276,9 +10269,9 @@ ], "additionalProperties": false }, - "AWS_RefactorSpaces_Environment": { + "AWS_ECR_RepositoryCreationTemplate": { "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": "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", @@ -10286,14 +10279,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RefactorSpaces::Environment" + "AWS::ECR::RepositoryCreationTemplate" ], "markdownEnumDescriptions": [ - "Definition of AWS::RefactorSpaces::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-environment.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-refactorspaces-environment.json" + "$ref": "resources/aws-ecr-repositorycreationtemplate.json" } }, "required": [ @@ -10307,9 +10300,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_ResourceDefinition": { + "AWS_IoT_Logging": { "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": "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", @@ -10317,14 +10310,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::ResourceDefinition" + "AWS::IoT::Logging" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::ResourceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.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-greengrass-resourcedefinition.json" + "$ref": "resources/aws-iot-logging.json" } }, "required": [ @@ -10338,9 +10331,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_BrowserSettings": { + "AWS_Inspector_ResourceGroup": { "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::Inspector::ResourceGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html)", "allOf": [ { "type": "object", @@ -10348,18 +10341,19 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::BrowserSettings" + "AWS::Inspector::ResourceGroup" ], "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::Inspector::ResourceGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-browsersettings.json" + "$ref": "resources/aws-inspector-resourcegroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -10368,9 +10362,9 @@ ], "additionalProperties": false }, - "AWS_AppFlow_ConnectorProfile": { + "AWS_ServiceCatalog_PortfolioShare": { "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::ServiceCatalog::PortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html)", "allOf": [ { "type": "object", @@ -10378,14 +10372,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppFlow::ConnectorProfile" + "AWS::ServiceCatalog::PortfolioShare" ], "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::ServiceCatalog::PortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html)" ] }, "Properties": { - "$ref": "resources/aws-appflow-connectorprofile.json" + "$ref": "resources/aws-servicecatalog-portfolioshare.json" } }, "required": [ @@ -10399,9 +10393,9 @@ ], "additionalProperties": false }, - "AWS_Personalize_Schema": { + "AWS_ECR_Repository": { "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": "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", @@ -10409,19 +10403,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Personalize::Schema" + "AWS::ECR::Repository" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Personalize::Schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-schema.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-personalize-schema.json" + "$ref": "resources/aws-ecr-repository.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -10430,9 +10423,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_User": { + "AWS_ServiceCatalog_LaunchTemplateConstraint": { "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 Type definition for AWS::ServiceCatalog::LaunchTemplateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html)", "allOf": [ { "type": "object", @@ -10440,14 +10433,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::User" + "AWS::ServiceCatalog::LaunchTemplateConstraint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.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-elasticache-user.json" + "$ref": "resources/aws-servicecatalog-launchtemplateconstraint.json" } }, "required": [ @@ -10461,9 +10454,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_Extension": { + "AWS_RDS_DBParameterGroup": { "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": "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", @@ -10471,14 +10464,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::Extension" + "AWS::RDS::DBParameterGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::Extension \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.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-appconfig-extension.json" + "$ref": "resources/aws-rds-dbparametergroup.json" } }, "required": [ @@ -10492,9 +10485,9 @@ ], "additionalProperties": false }, - "AWS_ECR_RepositoryCreationTemplate": { + "AWS_ApplicationAutoScaling_ScalingPolicy": { "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::ApplicationAutoScaling::ScalingPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html)", "allOf": [ { "type": "object", @@ -10502,14 +10495,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::RepositoryCreationTemplate" + "AWS::ApplicationAutoScaling::ScalingPolicy" ], "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::ApplicationAutoScaling::ScalingPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-ecr-repositorycreationtemplate.json" + "$ref": "resources/aws-applicationautoscaling-scalingpolicy.json" } }, "required": [ @@ -10523,9 +10516,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_CoreNetwork": { + "AWS_SageMaker_ModelPackageGroup": { "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": "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", @@ -10533,14 +10526,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::CoreNetwork" + "AWS::SageMaker::ModelPackageGroup" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::CoreNetwork Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-corenetwork.html)" + "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-networkmanager-corenetwork.json" + "$ref": "resources/aws-sagemaker-modelpackagegroup.json" } }, "required": [ @@ -10554,9 +10547,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Certificate": { + "AWS_EC2_NetworkInsightsAnalysis": { "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 schema for AWS::EC2::NetworkInsightsAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html)", "allOf": [ { "type": "object", @@ -10564,14 +10557,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Certificate" + "AWS::EC2::NetworkInsightsAnalysis" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.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-transfer-certificate.json" + "$ref": "resources/aws-ec2-networkinsightsanalysis.json" } }, "required": [ @@ -10585,9 +10578,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_GatewayResponse": { + "AWS_ApiGatewayV2_VpcLink": { "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": "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", @@ -10595,14 +10588,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::GatewayResponse" + "AWS::ApiGatewayV2::VpcLink" ], "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)" + "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-apigateway-gatewayresponse.json" + "$ref": "resources/aws-apigatewayv2-vpclink.json" } }, "required": [ @@ -10616,9 +10609,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_SizeConstraintSet": { + "AWS_DevOpsGuru_LogAnomalyDetectionIntegration": { "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": "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", @@ -10626,19 +10619,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::SizeConstraintSet" + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.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-wafregional-sizeconstraintset.json" + "$ref": "resources/aws-devopsguru-loganomalydetectionintegration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -10647,9 +10639,9 @@ ], "additionalProperties": false }, - "AWS_Connect_ContactFlowModule": { + "AWS_DataSync_LocationEFS": { "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": "Resource schema for AWS::DataSync::LocationEFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html)", "allOf": [ { "type": "object", @@ -10657,14 +10649,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::ContactFlowModule" + "AWS::DataSync::LocationEFS" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::ContactFlowModule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflowmodule.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-connect-contactflowmodule.json" + "$ref": "resources/aws-datasync-locationefs.json" } }, "required": [ @@ -10678,9 +10670,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_NotebookInstanceLifecycleConfig": { + "AWS_Events_ApiDestination": { "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": "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", @@ -10688,18 +10680,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::NotebookInstanceLifecycleConfig" + "AWS::Events::ApiDestination" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::NotebookInstanceLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.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-sagemaker-notebookinstancelifecycleconfig.json" + "$ref": "resources/aws-events-apidestination.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -10708,9 +10701,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Integration": { + "AWS_Pinpoint_Segment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ApiGatewayV2::Integration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.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", @@ -10718,14 +10711,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Integration" + "AWS::Pinpoint::Segment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ApiGatewayV2::Integration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.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-apigatewayv2-integration.json" + "$ref": "resources/aws-pinpoint-segment.json" } }, "required": [ @@ -10739,9 +10732,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Location": { + "AWS_Glue_TableOptimizer": { "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::Glue::TableOptimizer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html)", "allOf": [ { "type": "object", @@ -10749,14 +10742,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Location" + "AWS::Glue::TableOptimizer" ], "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::Glue::TableOptimizer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-location.json" + "$ref": "resources/aws-glue-tableoptimizer.json" } }, "required": [ @@ -10770,9 +10763,9 @@ ], "additionalProperties": false }, - "AWS_Lex_ResourcePolicy": { + "AWS_IoTWireless_NetworkAnalyzerConfiguration": { "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": "Create and manage NetworkAnalyzerConfiguration resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-networkanalyzerconfiguration.html)", "allOf": [ { "type": "object", @@ -10780,14 +10773,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lex::ResourcePolicy" + "AWS::IoTWireless::NetworkAnalyzerConfiguration" ], "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)" + "Create and manage NetworkAnalyzerConfiguration resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-networkanalyzerconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-lex-resourcepolicy.json" + "$ref": "resources/aws-iotwireless-networkanalyzerconfiguration.json" } }, "required": [ @@ -10801,9 +10794,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Workflow": { + "AWS_SSMContacts_Plan": { "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": "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", @@ -10811,19 +10804,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Workflow" + "AWS::SSMContacts::Plan" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-workflow.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-transfer-workflow.json" + "$ref": "resources/aws-ssmcontacts-plan.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -10832,9 +10824,9 @@ ], "additionalProperties": false }, - "AWS_Batch_JobDefinition": { + "AWS_Connect_ContactFlow": { "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": "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", @@ -10842,14 +10834,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Batch::JobDefinition" + "AWS::Connect::ContactFlow" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Batch::JobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.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-batch-jobdefinition.json" + "$ref": "resources/aws-connect-contactflow.json" } }, "required": [ @@ -10863,9 +10855,9 @@ ], "additionalProperties": false }, - "AWS_S3_MultiRegionAccessPointPolicy": { + "AWS_SageMaker_ModelBiasJobDefinition": { "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::SageMaker::ModelBiasJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html)", "allOf": [ { "type": "object", @@ -10873,14 +10865,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::MultiRegionAccessPointPolicy" + "AWS::SageMaker::ModelBiasJobDefinition" ], "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::SageMaker::ModelBiasJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-multiregionaccesspointpolicy.json" + "$ref": "resources/aws-sagemaker-modelbiasjobdefinition.json" } }, "required": [ @@ -10894,9 +10886,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Asset": { + "AWS_S3_StorageLensGroup": { "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": "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", @@ -10904,14 +10896,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Asset" + "AWS::S3::StorageLensGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.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-iotsitewise-asset.json" + "$ref": "resources/aws-s3-storagelensgroup.json" } }, "required": [ @@ -10925,9 +10917,9 @@ ], "additionalProperties": false }, - "AWS_SES_EmailIdentity": { + "AWS_MediaPackageV2_OriginEndpointPolicy": { "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": "

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", @@ -10935,14 +10927,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::EmailIdentity" + "AWS::MediaPackageV2::OriginEndpointPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::EmailIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-emailidentity.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-ses-emailidentity.json" + "$ref": "resources/aws-mediapackagev2-originendpointpolicy.json" } }, "required": [ @@ -10956,9 +10948,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_AppBlock": { + "AWS_Panorama_PackageVersion": { "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": "Schema for PackageVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-packageversion.html)", "allOf": [ { "type": "object", @@ -10966,14 +10958,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::AppBlock" + "AWS::Panorama::PackageVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::AppBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html)" + "Schema for PackageVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-packageversion.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-appblock.json" + "$ref": "resources/aws-panorama-packageversion.json" } }, "required": [ @@ -10987,9 +10979,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_Channel": { + "AWS_IVSChat_LoggingConfiguration": { "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": "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", @@ -10997,14 +10989,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::Channel" + "AWS::IVSChat::LoggingConfiguration" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaTailor::Channel Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.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-mediatailor-channel.json" + "$ref": "resources/aws-ivschat-loggingconfiguration.json" } }, "required": [ @@ -11018,9 +11010,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBCluster": { + "AWS_CloudFormation_WaitCondition": { "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 Type definition for AWS::CloudFormation::WaitCondition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitcondition.html)", "allOf": [ { "type": "object", @@ -11028,14 +11020,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBCluster" + "AWS::CloudFormation::WaitCondition" ], "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 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-neptune-dbcluster.json" + "$ref": "resources/aws-cloudformation-waitcondition.json" } }, "required": [ @@ -11048,9 +11040,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_EnvironmentProfile": { + "AWS_IoT_DomainConfiguration": { "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": "Create and manage a Domain Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html)", "allOf": [ { "type": "object", @@ -11058,19 +11050,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::EnvironmentProfile" + "AWS::IoT::DomainConfiguration" ], "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)" + "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-datazone-environmentprofile.json" + "$ref": "resources/aws-iot-domainconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -11079,9 +11070,9 @@ ], "additionalProperties": false }, - "AWS_RedshiftServerless_Workgroup": { + "AWS_Timestream_Table": { "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": "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", @@ -11089,14 +11080,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RedshiftServerless::Workgroup" + "AWS::Timestream::Table" ], "markdownEnumDescriptions": [ - "Definition of AWS::RedshiftServerless::Workgroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-workgroup.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-redshiftserverless-workgroup.json" + "$ref": "resources/aws-timestream-table.json" } }, "required": [ @@ -11110,9 +11101,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_AnomalyDetector": { + "AWS_MediaConnect_FlowEntitlement": { "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": "Resource schema for AWS::MediaConnect::FlowEntitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html)", "allOf": [ { "type": "object", @@ -11120,18 +11111,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::AnomalyDetector" + "AWS::MediaConnect::FlowEntitlement" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudWatch::AnomalyDetector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.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-cloudwatch-anomalydetector.json" + "$ref": "resources/aws-mediaconnect-flowentitlement.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11140,9 +11132,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_Alarm": { + "AWS_BillingConductor_PricingPlan": { "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": "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", @@ -11150,14 +11142,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::Alarm" + "AWS::BillingConductor::PricingPlan" ], "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)" + "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-cloudwatch-alarm.json" + "$ref": "resources/aws-billingconductor-pricingplan.json" } }, "required": [ @@ -11171,9 +11163,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_ParameterGroup": { + "AWS_Connect_ApprovedOrigin": { "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": "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", @@ -11181,14 +11173,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::ParameterGroup" + "AWS::Connect::ApprovedOrigin" ], "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)" + "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-memorydb-parametergroup.json" + "$ref": "resources/aws-connect-approvedorigin.json" } }, "required": [ @@ -11202,9 +11194,9 @@ ], "additionalProperties": false }, - "AWS_EC2_ClientVpnRoute": { + "AWS_EC2_NetworkAclEntry": { "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": "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", @@ -11212,14 +11204,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::ClientVpnRoute" + "AWS::EC2::NetworkAclEntry" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::ClientVpnRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.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-ec2-clientvpnroute.json" + "$ref": "resources/aws-ec2-networkaclentry.json" } }, "required": [ @@ -11233,9 +11225,9 @@ ], "additionalProperties": false }, - "AWS_Backup_BackupPlan": { + "AWS_WAFRegional_SqlInjectionMatchSet": { "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 Type definition for AWS::WAFRegional::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html)", "allOf": [ { "type": "object", @@ -11243,14 +11235,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::BackupPlan" + "AWS::WAFRegional::SqlInjectionMatchSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Backup::BackupPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.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-backup-backupplan.json" + "$ref": "resources/aws-wafregional-sqlinjectionmatchset.json" } }, "required": [ @@ -11264,9 +11256,9 @@ ], "additionalProperties": false }, - "AWS_GreengrassV2_ComponentVersion": { + "AWS_AppStream_AppBlockBuilder": { "type": "object", - "markdownDescription": "Resource for Greengrass component version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.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", @@ -11274,18 +11266,19 @@ "Type": { "type": "string", "enum": [ - "AWS::GreengrassV2::ComponentVersion" + "AWS::AppStream::AppBlockBuilder" ], "markdownEnumDescriptions": [ - "Resource for Greengrass component version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.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-greengrassv2-componentversion.json" + "$ref": "resources/aws-appstream-appblockbuilder.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11294,9 +11287,9 @@ ], "additionalProperties": false }, - "AWS_SES_VdmAttributes": { + "AWS_Route53Resolver_ResolverConfig": { "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 schema for AWS::Route53Resolver::ResolverConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverconfig.html)", "allOf": [ { "type": "object", @@ -11304,18 +11297,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::VdmAttributes" + "AWS::Route53Resolver::ResolverConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::VdmAttributes \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-vdmattributes.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-ses-vdmattributes.json" + "$ref": "resources/aws-route53resolver-resolverconfig.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11324,9 +11318,9 @@ ], "additionalProperties": false }, - "AWS_WAF_IPSet": { + "AWS_IVS_Channel": { "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::IVS::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html)", "allOf": [ { "type": "object", @@ -11334,19 +11328,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::IPSet" + "AWS::IVS::Channel" ], "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::IVS::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-ipset.json" + "$ref": "resources/aws-ivs-channel.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -11355,9 +11348,9 @@ ], "additionalProperties": false }, - "AWS_LookoutEquipment_InferenceScheduler": { + "AWS_S3_AccessPoint": { "type": "object", - "markdownDescription": "Resource schema for LookoutEquipment InferenceScheduler. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.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", @@ -11365,14 +11358,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LookoutEquipment::InferenceScheduler" + "AWS::S3::AccessPoint" ], "markdownEnumDescriptions": [ - "Resource schema for LookoutEquipment InferenceScheduler. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.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-lookoutequipment-inferencescheduler.json" + "$ref": "resources/aws-s3-accesspoint.json" } }, "required": [ @@ -11386,9 +11379,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_Instance": { + "AWS_CloudFormation_HookVersion": { "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": "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", @@ -11396,14 +11389,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::Instance" + "AWS::CloudFormation::HookVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.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-servicediscovery-instance.json" + "$ref": "resources/aws-cloudformation-hookversion.json" } }, "required": [ @@ -11417,9 +11410,9 @@ ], "additionalProperties": false }, - "AWS_EC2_PlacementGroup": { + "AWS_QBusiness_DataSource": { "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": "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", @@ -11427,18 +11420,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::PlacementGroup" + "AWS::QBusiness::DataSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::PlacementGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.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-ec2-placementgroup.json" + "$ref": "resources/aws-qbusiness-datasource.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11447,9 +11441,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesThinClient_Environment": { + "AWS_Omics_ReferenceStore": { "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": "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", @@ -11457,14 +11451,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesThinClient::Environment" + "AWS::Omics::ReferenceStore" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::WorkSpacesThinClient::Environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesthinclient-environment.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-workspacesthinclient-environment.json" + "$ref": "resources/aws-omics-referencestore.json" } }, "required": [ @@ -11478,9 +11472,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Job": { + "AWS_ECS_TaskSet": { "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": "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", @@ -11488,14 +11482,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Job" + "AWS::ECS::TaskSet" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.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-databrew-job.json" + "$ref": "resources/aws-ecs-taskset.json" } }, "required": [ @@ -11509,9 +11503,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayConnect": { + "AWS_AutoScaling_ScheduledAction": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayConnect type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.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", @@ -11519,14 +11513,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayConnect" + "AWS::AutoScaling::ScheduledAction" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayConnect type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.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-ec2-transitgatewayconnect.json" + "$ref": "resources/aws-autoscaling-scheduledaction.json" } }, "required": [ @@ -11540,9 +11534,9 @@ ], "additionalProperties": false }, - "AWS_ACMPCA_Certificate": { + "AWS_WorkSpacesWeb_IdentityProvider": { "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": "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", @@ -11550,14 +11544,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ACMPCA::Certificate" + "AWS::WorkSpacesWeb::IdentityProvider" ], "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)" + "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-acmpca-certificate.json" + "$ref": "resources/aws-workspacesweb-identityprovider.json" } }, "required": [ @@ -11571,9 +11565,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayMulticastDomain": { + "AWS_Route53Resolver_FirewallDomainList": { "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::Route53Resolver::FirewallDomainList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewalldomainlist.html)", "allOf": [ { "type": "object", @@ -11581,19 +11575,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayMulticastDomain" + "AWS::Route53Resolver::FirewallDomainList" ], "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::Route53Resolver::FirewallDomainList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewalldomainlist.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewaymulticastdomain.json" + "$ref": "resources/aws-route53resolver-firewalldomainlist.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -11602,9 +11595,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_LiveSource": { + "AWS_ApiGateway_UsagePlan": { "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": "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", @@ -11612,19 +11605,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::LiveSource" + "AWS::ApiGateway::UsagePlan" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaTailor::LiveSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-livesource.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-mediatailor-livesource.json" + "$ref": "resources/aws-apigateway-usageplan.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -11633,9 +11625,9 @@ ], "additionalProperties": false }, - "AWS_SSM_MaintenanceWindow": { + "AWS_AppFlow_Flow": { "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": "Resource schema for AWS::AppFlow::Flow. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html)", "allOf": [ { "type": "object", @@ -11643,14 +11635,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::MaintenanceWindow" + "AWS::AppFlow::Flow" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::MaintenanceWindow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.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-ssm-maintenancewindow.json" + "$ref": "resources/aws-appflow-flow.json" } }, "required": [ @@ -11664,9 +11656,9 @@ ], "additionalProperties": false }, - "AWS_AppIntegrations_EventIntegration": { + "AWS_S3Outposts_AccessPoint": { "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 Type Definition for AWS::S3Outposts::AccessPoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html)", "allOf": [ { "type": "object", @@ -11674,14 +11666,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppIntegrations::EventIntegration" + "AWS::S3Outposts::AccessPoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppIntegrations::EventIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.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-appintegrations-eventintegration.json" + "$ref": "resources/aws-s3outposts-accesspoint.json" } }, "required": [ @@ -11695,9 +11687,9 @@ ], "additionalProperties": false }, - "AWS_CloudTrail_Trail": { + "AWS_EventSchemas_Registry": { "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": "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", @@ -11705,19 +11697,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudTrail::Trail" + "AWS::EventSchemas::Registry" ], "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)" + "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-cloudtrail-trail.json" + "$ref": "resources/aws-eventschemas-registry.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -11726,9 +11717,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_SqlInjectionMatchSet": { + "AWS_EC2_EnclaveCertificateIamRoleAssociation": { "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": "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", @@ -11736,14 +11727,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::SqlInjectionMatchSet" + "AWS::EC2::EnclaveCertificateIamRoleAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.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-wafregional-sqlinjectionmatchset.json" + "$ref": "resources/aws-ec2-enclavecertificateiamroleassociation.json" } }, "required": [ @@ -11757,9 +11748,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_RestApi": { + "AWS_IoTWireless_TaskDefinition": { "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": "Creates a gateway task definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-taskdefinition.html)", "allOf": [ { "type": "object", @@ -11767,18 +11758,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::RestApi" + "AWS::IoTWireless::TaskDefinition" ], "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)" + "Creates a gateway task definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-taskdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-restapi.json" + "$ref": "resources/aws-iotwireless-taskdefinition.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11787,9 +11779,9 @@ ], "additionalProperties": false }, - "AWS_IVS_RecordingConfiguration": { + "AWS_SSM_Document": { "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": "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", @@ -11797,14 +11789,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::RecordingConfiguration" + "AWS::SSM::Document" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::RecordingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.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-ivs-recordingconfiguration.json" + "$ref": "resources/aws-ssm-document.json" } }, "required": [ @@ -11818,9 +11810,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_Device": { + "AWS_Glue_DataCatalogEncryptionSettings": { "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": "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", @@ -11828,14 +11820,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::Device" + "AWS::Glue::DataCatalogEncryptionSettings" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::Device type describes a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.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-networkmanager-device.json" + "$ref": "resources/aws-glue-datacatalogencryptionsettings.json" } }, "required": [ @@ -11849,9 +11841,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EIPAssociation": { + "AWS_CloudFront_OriginAccessControl": { "type": "object", - "markdownDescription": "Resource schema for EC2 EIP association. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::OriginAccessControl \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html)", "allOf": [ { "type": "object", @@ -11859,18 +11851,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EIPAssociation" + "AWS::CloudFront::OriginAccessControl" ], "markdownEnumDescriptions": [ - "Resource schema for EC2 EIP association. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html)" + "Resource Type definition for AWS::CloudFront::OriginAccessControl \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-eipassociation.json" + "$ref": "resources/aws-cloudfront-originaccesscontrol.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11879,9 +11872,9 @@ ], "additionalProperties": false }, - "AWS_GlobalAccelerator_EndpointGroup": { + "AWS_Glue_CustomEntityType": { "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": "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", @@ -11889,19 +11882,18 @@ "Type": { "type": "string", "enum": [ - "AWS::GlobalAccelerator::EndpointGroup" + "AWS::Glue::CustomEntityType" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GlobalAccelerator::EndpointGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.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-globalaccelerator-endpointgroup.json" + "$ref": "resources/aws-glue-customentitytype.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -11910,9 +11902,9 @@ ], "additionalProperties": false }, - "AWS_NeptuneGraph_Graph": { + "AWS_Transfer_Profile": { "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": "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", @@ -11920,14 +11912,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NeptuneGraph::Graph" + "AWS::Transfer::Profile" ], "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)" + "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-neptunegraph-graph.json" + "$ref": "resources/aws-transfer-profile.json" } }, "required": [ @@ -11941,9 +11933,9 @@ ], "additionalProperties": false }, - "AWS_FinSpace_Environment": { + "AWS_GroundStation_Config": { "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": "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", @@ -11951,14 +11943,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FinSpace::Environment" + "AWS::GroundStation::Config" ], "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)" + "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-finspace-environment.json" + "$ref": "resources/aws-groundstation-config.json" } }, "required": [ @@ -11972,9 +11964,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_BridgeOutput": { + "AWS_AppStream_StackUserAssociation": { "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": "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", @@ -11982,14 +11974,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::BridgeOutput" + "AWS::AppStream::StackUserAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::BridgeOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.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-mediaconnect-bridgeoutput.json" + "$ref": "resources/aws-appstream-stackuserassociation.json" } }, "required": [ @@ -12003,9 +11995,9 @@ ], "additionalProperties": false }, - "AWS_SQS_QueuePolicy": { + "AWS_Glue_Table": { "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::Glue::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html)", "allOf": [ { "type": "object", @@ -12013,14 +12005,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SQS::QueuePolicy" + "AWS::Glue::Table" ], "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::Glue::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html)" ] }, "Properties": { - "$ref": "resources/aws-sqs-queuepolicy.json" + "$ref": "resources/aws-glue-table.json" } }, "required": [ @@ -12034,9 +12026,9 @@ ], "additionalProperties": false }, - "AWS_SSMContacts_ContactChannel": { + "AWS_EC2_TransitGateway": { "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": "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", @@ -12044,14 +12036,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMContacts::ContactChannel" + "AWS::EC2::TransitGateway" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSMContacts::ContactChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contactchannel.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-ssmcontacts-contactchannel.json" + "$ref": "resources/aws-ec2-transitgateway.json" } }, "required": [ @@ -12064,9 +12056,9 @@ ], "additionalProperties": false }, - "AWS_HealthImaging_Datastore": { + "AWS_EC2_NetworkInterfacePermission": { "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 Type definition for AWS::EC2::NetworkInterfacePermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html)", "allOf": [ { "type": "object", @@ -12074,18 +12066,19 @@ "Type": { "type": "string", "enum": [ - "AWS::HealthImaging::Datastore" + "AWS::EC2::NetworkInterfacePermission" ], "markdownEnumDescriptions": [ - "Definition of AWS::HealthImaging::Datastore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.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-healthimaging-datastore.json" + "$ref": "resources/aws-ec2-networkinterfacepermission.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12094,9 +12087,9 @@ ], "additionalProperties": false }, - "AWS_MSK_BatchScramSecret": { + "AWS_EC2_TrafficMirrorFilterRule": { "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::EC2::TrafficMirrorFilterRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html)", "allOf": [ { "type": "object", @@ -12104,14 +12097,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::BatchScramSecret" + "AWS::EC2::TrafficMirrorFilterRule" ], "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::EC2::TrafficMirrorFilterRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html)" ] }, "Properties": { - "$ref": "resources/aws-msk-batchscramsecret.json" + "$ref": "resources/aws-ec2-trafficmirrorfilterrule.json" } }, "required": [ @@ -12125,9 +12118,9 @@ ], "additionalProperties": false }, - "AWS_EC2_CapacityReservationFleet": { + "AWS_Connect_PredefinedAttribute": { "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": "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", @@ -12135,18 +12128,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::CapacityReservationFleet" + "AWS::Connect::PredefinedAttribute" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::CapacityReservationFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.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-capacityreservationfleet.json" + "$ref": "resources/aws-connect-predefinedattribute.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12155,9 +12149,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_Application": { + "AWS_NeptuneGraph_Graph": { "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": "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", @@ -12165,14 +12159,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::Application" + "AWS::NeptuneGraph::Graph" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.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-appstream-application.json" + "$ref": "resources/aws-neptunegraph-graph.json" } }, "required": [ @@ -12186,9 +12180,9 @@ ], "additionalProperties": false }, - "AWS_SES_Template": { + "AWS_Forecast_Dataset": { "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::Forecast::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-dataset.html)", "allOf": [ { "type": "object", @@ -12196,18 +12190,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::Template" + "AWS::Forecast::Dataset" ], "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::Forecast::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-dataset.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-template.json" + "$ref": "resources/aws-forecast-dataset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12216,9 +12211,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Registry": { + "AWS_ApiGateway_ApiKey": { "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": "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", @@ -12226,19 +12221,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Registry" + "AWS::ApiGateway::ApiKey" ], "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)" + "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-glue-registry.json" + "$ref": "resources/aws-apigateway-apikey.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -12247,9 +12241,9 @@ ], "additionalProperties": false }, - "AWS_Comprehend_DocumentClassifier": { + "AWS_RDS_OptionGroup": { "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": "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", @@ -12257,14 +12251,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Comprehend::DocumentClassifier" + "AWS::RDS::OptionGroup" ], "markdownEnumDescriptions": [ - "Document Classifier enables training document classifier models. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-documentclassifier.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-comprehend-documentclassifier.json" + "$ref": "resources/aws-rds-optiongroup.json" } }, "required": [ @@ -12278,9 +12272,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_Connector": { + "AWS_Shield_Protection": { "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": "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", @@ -12288,14 +12282,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::Connector" + "AWS::Shield::Protection" ], "markdownEnumDescriptions": [ - "Definition of AWS::PCAConnectorAD::Connector Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-connector.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-pcaconnectorad-connector.json" + "$ref": "resources/aws-shield-protection.json" } }, "required": [ @@ -12309,9 +12303,9 @@ ], "additionalProperties": false }, - "AWS_MSK_Replicator": { + "AWS_CustomerProfiles_CalculatedAttributeDefinition": { "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": "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", @@ -12319,14 +12313,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::Replicator" + "AWS::CustomerProfiles::CalculatedAttributeDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::Replicator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-replicator.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-msk-replicator.json" + "$ref": "resources/aws-customerprofiles-calculatedattributedefinition.json" } }, "required": [ @@ -12340,9 +12334,9 @@ ], "additionalProperties": false }, - "AWS_EC2_ClientVpnTargetNetworkAssociation": { + "AWS_DataSync_Task": { "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": "Resource schema for AWS::DataSync::Task. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html)", "allOf": [ { "type": "object", @@ -12350,14 +12344,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::ClientVpnTargetNetworkAssociation" + "AWS::DataSync::Task" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::ClientVpnTargetNetworkAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.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-ec2-clientvpntargetnetworkassociation.json" + "$ref": "resources/aws-datasync-task.json" } }, "required": [ @@ -12371,9 +12365,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_LoadBalancer": { + "AWS_APS_RuleGroupsNamespace": { "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": "RuleGroupsNamespace schema for cloudformation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html)", "allOf": [ { "type": "object", @@ -12381,18 +12375,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::LoadBalancer" + "AWS::APS::RuleGroupsNamespace" ], "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)" + "RuleGroupsNamespace schema for cloudformation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-loadbalancer.json" + "$ref": "resources/aws-aps-rulegroupsnamespace.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12401,9 +12396,9 @@ ], "additionalProperties": false }, - "AWS_S3ObjectLambda_AccessPoint": { + "AWS_EC2_DHCPOptions": { "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 Type definition for AWS::EC2::DHCPOptions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html)", "allOf": [ { "type": "object", @@ -12411,19 +12406,18 @@ "Type": { "type": "string", "enum": [ - "AWS::S3ObjectLambda::AccessPoint" + "AWS::EC2::DHCPOptions" ], "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 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-s3objectlambda-accesspoint.json" + "$ref": "resources/aws-ec2-dhcpoptions.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -12432,9 +12426,9 @@ ], "additionalProperties": false }, - "AWS_SSMIncidents_ResponsePlan": { + "AWS_SES_MailManagerAddonSubscription": { "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": "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", @@ -12442,14 +12436,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMIncidents::ResponsePlan" + "AWS::SES::MailManagerAddonSubscription" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::SSMIncidents::ResponsePlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.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-ssmincidents-responseplan.json" + "$ref": "resources/aws-ses-mailmanageraddonsubscription.json" } }, "required": [ @@ -12463,9 +12457,9 @@ ], "additionalProperties": false }, - "AWS_GlobalAccelerator_Accelerator": { + "AWS_AppStream_ApplicationEntitlementAssociation": { "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": "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", @@ -12473,14 +12467,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GlobalAccelerator::Accelerator" + "AWS::AppStream::ApplicationEntitlementAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GlobalAccelerator::Accelerator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.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-globalaccelerator-accelerator.json" + "$ref": "resources/aws-appstream-applicationentitlementassociation.json" } }, "required": [ @@ -12494,9 +12488,9 @@ ], "additionalProperties": false }, - "AWS_IoT_FleetMetric": { + "AWS_EC2_Route": { "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": "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", @@ -12504,14 +12498,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::FleetMetric" + "AWS::EC2::Route" ], "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)" + "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-iot-fleetmetric.json" + "$ref": "resources/aws-ec2-route.json" } }, "required": [ @@ -12525,9 +12519,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_MonitoringSubscription": { + "AWS_DataZone_Project": { "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": "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", @@ -12535,14 +12529,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::MonitoringSubscription" + "AWS::DataZone::Project" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::MonitoringSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.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-cloudfront-monitoringsubscription.json" + "$ref": "resources/aws-datazone-project.json" } }, "required": [ @@ -12556,9 +12550,9 @@ ], "additionalProperties": false }, - "AWS_EC2_InternetGateway": { + "AWS_AppConfig_Environment": { "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": "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", @@ -12566,18 +12560,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::InternetGateway" + "AWS::AppConfig::Environment" ], "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)" + "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-ec2-internetgateway.json" + "$ref": "resources/aws-appconfig-environment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12586,9 +12581,9 @@ ], "additionalProperties": false }, - "AWS_IVS_PlaybackRestrictionPolicy": { + "AWS_PinpointEmail_ConfigurationSetEventDestination": { "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::PinpointEmail::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html)", "allOf": [ { "type": "object", @@ -12596,14 +12591,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::PlaybackRestrictionPolicy" + "AWS::PinpointEmail::ConfigurationSetEventDestination" ], "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::PinpointEmail::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-playbackrestrictionpolicy.json" + "$ref": "resources/aws-pinpointemail-configurationseteventdestination.json" } }, "required": [ @@ -12617,9 +12612,9 @@ ], "additionalProperties": false }, - "AWS_Comprehend_Flywheel": { + "AWS_ApiGatewayV2_RouteResponse": { "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": "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", @@ -12627,14 +12622,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Comprehend::Flywheel" + "AWS::ApiGatewayV2::RouteResponse" ], "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)" + "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-comprehend-flywheel.json" + "$ref": "resources/aws-apigatewayv2-routeresponse.json" } }, "required": [ @@ -12648,9 +12643,9 @@ ], "additionalProperties": false }, - "AWS_Logs_LogGroup": { + "AWS_Kinesis_StreamConsumer": { "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": "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", @@ -12658,18 +12653,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::LogGroup" + "AWS::Kinesis::StreamConsumer" ], "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)" + "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-logs-loggroup.json" + "$ref": "resources/aws-kinesis-streamconsumer.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12678,9 +12674,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_DataSource": { + "AWS_Cognito_UserPoolResourceServer": { "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": "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", @@ -12688,14 +12684,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::DataSource" + "AWS::Cognito::UserPoolResourceServer" ], "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)" + "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-datazone-datasource.json" + "$ref": "resources/aws-cognito-userpoolresourceserver.json" } }, "required": [ @@ -12709,9 +12705,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Function": { + "AWS_GroundStation_DataflowEndpointGroup": { "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": "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", @@ -12719,14 +12715,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Function" + "AWS::GroundStation::DataflowEndpointGroup" ], "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)" + "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-lambda-function.json" + "$ref": "resources/aws-groundstation-dataflowendpointgroup.json" } }, "required": [ @@ -12740,9 +12736,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_AccessPolicy": { + "AWS_Route53Resolver_ResolverRule": { "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::Route53Resolver::ResolverRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html)", "allOf": [ { "type": "object", @@ -12750,14 +12746,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::AccessPolicy" + "AWS::Route53Resolver::ResolverRule" ], "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::Route53Resolver::ResolverRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-accesspolicy.json" + "$ref": "resources/aws-route53resolver-resolverrule.json" } }, "required": [ @@ -12771,9 +12767,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Volume": { + "AWS_NetworkManager_ConnectAttachment": { "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 on the coo \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.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", @@ -12781,14 +12777,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Volume" + "AWS::NetworkManager::ConnectAttachment" ], "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 on the coo \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.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-ec2-volume.json" + "$ref": "resources/aws-networkmanager-connectattachment.json" } }, "required": [ @@ -12802,9 +12798,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_Mesh": { + "AWS_PaymentCryptography_Alias": { "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::PaymentCryptography::Alias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-alias.html)", "allOf": [ { "type": "object", @@ -12812,18 +12808,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::Mesh" + "AWS::PaymentCryptography::Alias" ], "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::PaymentCryptography::Alias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-alias.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-mesh.json" + "$ref": "resources/aws-paymentcryptography-alias.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12832,9 +12829,9 @@ ], "additionalProperties": false }, - "AWS_Route53_KeySigningKey": { + "AWS_QuickSight_VPCConnection": { "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": "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", @@ -12842,19 +12839,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::KeySigningKey" + "AWS::QuickSight::VPCConnection" ], "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)" + "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-route53-keysigningkey.json" + "$ref": "resources/aws-quicksight-vpcconnection.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -12863,9 +12859,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_PublicTypeVersion": { + "AWS_ApplicationAutoScaling_ScalableTarget": { "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": "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", @@ -12873,18 +12869,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::PublicTypeVersion" + "AWS::ApplicationAutoScaling::ScalableTarget" ], "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)" + "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-cloudformation-publictypeversion.json" + "$ref": "resources/aws-applicationautoscaling-scalabletarget.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12893,9 +12890,9 @@ ], "additionalProperties": false }, - "AWS_EC2_PrefixList": { + "AWS_SNS_Subscription": { "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": "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", @@ -12903,14 +12900,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::PrefixList" + "AWS::SNS::Subscription" ], "markdownEnumDescriptions": [ - "Resource schema of AWS::EC2::PrefixList Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html)" + "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-ec2-prefixlist.json" + "$ref": "resources/aws-sns-subscription.json" } }, "required": [ @@ -12924,9 +12921,9 @@ ], "additionalProperties": false }, - "AWS_Logs_LogStream": { + "AWS_GuardDuty_Filter": { "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": "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", @@ -12934,14 +12931,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::LogStream" + "AWS::GuardDuty::Filter" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Logs::LogStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.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-logs-logstream.json" + "$ref": "resources/aws-guardduty-filter.json" } }, "required": [ @@ -12955,9 +12952,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_Environment": { + "AWS_DevOpsGuru_NotificationChannel": { "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": "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", @@ -12965,14 +12962,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::Environment" + "AWS::DevOpsGuru::NotificationChannel" ], "markdownEnumDescriptions": [ - "Definition of AWS::DataZone::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environment.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-datazone-environment.json" + "$ref": "resources/aws-devopsguru-notificationchannel.json" } }, "required": [ @@ -12986,9 +12983,9 @@ ], "additionalProperties": false }, - "AWS_PinpointEmail_ConfigurationSetEventDestination": { + "AWS_Synthetics_Canary": { "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::Synthetics::Canary \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html)", "allOf": [ { "type": "object", @@ -12996,14 +12993,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PinpointEmail::ConfigurationSetEventDestination" + "AWS::Synthetics::Canary" ], "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::Synthetics::Canary \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpointemail-configurationseteventdestination.json" + "$ref": "resources/aws-synthetics-canary.json" } }, "required": [ @@ -13017,9 +13014,9 @@ ], "additionalProperties": false }, - "AWS_Connect_RoutingProfile": { + "AWS_OpsWorksCM_Server": { "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": "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", @@ -13027,14 +13024,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::RoutingProfile" + "AWS::OpsWorksCM::Server" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::RoutingProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-routingprofile.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-connect-routingprofile.json" + "$ref": "resources/aws-opsworkscm-server.json" } }, "required": [ @@ -13048,9 +13045,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_PrincipalPermissions": { + "AWS_MSK_BatchScramSecret": { "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 Type definition for AWS::MSK::BatchScramSecret \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html)", "allOf": [ { "type": "object", @@ -13058,14 +13055,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::PrincipalPermissions" + "AWS::MSK::BatchScramSecret" ], "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 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-lakeformation-principalpermissions.json" + "$ref": "resources/aws-msk-batchscramsecret.json" } }, "required": [ @@ -13079,9 +13076,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_DataSource": { + "AWS_MediaPackage_Asset": { "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": "Resource schema for AWS::MediaPackage::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html)", "allOf": [ { "type": "object", @@ -13089,18 +13086,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::DataSource" + "AWS::MediaPackage::Asset" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::DataSource Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.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-quicksight-datasource.json" + "$ref": "resources/aws-mediapackage-asset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13109,9 +13107,9 @@ ], "additionalProperties": false }, - "AWS_Connect_PhoneNumber": { + "AWS_Omics_AnnotationStore": { "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": "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", @@ -13119,14 +13117,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::PhoneNumber" + "AWS::Omics::AnnotationStore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::PhoneNumber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-phonenumber.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-connect-phonenumber.json" + "$ref": "resources/aws-omics-annotationstore.json" } }, "required": [ @@ -13140,9 +13138,9 @@ ], "additionalProperties": false }, - "AWS_Backup_RestoreTestingPlan": { + "AWS_CleanRooms_PrivacyBudgetTemplate": { "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": "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", @@ -13150,14 +13148,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::RestoreTestingPlan" + "AWS::CleanRooms::PrivacyBudgetTemplate" ], "markdownEnumDescriptions": [ - "Definition of AWS::Backup::RestoreTestingPlan Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.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-backup-restoretestingplan.json" + "$ref": "resources/aws-cleanrooms-privacybudgettemplate.json" } }, "required": [ @@ -13171,9 +13169,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_TagOptionAssociation": { + "AWS_ServiceCatalog_LaunchNotificationConstraint": { "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": "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", @@ -13181,14 +13179,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::TagOptionAssociation" + "AWS::ServiceCatalog::LaunchNotificationConstraint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::TagOptionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.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-servicecatalog-tagoptionassociation.json" + "$ref": "resources/aws-servicecatalog-launchnotificationconstraint.json" } }, "required": [ @@ -13202,9 +13200,9 @@ ], "additionalProperties": false }, - "AWS_Signer_SigningProfile": { + "AWS_GameLift_Script": { "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::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", @@ -13212,14 +13210,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Signer::SigningProfile" + "AWS::GameLift::Script" ], "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::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-signer-signingprofile.json" + "$ref": "resources/aws-gamelift-script.json" } }, "required": [ @@ -13233,9 +13231,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBSecurityGroupIngress": { + "AWS_Transfer_Certificate": { "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": "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", @@ -13243,14 +13241,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBSecurityGroupIngress" + "AWS::Transfer::Certificate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::RDS::DBSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.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-rds-dbsecuritygroupingress.json" + "$ref": "resources/aws-transfer-certificate.json" } }, "required": [ @@ -13264,9 +13262,9 @@ ], "additionalProperties": false }, - "AWS_Location_GeofenceCollection": { + "AWS_CUR_ReportDefinition": { "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": "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", @@ -13274,14 +13272,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::GeofenceCollection" + "AWS::CUR::ReportDefinition" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::GeofenceCollection Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-geofencecollection.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-location-geofencecollection.json" + "$ref": "resources/aws-cur-reportdefinition.json" } }, "required": [ @@ -13295,9 +13293,9 @@ ], "additionalProperties": false }, - "AWS_RefactorSpaces_Service": { + "AWS_ApiGatewayV2_Stage": { "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 Type definition for AWS::ApiGatewayV2::Stage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html)", "allOf": [ { "type": "object", @@ -13305,14 +13303,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RefactorSpaces::Service" + "AWS::ApiGatewayV2::Stage" ], "markdownEnumDescriptions": [ - "Definition of AWS::RefactorSpaces::Service Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-service.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-refactorspaces-service.json" + "$ref": "resources/aws-apigatewayv2-stage.json" } }, "required": [ @@ -13326,9 +13324,9 @@ ], "additionalProperties": false }, - "AWS_S3_AccessGrantsLocation": { + "AWS_CloudTrail_EventDataStore": { "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)", + "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", @@ -13336,14 +13334,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::AccessGrantsLocation" + "AWS::CloudTrail::EventDataStore" ], "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)" + "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-s3-accessgrantslocation.json" + "$ref": "resources/aws-cloudtrail-eventdatastore.json" } }, "required": [ @@ -13356,9 +13354,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TrafficMirrorFilterRule": { + "AWS_DAX_SubnetGroup": { "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::DAX::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html)", "allOf": [ { "type": "object", @@ -13366,14 +13364,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TrafficMirrorFilterRule" + "AWS::DAX::SubnetGroup" ], "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::DAX::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-trafficmirrorfilterrule.json" + "$ref": "resources/aws-dax-subnetgroup.json" } }, "required": [ @@ -13387,9 +13385,9 @@ ], "additionalProperties": false }, - "AWS_EMR_WALWorkspace": { + "AWS_NetworkManager_SiteToSiteVpnAttachment": { "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": "AWS::NetworkManager::SiteToSiteVpnAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-sitetositevpnattachment.html)", "allOf": [ { "type": "object", @@ -13397,18 +13395,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::WALWorkspace" + "AWS::NetworkManager::SiteToSiteVpnAttachment" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EMR::WALWorkspace Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-walworkspace.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-emr-walworkspace.json" + "$ref": "resources/aws-networkmanager-sitetositevpnattachment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13417,9 +13416,9 @@ ], "additionalProperties": false }, - "AWS_Kinesis_Stream": { + "AWS_IoTSiteWise_Project": { "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": "Resource schema for AWS::IoTSiteWise::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html)", "allOf": [ { "type": "object", @@ -13427,18 +13426,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Kinesis::Stream" + "AWS::IoTSiteWise::Project" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Kinesis::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.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-kinesis-stream.json" + "$ref": "resources/aws-iotsitewise-project.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13447,9 +13447,9 @@ ], "additionalProperties": false }, - "AWS_Proton_ServiceTemplate": { + "AWS_OpsWorks_Instance": { "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": "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", @@ -13457,18 +13457,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Proton::ServiceTemplate" + "AWS::OpsWorks::Instance" ], "markdownEnumDescriptions": [ - "Definition of AWS::Proton::ServiceTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-servicetemplate.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-proton-servicetemplate.json" + "$ref": "resources/aws-opsworks-instance.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13477,9 +13478,9 @@ ], "additionalProperties": false }, - "AWS_RolesAnywhere_TrustAnchor": { + "AWS_CleanRooms_AnalysisTemplate": { "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": "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", @@ -13487,14 +13488,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RolesAnywhere::TrustAnchor" + "AWS::CleanRooms::AnalysisTemplate" ], "markdownEnumDescriptions": [ - "Definition of AWS::RolesAnywhere::TrustAnchor Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.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-rolesanywhere-trustanchor.json" + "$ref": "resources/aws-cleanrooms-analysistemplate.json" } }, "required": [ @@ -13508,9 +13509,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_APNSSandboxChannel": { + "AWS_AppStream_ApplicationFleetAssociation": { "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 Type definition for AWS::AppStream::ApplicationFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.html)", "allOf": [ { "type": "object", @@ -13518,14 +13519,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::APNSSandboxChannel" + "AWS::AppStream::ApplicationFleetAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::APNSSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.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-pinpoint-apnssandboxchannel.json" + "$ref": "resources/aws-appstream-applicationfleetassociation.json" } }, "required": [ @@ -13539,9 +13540,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_FlowVpcInterface": { + "AWS_ECS_PrimaryTaskSet": { "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": "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", @@ -13549,14 +13550,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::FlowVpcInterface" + "AWS::ECS::PrimaryTaskSet" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::FlowVpcInterface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.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-mediaconnect-flowvpcinterface.json" + "$ref": "resources/aws-ecs-primarytaskset.json" } }, "required": [ @@ -13570,9 +13571,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_Project": { + "AWS_MemoryDB_Cluster": { "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": "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", @@ -13580,14 +13581,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::Project" + "AWS::MemoryDB::Cluster" ], "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)" + "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-datazone-project.json" + "$ref": "resources/aws-memorydb-cluster.json" } }, "required": [ @@ -13601,9 +13602,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_Portal": { + "AWS_DataSync_Agent": { "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::DataSync::Agent. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html)", "allOf": [ { "type": "object", @@ -13611,14 +13612,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::Portal" + "AWS::DataSync::Agent" ], "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::DataSync::Agent. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-portal.json" + "$ref": "resources/aws-datasync-agent.json" } }, "required": [ @@ -13631,9 +13632,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolGroup": { + "AWS_SQS_QueuePolicy": { "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": "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", @@ -13641,14 +13642,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolGroup" + "AWS::SQS::QueuePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.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-cognito-userpoolgroup.json" + "$ref": "resources/aws-sqs-queuepolicy.json" } }, "required": [ @@ -13662,9 +13663,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverDNSSECConfig": { + "AWS_EC2_RouteTable": { "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": "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", @@ -13672,18 +13673,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" + "AWS::EC2::RouteTable" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::ResolverDNSSECConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverdnssecconfig.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-route53resolver-resolverdnssecconfig.json" + "$ref": "resources/aws-ec2-routetable.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13692,9 +13694,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_ModuleDefaultVersion": { + "AWS_EC2_TransitGatewayAttachment": { "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": "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", @@ -13702,18 +13704,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" + "AWS::EC2::TransitGatewayAttachment" ], "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)" + "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-cloudformation-moduledefaultversion.json" + "$ref": "resources/aws-ec2-transitgatewayattachment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13722,9 +13725,9 @@ ], "additionalProperties": false }, - "AWS_IAM_ServiceLinkedRole": { + "AWS_IoTWireless_PartnerAccount": { "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": "Create and manage partner account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-partneraccount.html)", "allOf": [ { "type": "object", @@ -13732,14 +13735,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::ServiceLinkedRole" + "AWS::IoTWireless::PartnerAccount" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::ServiceLinkedRole \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.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-iam-servicelinkedrole.json" + "$ref": "resources/aws-iotwireless-partneraccount.json" } }, "required": [ @@ -13752,9 +13755,9 @@ ], "additionalProperties": false }, - "AWS_CodeDeploy_Application": { + "AWS_EMR_Cluster": { "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::EMR::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html)", "allOf": [ { "type": "object", @@ -13762,18 +13765,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeDeploy::Application" + "AWS::EMR::Cluster" ], "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::EMR::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-codedeploy-application.json" + "$ref": "resources/aws-emr-cluster.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13782,9 +13786,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBProxyTargetGroup": { + "AWS_WAFv2_RegexPatternSet": { "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": "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", @@ -13792,14 +13796,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBProxyTargetGroup" + "AWS::WAFv2::RegexPatternSet" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::RDS::DBProxyTargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.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-rds-dbproxytargetgroup.json" + "$ref": "resources/aws-wafv2-regexpatternset.json" } }, "required": [ @@ -13813,9 +13817,9 @@ ], "additionalProperties": false }, - "AWS_IoT_PolicyPrincipalAttachment": { + "Alexa_ASK_Skill": { "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 Alexa::ASK::Skill \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-alexa-ask-skill.html)", "allOf": [ { "type": "object", @@ -13823,14 +13827,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" + "Alexa::ASK::Skill" ], "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 Alexa::ASK::Skill \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-alexa-ask-skill.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-policyprincipalattachment.json" + "$ref": "resources/alexa-ask-skill.json" } }, "required": [ @@ -13844,9 +13848,9 @@ ], "additionalProperties": false }, - "AWS_Route53_DNSSEC": { + "AWS_Oam_Link": { "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": "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", @@ -13854,14 +13858,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::DNSSEC" + "AWS::Oam::Link" ], "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)" + "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-route53-dnssec.json" + "$ref": "resources/aws-oam-link.json" } }, "required": [ @@ -13875,9 +13879,9 @@ ], "additionalProperties": false }, - "AWS_IoT_TopicRule": { + "AWS_IoT_Dimension": { "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": "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", @@ -13885,14 +13889,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::TopicRule" + "AWS::IoT::Dimension" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::TopicRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.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-iot-topicrule.json" + "$ref": "resources/aws-iot-dimension.json" } }, "required": [ @@ -13906,9 +13910,9 @@ ], "additionalProperties": false }, - "AWS_Route53_RecordSetGroup": { + "AWS_Wisdom_Assistant": { "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": "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", @@ -13916,18 +13920,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::RecordSetGroup" + "AWS::Wisdom::Assistant" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53::RecordSetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.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-route53-recordsetgroup.json" + "$ref": "resources/aws-wisdom-assistant.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13936,9 +13941,9 @@ ], "additionalProperties": false }, - "AWS_ECR_Repository": { + "AWS_AppSync_Resolver": { "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": "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", @@ -13946,18 +13951,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::Repository" + "AWS::AppSync::Resolver" ], "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)" + "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-ecr-repository.json" + "$ref": "resources/aws-appsync-resolver.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13966,9 +13972,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryReadiness_Cell": { + "AWS_SSO_InstanceAccessControlAttributeConfiguration": { "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 SSO InstanceAccessControlAttributeConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html)", "allOf": [ { "type": "object", @@ -13976,18 +13982,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryReadiness::Cell" + "AWS::SSO::InstanceAccessControlAttributeConfiguration" ], "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 SSO InstanceAccessControlAttributeConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoveryreadiness-cell.json" + "$ref": "resources/aws-sso-instanceaccesscontrolattributeconfiguration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13996,9 +14003,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_Deployment": { + "AWS_CloudFront_StreamingDistribution": { "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": "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", @@ -14006,14 +14013,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::Deployment" + "AWS::CloudFront::StreamingDistribution" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::Deployment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.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-appconfig-deployment.json" + "$ref": "resources/aws-cloudfront-streamingdistribution.json" } }, "required": [ @@ -14027,9 +14034,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_MatchmakingRuleSet": { + "AWS_SageMaker_FeatureGroup": { "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 Type definition for AWS::SageMaker::FeatureGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html)", "allOf": [ { "type": "object", @@ -14037,14 +14044,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::MatchmakingRuleSet" + "AWS::SageMaker::FeatureGroup" ], "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 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-gamelift-matchmakingruleset.json" + "$ref": "resources/aws-sagemaker-featuregroup.json" } }, "required": [ @@ -14058,9 +14065,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_StaticIp": { + "AWS_SecurityLake_Subscriber": { "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 Type definition for AWS::SecurityLake::Subscriber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html)", "allOf": [ { "type": "object", @@ -14068,14 +14075,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::StaticIp" + "AWS::SecurityLake::Subscriber" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::StaticIp \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-staticip.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-lightsail-staticip.json" + "$ref": "resources/aws-securitylake-subscriber.json" } }, "required": [ @@ -14089,9 +14096,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkPerformanceMetricSubscription": { + "AWS_WAFRegional_Rule": { "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::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html)", "allOf": [ { "type": "object", @@ -14099,14 +14106,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkPerformanceMetricSubscription" + "AWS::WAFRegional::Rule" ], "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::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkperformancemetricsubscription.json" + "$ref": "resources/aws-wafregional-rule.json" } }, "required": [ @@ -14120,9 +14127,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LaunchTemplate": { + "AWS_DirectoryService_MicrosoftAD": { "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 do not need to specify a name for the launch template. If you do not specify a name, CFN creates the 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": "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", @@ -14130,14 +14137,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LaunchTemplate" + "AWS::DirectoryService::MicrosoftAD" ], "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 do not need to specify a name for the launch template. If you do not specify a name, CFN creates the 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)" + "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-ec2-launchtemplate.json" + "$ref": "resources/aws-directoryservice-microsoftad.json" } }, "required": [ @@ -14151,9 +14158,9 @@ ], "additionalProperties": false }, - "AWS_CodeDeploy_DeploymentConfig": { + "AWS_DataSync_StorageSystem": { "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 schema for AWS::DataSync::StorageSystem. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html)", "allOf": [ { "type": "object", @@ -14161,18 +14168,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeDeploy::DeploymentConfig" + "AWS::DataSync::StorageSystem" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeDeploy::DeploymentConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.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-codedeploy-deploymentconfig.json" + "$ref": "resources/aws-datasync-storagesystem.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -14181,9 +14189,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_APNSVoipChannel": { + "AWS_CodeStarConnections_SyncConfiguration": { "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": "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", @@ -14191,14 +14199,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::APNSVoipChannel" + "AWS::CodeStarConnections::SyncConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::APNSVoipChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.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-pinpoint-apnsvoipchannel.json" + "$ref": "resources/aws-codestarconnections-syncconfiguration.json" } }, "required": [ @@ -14212,9 +14220,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Input": { + "AWS_EC2_SecurityGroupIngress": { "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 Type definition for AWS::EC2::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html)", "allOf": [ { "type": "object", @@ -14222,18 +14230,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Input" + "AWS::EC2::SecurityGroupIngress" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaLive::Input \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.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-medialive-input.json" + "$ref": "resources/aws-ec2-securitygroupingress.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -14242,9 +14251,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_Publisher": { + "AWS_WorkSpacesWeb_Portal": { "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": "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", @@ -14252,19 +14261,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::Publisher" + "AWS::WorkSpacesWeb::Portal" ], "markdownEnumDescriptions": [ - "Register as a publisher in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publisher.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-cloudformation-publisher.json" + "$ref": "resources/aws-workspacesweb-portal.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14273,9 +14281,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_PublicKey": { + "AWS_RefactorSpaces_Environment": { "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": "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", @@ -14283,14 +14291,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::PublicKey" + "AWS::RefactorSpaces::Environment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.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-cloudfront-publickey.json" + "$ref": "resources/aws-refactorspaces-environment.json" } }, "required": [ @@ -14304,9 +14312,9 @@ ], "additionalProperties": false }, - "AWS_SecretsManager_SecretTargetAttachment": { + "AWS_EKS_IdentityProviderConfig": { "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": "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", @@ -14314,14 +14322,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" + "AWS::EKS::IdentityProviderConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecretsManager::SecretTargetAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.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-secretsmanager-secrettargetattachment.json" + "$ref": "resources/aws-eks-identityproviderconfig.json" } }, "required": [ @@ -14335,9 +14343,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Policy": { + "AWS_Events_Connection": { "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": "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", @@ -14345,19 +14353,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Policy" + "AWS::Events::Connection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::Policy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.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-iot-policy.json" + "$ref": "resources/aws-events-connection.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14366,9 +14373,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_Agent": { + "AWS_ImageBuilder_LifecyclePolicy": { "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 schema for AWS::ImageBuilder::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html)", "allOf": [ { "type": "object", @@ -14376,18 +14383,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::Agent" + "AWS::ImageBuilder::LifecyclePolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::Agent. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.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-datasync-agent.json" + "$ref": "resources/aws-imagebuilder-lifecyclepolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -14396,9 +14404,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGateway": { + "AWS_IoTFleetHub_Application": { "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": "Resource schema for AWS::IoTFleetHub::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleethub-application.html)", "allOf": [ { "type": "object", @@ -14406,18 +14414,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGateway" + "AWS::IoTFleetHub::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.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-ec2-transitgateway.json" + "$ref": "resources/aws-iotfleethub-application.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -14426,9 +14435,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Segment": { + "AWS_IoTWireless_WirelessDeviceImportTask": { "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": "Wireless Device Import Tasks \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdeviceimporttask.html)", "allOf": [ { "type": "object", @@ -14436,14 +14445,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Segment" + "AWS::IoTWireless::WirelessDeviceImportTask" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-segment.html)" + "Wireless Device Import Tasks \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdeviceimporttask.html)" ] }, "Properties": { - "$ref": "resources/aws-evidently-segment.json" + "$ref": "resources/aws-iotwireless-wirelessdeviceimporttask.json" } }, "required": [ @@ -14457,9 +14466,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_PrivacyBudgetTemplate": { + "AWS_SageMaker_Pipeline": { "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::SageMaker::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html)", "allOf": [ { "type": "object", @@ -14467,14 +14476,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::PrivacyBudgetTemplate" + "AWS::SageMaker::Pipeline" ], "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::SageMaker::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-privacybudgettemplate.json" + "$ref": "resources/aws-sagemaker-pipeline.json" } }, "required": [ @@ -14488,9 +14497,9 @@ ], "additionalProperties": false }, - "AWS_ECS_Cluster": { + "AWS_ApiGatewayV2_Route": { "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": "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", @@ -14498,18 +14507,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::Cluster" + "AWS::ApiGatewayV2::Route" ], "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)" + "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-ecs-cluster.json" + "$ref": "resources/aws-apigatewayv2-route.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -14518,9 +14528,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_ServiceActionAssociation": { + "AWS_EC2_TransitGatewayConnect": { "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": "The AWS::EC2::TransitGatewayConnect type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html)", "allOf": [ { "type": "object", @@ -14528,14 +14538,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::ServiceActionAssociation" + "AWS::EC2::TransitGatewayConnect" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalog::ServiceActionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.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-servicecatalog-serviceactionassociation.json" + "$ref": "resources/aws-ec2-transitgatewayconnect.json" } }, "required": [ @@ -14549,9 +14559,9 @@ ], "additionalProperties": false }, - "AWS_NimbleStudio_LaunchProfile": { + "AWS_EMR_WALWorkspace": { "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": "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", @@ -14559,19 +14569,18 @@ "Type": { "type": "string", "enum": [ - "AWS::NimbleStudio::LaunchProfile" + "AWS::EMR::WALWorkspace" ], "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)" + "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-nimblestudio-launchprofile.json" + "$ref": "resources/aws-emr-walworkspace.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14580,9 +14589,9 @@ ], "additionalProperties": false }, - "AWS_S3Express_DirectoryBucket": { + "AWS_SecretsManager_SecretTargetAttachment": { "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": "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", @@ -14590,14 +14599,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Express::DirectoryBucket" + "AWS::SecretsManager::SecretTargetAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::S3Express::DirectoryBucket. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.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-s3express-directorybucket.json" + "$ref": "resources/aws-secretsmanager-secrettargetattachment.json" } }, "required": [ @@ -14611,9 +14620,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ProvisioningTemplate": { + "AWS_IVS_RecordingConfiguration": { "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::IVS::RecordingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html)", "allOf": [ { "type": "object", @@ -14621,14 +14630,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ProvisioningTemplate" + "AWS::IVS::RecordingConfiguration" ], "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::IVS::RecordingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-provisioningtemplate.json" + "$ref": "resources/aws-ivs-recordingconfiguration.json" } }, "required": [ @@ -14642,9 +14651,9 @@ ], "additionalProperties": false }, - "AWS_ResourceExplorer2_Index": { + "AWS_SES_MailManagerRuleSet": { "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": "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", @@ -14652,14 +14661,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResourceExplorer2::Index" + "AWS::SES::MailManagerRuleSet" ], "markdownEnumDescriptions": [ - "Definition of AWS::ResourceExplorer2::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-index.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-resourceexplorer2-index.json" + "$ref": "resources/aws-ses-mailmanagerruleset.json" } }, "required": [ @@ -14673,9 +14682,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_ContainerRecipe": { + "AWS_Connect_Queue": { "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": "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", @@ -14683,18 +14692,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::ContainerRecipe" + "AWS::Connect::Queue" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::ContainerRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.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-imagebuilder-containerrecipe.json" + "$ref": "resources/aws-connect-queue.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -14703,9 +14713,9 @@ ], "additionalProperties": false }, - "AWS_FMS_NotificationChannel": { + "AWS_MediaLive_Multiplexprogram": { "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 schema for AWS::MediaLive::Multiplexprogram \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplexprogram.html)", "allOf": [ { "type": "object", @@ -14713,19 +14723,18 @@ "Type": { "type": "string", "enum": [ - "AWS::FMS::NotificationChannel" + "AWS::MediaLive::Multiplexprogram" ], "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 schema for AWS::MediaLive::Multiplexprogram \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplexprogram.html)" ] }, "Properties": { - "$ref": "resources/aws-fms-notificationchannel.json" + "$ref": "resources/aws-medialive-multiplexprogram.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14734,9 +14743,9 @@ ], "additionalProperties": false }, - "AWS_IAM_UserPolicy": { + "AWS_ApiGatewayV2_Integration": { "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": "Resource Type definition for AWS::ApiGatewayV2::Integration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html)", "allOf": [ { "type": "object", @@ -14744,14 +14753,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::UserPolicy" + "AWS::ApiGatewayV2::Integration" ], "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)" + "Resource Type definition for AWS::ApiGatewayV2::Integration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-userpolicy.json" + "$ref": "resources/aws-apigatewayv2-integration.json" } }, "required": [ @@ -14765,9 +14774,9 @@ ], "additionalProperties": false }, - "AWS_Events_EventBus": { + "AWS_Pinpoint_GCMChannel": { "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 Type definition for AWS::Pinpoint::GCMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html)", "allOf": [ { "type": "object", @@ -14775,14 +14784,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::EventBus" + "AWS::Pinpoint::GCMChannel" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::Events::EventBus \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.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-events-eventbus.json" + "$ref": "resources/aws-pinpoint-gcmchannel.json" } }, "required": [ @@ -14796,9 +14805,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_MonitoringSchedule": { + "AWS_Redshift_ClusterSecurityGroup": { "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::Redshift::ClusterSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html)", "allOf": [ { "type": "object", @@ -14806,14 +14815,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::MonitoringSchedule" + "AWS::Redshift::ClusterSecurityGroup" ], "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::Redshift::ClusterSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-monitoringschedule.json" + "$ref": "resources/aws-redshift-clustersecuritygroup.json" } }, "required": [ @@ -14827,9 +14836,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_SmsTemplate": { + "AWS_CloudFormation_WaitConditionHandle": { "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::CloudFormation::WaitConditionHandle \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.html)", "allOf": [ { "type": "object", @@ -14837,19 +14846,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::SmsTemplate" + "AWS::CloudFormation::WaitConditionHandle" ], "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::CloudFormation::WaitConditionHandle \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-smstemplate.json" + "$ref": "resources/aws-cloudformation-waitconditionhandle.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14858,9 +14866,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Experiment": { + "AWS_SecurityHub_Insight": { "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": "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", @@ -14868,14 +14876,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Experiment" + "AWS::SecurityHub::Insight" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Experiment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-experiment.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-evidently-experiment.json" + "$ref": "resources/aws-securityhub-insight.json" } }, "required": [ @@ -14889,9 +14897,9 @@ ], "additionalProperties": false }, - "AWS_Connect_PredefinedAttribute": { + "AWS_EFS_FileSystem": { "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": "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", @@ -14899,19 +14907,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::PredefinedAttribute" + "AWS::EFS::FileSystem" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::PredefinedAttribute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-predefinedattribute.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-connect-predefinedattribute.json" + "$ref": "resources/aws-efs-filesystem.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14920,9 +14927,9 @@ ], "additionalProperties": false }, - "AWS_Inspector_AssessmentTarget": { + "AWS_IdentityStore_GroupMembership": { "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)", + "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", @@ -14930,18 +14937,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Inspector::AssessmentTarget" + "AWS::IdentityStore::GroupMembership" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Inspector::AssessmentTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.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-inspector-assessmenttarget.json" + "$ref": "resources/aws-identitystore-groupmembership.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -14950,9 +14958,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalytics_Application": { + "AWS_ElasticLoadBalancingV2_LoadBalancer": { "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": "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", @@ -14960,19 +14968,18 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalytics::Application" + "AWS::ElasticLoadBalancingV2::LoadBalancer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalytics::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.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-kinesisanalytics-application.json" + "$ref": "resources/aws-elasticloadbalancingv2-loadbalancer.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14981,9 +14988,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_Scene": { + "AWS_DataZone_Domain": { "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": "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", @@ -14991,14 +14998,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::Scene" + "AWS::DataZone::Domain" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::Scene \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-scene.html)" + "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-iottwinmaker-scene.json" + "$ref": "resources/aws-datazone-domain.json" } }, "required": [ @@ -15012,9 +15019,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_ThreatIntelSet": { + "AWS_NetworkManager_Link": { "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::NetworkManager::Link type describes a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html)", "allOf": [ { "type": "object", @@ -15022,14 +15029,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::ThreatIntelSet" + "AWS::NetworkManager::Link" ], "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::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-guardduty-threatintelset.json" + "$ref": "resources/aws-networkmanager-link.json" } }, "required": [ @@ -15043,9 +15050,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Disk": { + "AWS_EC2_InstanceConnectEndpoint": { "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": "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", @@ -15053,14 +15060,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Disk" + "AWS::EC2::InstanceConnectEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Disk \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disk.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-lightsail-disk.json" + "$ref": "resources/aws-ec2-instanceconnectendpoint.json" } }, "required": [ @@ -15074,9 +15081,9 @@ ], "additionalProperties": false }, - "AWS_Config_StoredQuery": { + "AWS_DynamoDB_GlobalTable": { "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": "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", @@ -15084,14 +15091,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::StoredQuery" + "AWS::DynamoDB::GlobalTable" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::StoredQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.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-config-storedquery.json" + "$ref": "resources/aws-dynamodb-globaltable.json" } }, "required": [ @@ -15105,9 +15112,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_OriginRequestPolicy": { + "AWS_CloudWatch_Dashboard": { "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": "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", @@ -15115,14 +15122,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::OriginRequestPolicy" + "AWS::CloudWatch::Dashboard" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::OriginRequestPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.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-cloudfront-originrequestpolicy.json" + "$ref": "resources/aws-cloudwatch-dashboard.json" } }, "required": [ @@ -15136,9 +15143,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_CodeRepository": { + "AWS_SageMaker_App": { "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::SageMaker::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)", "allOf": [ { "type": "object", @@ -15146,14 +15153,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::CodeRepository" + "AWS::SageMaker::App" ], "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::SageMaker::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-coderepository.json" + "$ref": "resources/aws-sagemaker-app.json" } }, "required": [ @@ -15167,9 +15174,9 @@ ], "additionalProperties": false }, - "AWS_VoiceID_Domain": { + "AWS_Connect_ViewVersion": { "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": "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", @@ -15177,14 +15184,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VoiceID::Domain" + "AWS::Connect::ViewVersion" ], "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)" + "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-voiceid-domain.json" + "$ref": "resources/aws-connect-viewversion.json" } }, "required": [ @@ -15198,9 +15205,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_InfrastructureConfiguration": { + "AWS_WorkSpaces_WorkspacesPool": { "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 Type definition for AWS::WorkSpaces::WorkspacesPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html)", "allOf": [ { "type": "object", @@ -15208,14 +15215,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" + "AWS::WorkSpaces::WorkspacesPool" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::InfrastructureConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.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-imagebuilder-infrastructureconfiguration.json" + "$ref": "resources/aws-workspaces-workspacespool.json" } }, "required": [ @@ -15229,9 +15236,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Api": { + "AWS_NetworkManager_ConnectPeer": { "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": "AWS::NetworkManager::ConnectPeer Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectpeer.html)", "allOf": [ { "type": "object", @@ -15239,18 +15246,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Api" + "AWS::NetworkManager::ConnectPeer" ], "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)" + "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-apigatewayv2-api.json" + "$ref": "resources/aws-networkmanager-connectpeer.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15259,9 +15267,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ThingType": { + "AWS_GameLift_MatchmakingRuleSet": { "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": "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", @@ -15269,18 +15277,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ThingType" + "AWS::GameLift::MatchmakingRuleSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::ThingType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingtype.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-iot-thingtype.json" + "$ref": "resources/aws-gamelift-matchmakingruleset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15289,9 +15298,9 @@ ], "additionalProperties": false }, - "AWS_ManagedBlockchain_Node": { + "AWS_ApiGateway_Account": { "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::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", @@ -15299,19 +15308,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ManagedBlockchain::Node" + "AWS::ApiGateway::Account" ], "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::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-managedblockchain-node.json" + "$ref": "resources/aws-apigateway-account.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -15320,9 +15328,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_VirtualNode": { + "AWS_SecurityHub_Hub": { "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::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", @@ -15330,19 +15338,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::VirtualNode" + "AWS::SecurityHub::Hub" ], "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::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-appmesh-virtualnode.json" + "$ref": "resources/aws-securityhub-hub.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -15351,9 +15358,9 @@ ], "additionalProperties": false }, - "AWS_ManagedBlockchain_Accessor": { + "AWS_Transfer_Connector": { "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::Transfer::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html)", "allOf": [ { "type": "object", @@ -15361,14 +15368,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ManagedBlockchain::Accessor" + "AWS::Transfer::Connector" ], "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::Transfer::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html)" ] }, "Properties": { - "$ref": "resources/aws-managedblockchain-accessor.json" + "$ref": "resources/aws-transfer-connector.json" } }, "required": [ @@ -15382,9 +15389,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ClusterSecurityGroupIngress": { + "AWS_FinSpace_Environment": { "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": "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", @@ -15392,14 +15399,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" + "AWS::FinSpace::Environment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Redshift::ClusterSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.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-redshift-clustersecuritygroupingress.json" + "$ref": "resources/aws-finspace-environment.json" } }, "required": [ @@ -15413,9 +15420,9 @@ ], "additionalProperties": false }, - "AWS_VerifiedPermissions_PolicyStore": { + "AWS_Events_Archive": { "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 Type definition for AWS::Events::Archive \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html)", "allOf": [ { "type": "object", @@ -15423,14 +15430,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VerifiedPermissions::PolicyStore" + "AWS::Events::Archive" ], "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 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-verifiedpermissions-policystore.json" + "$ref": "resources/aws-events-archive.json" } }, "required": [ @@ -15444,9 +15451,9 @@ ], "additionalProperties": false }, - "AWS_IoT_MitigationAction": { + "AWS_ApiGatewayV2_Authorizer": { "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": "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", @@ -15454,14 +15461,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::MitigationAction" + "AWS::ApiGatewayV2::Authorizer" ], "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)" + "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-iot-mitigationaction.json" + "$ref": "resources/aws-apigatewayv2-authorizer.json" } }, "required": [ @@ -15475,9 +15482,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_Firewall": { + "AWS_EC2_TransitGatewayRouteTable": { "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": "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", @@ -15485,14 +15492,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::Firewall" + "AWS::EC2::TransitGatewayRouteTable" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::Firewall \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.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-networkfirewall-firewall.json" + "$ref": "resources/aws-ec2-transitgatewayroutetable.json" } }, "required": [ @@ -15506,9 +15513,9 @@ ], "additionalProperties": false }, - "AWS_RAM_ResourceShare": { + "AWS_IAM_UserToGroupAddition": { "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::IAM::UserToGroupAddition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-usertogroupaddition.html)", "allOf": [ { "type": "object", @@ -15516,14 +15523,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RAM::ResourceShare" + "AWS::IAM::UserToGroupAddition" ], "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::IAM::UserToGroupAddition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-usertogroupaddition.html)" ] }, "Properties": { - "$ref": "resources/aws-ram-resourceshare.json" + "$ref": "resources/aws-iam-usertogroupaddition.json" } }, "required": [ @@ -15537,9 +15544,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_LoggerDefinition": { + "AWS_RDS_DBClusterParameterGroup": { "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": "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 update 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", @@ -15547,14 +15554,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::LoggerDefinition" + "AWS::RDS::DBClusterParameterGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::LoggerDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.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 update 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-greengrass-loggerdefinition.json" + "$ref": "resources/aws-rds-dbclusterparametergroup.json" } }, "required": [ @@ -15568,9 +15575,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMAllocation": { + "AWS_VpcLattice_ResourcePolicy": { "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": "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", @@ -15578,14 +15585,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMAllocation" + "AWS::VpcLattice::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMAllocation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.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-ec2-ipamallocation.json" + "$ref": "resources/aws-vpclattice-resourcepolicy.json" } }, "required": [ @@ -15599,9 +15606,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCEndpointService": { + "AWS_Pinpoint_EmailTemplate": { "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": "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", @@ -15609,18 +15616,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCEndpointService" + "AWS::Pinpoint::EmailTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCEndpointService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.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-ec2-vpcendpointservice.json" + "$ref": "resources/aws-pinpoint-emailtemplate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15629,9 +15637,9 @@ ], "additionalProperties": false }, - "AWS_IAM_AccessKey": { + "AWS_CodePipeline_CustomActionType": { "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": "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", @@ -15639,14 +15647,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::AccessKey" + "AWS::CodePipeline::CustomActionType" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::AccessKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-accesskey.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-iam-accesskey.json" + "$ref": "resources/aws-codepipeline-customactiontype.json" } }, "required": [ @@ -15660,9 +15668,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_HttpNamespace": { + "AWS_SSO_ApplicationAssignment": { "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 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", @@ -15670,14 +15678,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::HttpNamespace" + "AWS::SSO::ApplicationAssignment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::HttpNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.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-servicediscovery-httpnamespace.json" + "$ref": "resources/aws-sso-applicationassignment.json" } }, "required": [ @@ -15691,9 +15699,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayRoute": { + "AWS_SecurityHub_FindingAggregator": { "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": "The AWS::SecurityHub::FindingAggregator resource represents the AWS Security Hub Finding Aggregator in your account. One finding aggregator resource is created for each account in non opt-in region in which you configure region linking mode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html)", "allOf": [ { "type": "object", @@ -15701,14 +15709,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayRoute" + "AWS::SecurityHub::FindingAggregator" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html)" + "The AWS::SecurityHub::FindingAggregator resource represents the AWS Security Hub Finding Aggregator in your account. One finding aggregator resource is created for each account in non opt-in region in which you configure region linking mode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayroute.json" + "$ref": "resources/aws-securityhub-findingaggregator.json" } }, "required": [ @@ -15722,9 +15730,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_AcceptedPortfolioShare": { + "AWS_Deadline_LicenseEndpoint": { "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::Deadline::LicenseEndpoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html)", "allOf": [ { "type": "object", @@ -15732,14 +15740,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" + "AWS::Deadline::LicenseEndpoint" ], "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::Deadline::LicenseEndpoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-acceptedportfolioshare.json" + "$ref": "resources/aws-deadline-licenseendpoint.json" } }, "required": [ @@ -15753,9 +15761,9 @@ ], "additionalProperties": false }, - "AWS_Glue_SecurityConfiguration": { + "AWS_SES_MailManagerArchive": { "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": "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", @@ -15763,19 +15771,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::SecurityConfiguration" + "AWS::SES::MailManagerArchive" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::SecurityConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.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/aws-glue-securityconfiguration.json" + "$ref": "resources/aws-ses-mailmanagerarchive.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -15784,9 +15791,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalogAppRegistry_ResourceAssociation": { + "AWS_ResilienceHub_App": { "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": "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", @@ -15794,14 +15801,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalogAppRegistry::ResourceAssociation" + "AWS::ResilienceHub::App" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalogAppRegistry::ResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html)" + "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-servicecatalogappregistry-resourceassociation.json" + "$ref": "resources/aws-resiliencehub-app.json" } }, "required": [ @@ -15815,9 +15822,9 @@ ], "additionalProperties": false }, - "AWS_Route53_HostedZone": { + "AWS_WAF_XssMatchSet": { "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::WAF::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html)", "allOf": [ { "type": "object", @@ -15825,18 +15832,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::HostedZone" + "AWS::WAF::XssMatchSet" ], "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::WAF::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-hostedzone.json" + "$ref": "resources/aws-waf-xssmatchset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15845,9 +15853,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_VpcLink": { + "AWS_KafkaConnect_Connector": { "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::KafkaConnect::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html)", "allOf": [ { "type": "object", @@ -15855,14 +15863,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::VpcLink" + "AWS::KafkaConnect::Connector" ], "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::KafkaConnect::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-vpclink.json" + "$ref": "resources/aws-kafkaconnect-connector.json" } }, "required": [ @@ -15876,9 +15884,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_LifecyclePolicy": { + "AWS_SecurityHub_DelegatedAdmin": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless lifecycle policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html)", + "markdownDescription": "The AWS::SecurityHub::DelegatedAdmin resource represents the AWS Security Hub delegated admin account in your organization. One delegated admin resource is allowed to create for the organization in each region in which you configure the AdminAccountId. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html)", "allOf": [ { "type": "object", @@ -15886,14 +15894,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::LifecyclePolicy" + "AWS::SecurityHub::DelegatedAdmin" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless lifecycle policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html)" + "The AWS::SecurityHub::DelegatedAdmin resource represents the AWS Security Hub delegated admin account in your organization. One delegated admin resource is allowed to create for the organization in each region in which you configure the AdminAccountId. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-lifecyclepolicy.json" + "$ref": "resources/aws-securityhub-delegatedadmin.json" } }, "required": [ @@ -15907,9 +15915,9 @@ ], "additionalProperties": false }, - "AWS_SecurityLake_Subscriber": { + "AWS_OpsWorks_ElasticLoadBalancerAttachment": { "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::OpsWorks::ElasticLoadBalancerAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elasticloadbalancerattachment.html)", "allOf": [ { "type": "object", @@ -15917,14 +15925,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityLake::Subscriber" + "AWS::OpsWorks::ElasticLoadBalancerAttachment" ], "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::OpsWorks::ElasticLoadBalancerAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elasticloadbalancerattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-securitylake-subscriber.json" + "$ref": "resources/aws-opsworks-elasticloadbalancerattachment.json" } }, "required": [ @@ -15938,9 +15946,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_Resource": { + "AWS_ElasticLoadBalancingV2_TargetGroup": { "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 AWS::ElasticLoadBalancingV2::TargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html)", "allOf": [ { "type": "object", @@ -15948,19 +15956,18 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::Resource" + "AWS::ElasticLoadBalancingV2::TargetGroup" ], "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 AWS::ElasticLoadBalancingV2::TargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-resource.json" + "$ref": "resources/aws-elasticloadbalancingv2-targetgroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -15969,9 +15976,9 @@ ], "additionalProperties": false }, - "AWS_EKS_FargateProfile": { + "AWS_Shield_DRTAccess": { "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": "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", @@ -15979,14 +15986,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::FargateProfile" + "AWS::Shield::DRTAccess" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::EKS::FargateProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.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-eks-fargateprofile.json" + "$ref": "resources/aws-shield-drtaccess.json" } }, "required": [ @@ -16000,9 +16007,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_DocumentationVersion": { + "AWS_Deadline_Fleet": { "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": "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", @@ -16010,14 +16017,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::DocumentationVersion" + "AWS::Deadline::Fleet" ], "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)" + "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-apigateway-documentationversion.json" + "$ref": "resources/aws-deadline-fleet.json" } }, "required": [ @@ -16031,9 +16038,9 @@ ], "additionalProperties": false }, - "AWS_InspectorV2_CisScanConfiguration": { + "AWS_Connect_EvaluationForm": { "type": "object", - "markdownDescription": "CIS Scan Configuration resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-cisscanconfiguration.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", @@ -16041,18 +16048,19 @@ "Type": { "type": "string", "enum": [ - "AWS::InspectorV2::CisScanConfiguration" + "AWS::Connect::EvaluationForm" ], "markdownEnumDescriptions": [ - "CIS Scan Configuration resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-cisscanconfiguration.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-inspectorv2-cisscanconfiguration.json" + "$ref": "resources/aws-connect-evaluationform.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -16061,9 +16069,9 @@ ], "additionalProperties": false }, - "AWS_StepFunctions_Activity": { + "AWS_DocDB_DBCluster": { "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::DocDB::DBCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html)", "allOf": [ { "type": "object", @@ -16071,19 +16079,18 @@ "Type": { "type": "string", "enum": [ - "AWS::StepFunctions::Activity" + "AWS::DocDB::DBCluster" ], "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::DocDB::DBCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html)" ] }, "Properties": { - "$ref": "resources/aws-stepfunctions-activity.json" + "$ref": "resources/aws-docdb-dbcluster.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -16092,9 +16099,9 @@ ], "additionalProperties": false }, - "AWS_Omics_RunGroup": { + "AWS_RDS_GlobalCluster": { "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::RDS::GlobalCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html)", "allOf": [ { "type": "object", @@ -16102,14 +16109,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::RunGroup" + "AWS::RDS::GlobalCluster" ], "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::RDS::GlobalCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-rungroup.json" + "$ref": "resources/aws-rds-globalcluster.json" } }, "required": [ @@ -16122,9 +16129,9 @@ ], "additionalProperties": false }, - "AWS_DAX_Cluster": { + "AWS_WAFv2_WebACL": { "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": "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", @@ -16132,14 +16139,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DAX::Cluster" + "AWS::WAFv2::WebACL" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DAX::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.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-dax-cluster.json" + "$ref": "resources/aws-wafv2-webacl.json" } }, "required": [ @@ -16153,9 +16160,9 @@ ], "additionalProperties": false }, - "AWS_EC2_CustomerGateway": { + "AWS_SES_ReceiptRule": { "type": "object", - "markdownDescription": "Specifies a customer gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.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", @@ -16163,14 +16170,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::CustomerGateway" + "AWS::SES::ReceiptRule" ], "markdownEnumDescriptions": [ - "Specifies a customer gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.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-ec2-customergateway.json" + "$ref": "resources/aws-ses-receiptrule.json" } }, "required": [ @@ -16184,9 +16191,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBInstance": { + "AWS_Connect_IntegrationAssociation": { "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::Connect::IntegrationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-integrationassociation.html)", "allOf": [ { "type": "object", @@ -16194,18 +16201,19 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBInstance" + "AWS::Connect::IntegrationAssociation" ], "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::Connect::IntegrationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-integrationassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbinstance.json" + "$ref": "resources/aws-connect-integrationassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -16214,9 +16222,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_CacheCluster": { + "AWS_IoTThingsGraph_FlowTemplate": { "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::IoTThingsGraph::FlowTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html)", "allOf": [ { "type": "object", @@ -16224,14 +16232,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::CacheCluster" + "AWS::IoTThingsGraph::FlowTemplate" ], "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::IoTThingsGraph::FlowTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-cachecluster.json" + "$ref": "resources/aws-iotthingsgraph-flowtemplate.json" } }, "required": [ @@ -16245,9 +16253,9 @@ ], "additionalProperties": false }, - "AWS_SES_ReceiptRuleSet": { + "AWS_Route53_KeySigningKey": { "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": "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", @@ -16255,18 +16263,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ReceiptRuleSet" + "AWS::Route53::KeySigningKey" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::ReceiptRuleSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.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-ses-receiptruleset.json" + "$ref": "resources/aws-route53-keysigningkey.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -16275,9 +16284,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_VoiceChannel": { + "AWS_Greengrass_DeviceDefinitionVersion": { "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::Greengrass::DeviceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html)", "allOf": [ { "type": "object", @@ -16285,14 +16294,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::VoiceChannel" + "AWS::Greengrass::DeviceDefinitionVersion" ], "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::Greengrass::DeviceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-voicechannel.json" + "$ref": "resources/aws-greengrass-devicedefinitionversion.json" } }, "required": [ @@ -16306,9 +16315,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_Stack": { + "AWS_DataSync_LocationSMB": { "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": "Resource schema for AWS::DataSync::LocationSMB. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html)", "allOf": [ { "type": "object", @@ -16316,14 +16325,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::Stack" + "AWS::DataSync::LocationSMB" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.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-opsworks-stack.json" + "$ref": "resources/aws-datasync-locationsmb.json" } }, "required": [ @@ -16337,9 +16346,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_RateBasedRule": { + "AWS_WAFRegional_WebACLAssociation": { "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": "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", @@ -16347,14 +16356,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::RateBasedRule" + "AWS::WAFRegional::WebACLAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::RateBasedRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.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-wafregional-ratebasedrule.json" + "$ref": "resources/aws-wafregional-webaclassociation.json" } }, "required": [ @@ -16368,9 +16377,9 @@ ], "additionalProperties": false }, - "AWS_DirectoryService_MicrosoftAD": { + "AWS_EC2_CarrierGateway": { "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": "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", @@ -16378,14 +16387,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DirectoryService::MicrosoftAD" + "AWS::EC2::CarrierGateway" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DirectoryService::MicrosoftAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.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-directoryservice-microsoftad.json" + "$ref": "resources/aws-ec2-carriergateway.json" } }, "required": [ @@ -16399,9 +16408,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Subnet": { + "AWS_AppMesh_VirtualRouter": { "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": "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", @@ -16409,14 +16418,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Subnet" + "AWS::AppMesh::VirtualRouter" ], "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)" + "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-ec2-subnet.json" + "$ref": "resources/aws-appmesh-virtualrouter.json" } }, "required": [ @@ -16430,9 +16439,9 @@ ], "additionalProperties": false }, - "AWS_IoT_SoftwarePackage": { + "AWS_FSx_DataRepositoryAssociation": { "type": "object", - "markdownDescription": "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.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", @@ -16440,18 +16449,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::SoftwarePackage" + "AWS::FSx::DataRepositoryAssociation" ], "markdownEnumDescriptions": [ - "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.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-iot-softwarepackage.json" + "$ref": "resources/aws-fsx-datarepositoryassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -16460,9 +16470,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_DeviceFleet": { + "AWS_MemoryDB_ParameterGroup": { "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": "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", @@ -16470,14 +16480,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::DeviceFleet" + "AWS::MemoryDB::ParameterGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::SageMaker::DeviceFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.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-sagemaker-devicefleet.json" + "$ref": "resources/aws-memorydb-parametergroup.json" } }, "required": [ @@ -16491,9 +16501,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_IPSet": { + "AWS_NetworkFirewall_Firewall": { "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::NetworkFirewall::Firewall \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html)", "allOf": [ { "type": "object", @@ -16501,14 +16511,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::IPSet" + "AWS::NetworkFirewall::Firewall" ], "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::NetworkFirewall::Firewall \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-ipset.json" + "$ref": "resources/aws-networkfirewall-firewall.json" } }, "required": [ @@ -16522,9 +16532,9 @@ ], "additionalProperties": false }, - "AWS_Kendra_DataSource": { + "AWS_Inspector_AssessmentTemplate": { "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::Inspector::AssessmentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html)", "allOf": [ { "type": "object", @@ -16532,14 +16542,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Kendra::DataSource" + "AWS::Inspector::AssessmentTemplate" ], "markdownEnumDescriptions": [ - "Kendra DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-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-kendra-datasource.json" + "$ref": "resources/aws-inspector-assessmenttemplate.json" } }, "required": [ @@ -16553,9 +16563,9 @@ ], "additionalProperties": false }, - "AWS_Omics_ReferenceStore": { + "AWS_EKS_AccessEntry": { "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": "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", @@ -16563,14 +16573,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::ReferenceStore" + "AWS::EKS::AccessEntry" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::ReferenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-referencestore.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-omics-referencestore.json" + "$ref": "resources/aws-eks-accessentry.json" } }, "required": [ @@ -16584,9 +16594,9 @@ ], "additionalProperties": false }, - "AWS_RefactorSpaces_Route": { + "AWS_EventSchemas_Schema": { "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": "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", @@ -16594,14 +16604,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RefactorSpaces::Route" + "AWS::EventSchemas::Schema" ], "markdownEnumDescriptions": [ - "Definition of AWS::RefactorSpaces::Route Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-route.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-refactorspaces-route.json" + "$ref": "resources/aws-eventschemas-schema.json" } }, "required": [ @@ -16615,9 +16625,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_ListenerCertificate": { + "AWS_Omics_RunGroup": { "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::Omics::RunGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html)", "allOf": [ { "type": "object", @@ -16625,19 +16635,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerCertificate" + "AWS::Omics::RunGroup" ], "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::Omics::RunGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-listenercertificate.json" + "$ref": "resources/aws-omics-rungroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -16646,9 +16655,9 @@ ], "additionalProperties": false }, - "AWS_StepFunctions_StateMachineVersion": { + "AWS_Route53RecoveryReadiness_ReadinessCheck": { "type": "object", - "markdownDescription": "Resource schema for StateMachineVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.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", @@ -16656,19 +16665,18 @@ "Type": { "type": "string", "enum": [ - "AWS::StepFunctions::StateMachineVersion" + "AWS::Route53RecoveryReadiness::ReadinessCheck" ], "markdownEnumDescriptions": [ - "Resource schema for StateMachineVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.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-stepfunctions-statemachineversion.json" + "$ref": "resources/aws-route53recoveryreadiness-readinesscheck.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -16677,9 +16685,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationHDFS": { + "AWS_ManagedBlockchain_Member": { "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": "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", @@ -16687,14 +16695,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationHDFS" + "AWS::ManagedBlockchain::Member" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationHDFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationhdfs.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-datasync-locationhdfs.json" + "$ref": "resources/aws-managedblockchain-member.json" } }, "required": [ @@ -16708,9 +16716,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_ParameterGroup": { + "AWS_Route53Resolver_ResolverQueryLoggingConfig": { "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": "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html)", "allOf": [ { "type": "object", @@ -16718,19 +16726,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::ParameterGroup" + "AWS::Route53Resolver::ResolverQueryLoggingConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.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-elasticache-parametergroup.json" + "$ref": "resources/aws-route53resolver-resolverqueryloggingconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -16739,9 +16746,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_Account": { + "AWS_RDS_DBProxyTargetGroup": { "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 schema for AWS::RDS::DBProxyTargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html)", "allOf": [ { "type": "object", @@ -16749,14 +16756,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::Account" + "AWS::RDS::DBProxyTargetGroup" ], "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 schema for AWS::RDS::DBProxyTargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-organizations-account.json" + "$ref": "resources/aws-rds-dbproxytargetgroup.json" } }, "required": [ @@ -16770,9 +16777,9 @@ ], "additionalProperties": false }, - "AWS_Glue_CustomEntityType": { + "AWS_WorkSpacesWeb_UserAccessLoggingSettings": { "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": "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", @@ -16780,18 +16787,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::CustomEntityType" + "AWS::WorkSpacesWeb::UserAccessLoggingSettings" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::CustomEntityType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.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-glue-customentitytype.json" + "$ref": "resources/aws-workspacesweb-useraccessloggingsettings.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -16800,9 +16808,9 @@ ], "additionalProperties": false }, - "AWS_FSx_Snapshot": { + "AWS_Grafana_Workspace": { "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": "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", @@ -16810,14 +16818,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::Snapshot" + "AWS::Grafana::Workspace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::FSx::Snapshot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-snapshot.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-fsx-snapshot.json" + "$ref": "resources/aws-grafana-workspace.json" } }, "required": [ @@ -16831,9 +16839,9 @@ ], "additionalProperties": false }, - "AWS_CodePipeline_CustomActionType": { + "AWS_DocDB_EventSubscription": { "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": "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", @@ -16841,14 +16849,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodePipeline::CustomActionType" + "AWS::DocDB::EventSubscription" ], "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)" + "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-codepipeline-customactiontype.json" + "$ref": "resources/aws-docdb-eventsubscription.json" } }, "required": [ @@ -16862,9 +16870,9 @@ ], "additionalProperties": false }, - "AWS_Location_Map": { + "AWS_MediaConvert_Queue": { "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": "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", @@ -16872,19 +16880,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::Map" + "AWS::MediaConvert::Queue" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::Map Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-map.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-location-map.json" + "$ref": "resources/aws-mediaconvert-queue.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -16893,9 +16900,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_VirtualRouter": { + "AWS_SecurityHub_ConfigurationPolicy": { "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": "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", @@ -16903,14 +16910,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::VirtualRouter" + "AWS::SecurityHub::ConfigurationPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::VirtualRouter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.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-appmesh-virtualrouter.json" + "$ref": "resources/aws-securityhub-configurationpolicy.json" } }, "required": [ @@ -16924,9 +16931,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_EndpointAuthorization": { + "AWS_LicenseManager_License": { "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": "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", @@ -16934,14 +16941,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::EndpointAuthorization" + "AWS::LicenseManager::License" ], "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)" + "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-redshift-endpointauthorization.json" + "$ref": "resources/aws-licensemanager-license.json" } }, "required": [ @@ -16955,9 +16962,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_Permissions": { + "AWS_Connect_Rule": { "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": "Resource Type definition for AWS:Connect::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-rule.html)", "allOf": [ { "type": "object", @@ -16965,14 +16972,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::Permissions" + "AWS::Connect::Rule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LakeFormation::Permissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html)" + "Resource Type definition for AWS:Connect::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-rule.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-permissions.json" + "$ref": "resources/aws-connect-rule.json" } }, "required": [ @@ -16986,9 +16993,9 @@ ], "additionalProperties": false }, - "AWS_CodeGuruReviewer_RepositoryAssociation": { + "AWS_Pinpoint_APNSSandboxChannel": { "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::Pinpoint::APNSSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html)", "allOf": [ { "type": "object", @@ -16996,14 +17003,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeGuruReviewer::RepositoryAssociation" + "AWS::Pinpoint::APNSSandboxChannel" ], "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::Pinpoint::APNSSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-codegurureviewer-repositoryassociation.json" + "$ref": "resources/aws-pinpoint-apnssandboxchannel.json" } }, "required": [ @@ -17017,9 +17024,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EIP": { + "AWS_Pinpoint_EmailChannel": { "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": "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", @@ -17027,18 +17034,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EIP" + "AWS::Pinpoint::EmailChannel" ], "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)" + "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-ec2-eip.json" + "$ref": "resources/aws-pinpoint-emailchannel.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -17047,9 +17055,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_Stack": { + "AWS_Location_Map": { "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": "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", @@ -17057,18 +17065,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::Stack" + "AWS::Location::Map" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html)" + "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-appstream-stack.json" + "$ref": "resources/aws-location-map.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -17077,9 +17086,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCPeeringConnection": { + "AWS_Neptune_DBSubnetGroup": { "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::Neptune::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html)", "allOf": [ { "type": "object", @@ -17087,14 +17096,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCPeeringConnection" + "AWS::Neptune::DBSubnetGroup" ], "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::Neptune::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcpeeringconnection.json" + "$ref": "resources/aws-neptune-dbsubnetgroup.json" } }, "required": [ @@ -17108,9 +17117,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_Domain": { + "AWS_EC2_LaunchTemplate": { "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": "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", @@ -17118,14 +17127,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::Domain" + "AWS::EC2::LaunchTemplate" ], "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)" + "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-customerprofiles-domain.json" + "$ref": "resources/aws-ec2-launchtemplate.json" } }, "required": [ @@ -17139,9 +17148,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_Vehicle": { + "AWS_EC2_KeyPair": { "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": "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", @@ -17149,14 +17158,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::Vehicle" + "AWS::EC2::KeyPair" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::Vehicle Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.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-iotfleetwise-vehicle.json" + "$ref": "resources/aws-ec2-keypair.json" } }, "required": [ @@ -17170,9 +17179,9 @@ ], "additionalProperties": false }, - "AWS_SystemsManagerSAP_Application": { + "AWS_EC2_VolumeAttachment": { "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": "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", @@ -17180,14 +17189,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SystemsManagerSAP::Application" + "AWS::EC2::VolumeAttachment" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::SystemsManagerSAP::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-systemsmanagersap-application.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-systemsmanagersap-application.json" + "$ref": "resources/aws-ec2-volumeattachment.json" } }, "required": [ @@ -17201,9 +17210,9 @@ ], "additionalProperties": false }, - "AWS_ECR_RegistryPolicy": { + "AWS_EKS_Cluster": { "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": "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", @@ -17211,14 +17220,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::RegistryPolicy" + "AWS::EKS::Cluster" ], "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)" + "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-ecr-registrypolicy.json" + "$ref": "resources/aws-eks-cluster.json" } }, "required": [ @@ -17232,9 +17241,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBClusterParameterGroup": { + "AWS_Pinpoint_APNSVoipSandboxChannel": { "type": "object", - "markdownDescription": "The AWS::RDS::DBClusterParameterGroup resource creates a new Amazon RDS DB cluster parameter group. For more information, see Managing an Amazon Aurora DB Cluster in the Amazon Aurora User Guide. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.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", @@ -17242,14 +17251,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBClusterParameterGroup" + "AWS::Pinpoint::APNSVoipSandboxChannel" ], "markdownEnumDescriptions": [ - "The AWS::RDS::DBClusterParameterGroup resource creates a new Amazon RDS DB cluster parameter group. For more information, see Managing an Amazon Aurora DB Cluster in the Amazon Aurora User Guide. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.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-rds-dbclusterparametergroup.json" + "$ref": "resources/aws-pinpoint-apnsvoipsandboxchannel.json" } }, "required": [ @@ -17263,9 +17272,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_ImageRecipe": { + "AWS_EC2_NetworkInsightsAccessScopeAnalysis": { "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": "Resource schema for AWS::EC2::NetworkInsightsAccessScopeAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscopeanalysis.html)", "allOf": [ { "type": "object", @@ -17273,14 +17282,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::ImageRecipe" + "AWS::EC2::NetworkInsightsAccessScopeAnalysis" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::ImageRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.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-imagebuilder-imagerecipe.json" + "$ref": "resources/aws-ec2-networkinsightsaccessscopeanalysis.json" } }, "required": [ @@ -17294,9 +17303,9 @@ ], "additionalProperties": false }, - "AWS_DMS_ReplicationTask": { + "AWS_KinesisVideo_Stream": { "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": "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", @@ -17304,19 +17313,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::ReplicationTask" + "AWS::KinesisVideo::Stream" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::ReplicationTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.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-dms-replicationtask.json" + "$ref": "resources/aws-kinesisvideo-stream.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17325,9 +17333,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_Collection": { + "AWS_IoT_AccountAuditConfiguration": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless collection resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.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", @@ -17335,14 +17343,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::Collection" + "AWS::IoT::AccountAuditConfiguration" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless collection resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.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-opensearchserverless-collection.json" + "$ref": "resources/aws-iot-accountauditconfiguration.json" } }, "required": [ @@ -17356,9 +17364,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Alias": { + "AWS_B2BI_Profile": { "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": "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", @@ -17366,14 +17374,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Alias" + "AWS::B2BI::Profile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::Alias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.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-lambda-alias.json" + "$ref": "resources/aws-b2bi-profile.json" } }, "required": [ @@ -17387,9 +17395,9 @@ ], "additionalProperties": false }, - "AWS_B2BI_Partnership": { + "AWS_RDS_DBInstance": { "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": "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", @@ -17397,19 +17405,18 @@ "Type": { "type": "string", "enum": [ - "AWS::B2BI::Partnership" + "AWS::RDS::DBInstance" ], "markdownEnumDescriptions": [ - "Definition of AWS::B2BI::Partnership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-partnership.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-b2bi-partnership.json" + "$ref": "resources/aws-rds-dbinstance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17418,9 +17425,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_SourceLocation": { + "AWS_IAM_OIDCProvider": { "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": "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", @@ -17428,19 +17435,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::SourceLocation" + "AWS::IAM::OIDCProvider" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaTailor::SourceLocation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.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-mediatailor-sourcelocation.json" + "$ref": "resources/aws-iam-oidcprovider.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17449,9 +17455,9 @@ ], "additionalProperties": false }, - "AWS_Connect_ContactFlow": { + "AWS_SageMaker_UserProfile": { "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": "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", @@ -17459,14 +17465,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::ContactFlow" + "AWS::SageMaker::UserProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::ContactFlow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflow.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-connect-contactflow.json" + "$ref": "resources/aws-sagemaker-userprofile.json" } }, "required": [ @@ -17480,9 +17486,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryControl_ControlPanel": { + "AWS_Deadline_StorageProfile": { "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": "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", @@ -17490,14 +17496,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryControl::ControlPanel" + "AWS::Deadline::StorageProfile" ], "markdownEnumDescriptions": [ - "AWS Route53 Recovery Control Control Panel resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-controlpanel.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-route53recoverycontrol-controlpanel.json" + "$ref": "resources/aws-deadline-storageprofile.json" } }, "required": [ @@ -17511,9 +17517,9 @@ ], "additionalProperties": false }, - "AWS_DLM_LifecyclePolicy": { + "AWS_SecurityLake_AwsLogSource": { "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": "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", @@ -17521,18 +17527,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DLM::LifecyclePolicy" + "AWS::SecurityLake::AwsLogSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DLM::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.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-dlm-lifecyclepolicy.json" + "$ref": "resources/aws-securitylake-awslogsource.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -17541,9 +17548,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_SimulationApplication": { + "AWS_IAM_UserPolicy": { "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": "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", @@ -17551,14 +17558,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::SimulationApplication" + "AWS::IAM::UserPolicy" ], "markdownEnumDescriptions": [ - "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.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-robomaker-simulationapplication.json" + "$ref": "resources/aws-iam-userpolicy.json" } }, "required": [ @@ -17572,9 +17579,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_TransitGatewayRouteTableAttachment": { + "AWS_Kendra_Index": { "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": "A Kendra index \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html)", "allOf": [ { "type": "object", @@ -17582,14 +17589,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::TransitGatewayRouteTableAttachment" + "AWS::Kendra::Index" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::TransitGatewayRouteTableAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html)" + "A Kendra index \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-transitgatewayroutetableattachment.json" + "$ref": "resources/aws-kendra-index.json" } }, "required": [ @@ -17603,9 +17610,9 @@ ], "additionalProperties": false }, - "AWS_Events_EventBusPolicy": { + "AWS_CleanRooms_ConfiguredTableAssociation": { "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": "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", @@ -17613,14 +17620,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::EventBusPolicy" + "AWS::CleanRooms::ConfiguredTableAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::EventBusPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.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-events-eventbuspolicy.json" + "$ref": "resources/aws-cleanrooms-configuredtableassociation.json" } }, "required": [ @@ -17634,9 +17641,9 @@ ], "additionalProperties": false }, - "AWS_CE_AnomalySubscription": { + "AWS_EC2_EIP": { "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": "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", @@ -17644,19 +17651,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CE::AnomalySubscription" + "AWS::EC2::EIP" ], "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)" + "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-ce-anomalysubscription.json" + "$ref": "resources/aws-ec2-eip.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17665,9 +17671,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_TargetGroup": { + "AWS_ServiceCatalogAppRegistry_Application": { "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": "Resource Schema for AWS::ServiceCatalogAppRegistry::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.html)", "allOf": [ { "type": "object", @@ -17675,18 +17681,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::ServiceCatalogAppRegistry::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancingV2::TargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.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-elasticloadbalancingv2-targetgroup.json" + "$ref": "resources/aws-servicecatalogappregistry-application.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -17695,9 +17702,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_CustomerGatewayAssociation": { + "AWS_Lex_BotAlias": { "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": "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", @@ -17705,14 +17712,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::CustomerGatewayAssociation" + "AWS::Lex::BotAlias" ], "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)" + "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-networkmanager-customergatewayassociation.json" + "$ref": "resources/aws-lex-botalias.json" } }, "required": [ @@ -17726,9 +17733,9 @@ ], "additionalProperties": false }, - "AWS_SSM_Document": { + "AWS_Amplify_Domain": { "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::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", @@ -17736,14 +17743,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::Document" + "AWS::Amplify::Domain" ], "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::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-ssm-document.json" + "$ref": "resources/aws-amplify-domain.json" } }, "required": [ @@ -17757,9 +17764,9 @@ ], "additionalProperties": false }, - "AWS_AuditManager_Assessment": { + "AWS_ApiGateway_DomainName": { "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": "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", @@ -17767,14 +17774,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AuditManager::Assessment" + "AWS::ApiGateway::DomainName" ], "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)" + "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-auditmanager-assessment.json" + "$ref": "resources/aws-apigateway-domainname.json" } }, "required": [ @@ -17787,9 +17794,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_AssetModel": { + "AWS_Cognito_IdentityPool": { "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::Cognito::IdentityPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html)", "allOf": [ { "type": "object", @@ -17797,14 +17804,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::AssetModel" + "AWS::Cognito::IdentityPool" ], "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::Cognito::IdentityPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-assetmodel.json" + "$ref": "resources/aws-cognito-identitypool.json" } }, "required": [ @@ -17818,9 +17825,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_CalculatedAttributeDefinition": { + "AWS_ElastiCache_User": { "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": "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", @@ -17828,14 +17835,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::CalculatedAttributeDefinition" + "AWS::ElastiCache::User" ], "markdownEnumDescriptions": [ - "A calculated attribute definition for Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.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-customerprofiles-calculatedattributedefinition.json" + "$ref": "resources/aws-elasticache-user.json" } }, "required": [ @@ -17849,9 +17856,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpaces_ConnectionAlias": { + "AWS_MediaPackage_OriginEndpoint": { "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 schema for AWS::MediaPackage::OriginEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html)", "allOf": [ { "type": "object", @@ -17859,14 +17866,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpaces::ConnectionAlias" + "AWS::MediaPackage::OriginEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WorkSpaces::ConnectionAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.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-workspaces-connectionalias.json" + "$ref": "resources/aws-mediapackage-originendpoint.json" } }, "required": [ @@ -17880,9 +17887,9 @@ ], "additionalProperties": false }, - "AWS_KMS_Alias": { + "AWS_ElasticLoadBalancingV2_TrustStore": { "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 i \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.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", @@ -17890,19 +17897,18 @@ "Type": { "type": "string", "enum": [ - "AWS::KMS::Alias" + "AWS::ElasticLoadBalancingV2::TrustStore" ], "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 i \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.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-kms-alias.json" + "$ref": "resources/aws-elasticloadbalancingv2-truststore.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17911,9 +17917,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_ResourceVersion": { + "AWS_Logs_LogStream": { "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::Logs::LogStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html)", "allOf": [ { "type": "object", @@ -17921,14 +17927,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::ResourceVersion" + "AWS::Logs::LogStream" ], "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::Logs::LogStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-resourceversion.json" + "$ref": "resources/aws-logs-logstream.json" } }, "required": [ @@ -17942,9 +17948,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Connector": { + "AWS_EC2_LocalGatewayRouteTable": { "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": "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", @@ -17952,14 +17958,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Connector" + "AWS::EC2::LocalGatewayRouteTable" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.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-transfer-connector.json" + "$ref": "resources/aws-ec2-localgatewayroutetable.json" } }, "required": [ @@ -17973,9 +17979,9 @@ ], "additionalProperties": false }, - "AWS_Wisdom_KnowledgeBase": { + "AWS_FraudDetector_EventType": { "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": "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", @@ -17983,14 +17989,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Wisdom::KnowledgeBase" + "AWS::FraudDetector::EventType" ], "markdownEnumDescriptions": [ - "Definition of AWS::Wisdom::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-knowledgebase.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-wisdom-knowledgebase.json" + "$ref": "resources/aws-frauddetector-eventtype.json" } }, "required": [ @@ -18004,9 +18010,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_InAppTemplate": { + "AWS_ECR_RegistryPolicy": { "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": "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", @@ -18014,14 +18020,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::InAppTemplate" + "AWS::ECR::RegistryPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::InAppTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-inapptemplate.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-pinpoint-inapptemplate.json" + "$ref": "resources/aws-ecr-registrypolicy.json" } }, "required": [ @@ -18035,9 +18041,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Authorizer": { + "AWS_WAF_SqlInjectionMatchSet": { "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::WAF::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html)", "allOf": [ { "type": "object", @@ -18045,14 +18051,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Authorizer" + "AWS::WAF::SqlInjectionMatchSet" ], "markdownEnumDescriptions": [ - "Creates an authorizer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.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-iot-authorizer.json" + "$ref": "resources/aws-waf-sqlinjectionmatchset.json" } }, "required": [ @@ -18066,9 +18072,9 @@ ], "additionalProperties": false }, - "AWS_Lex_BotVersion": { + "AWS_MediaTailor_PlaybackConfiguration": { "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": "Resource schema for AWS::MediaTailor::PlaybackConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html)", "allOf": [ { "type": "object", @@ -18076,14 +18082,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lex::BotVersion" + "AWS::MediaTailor::PlaybackConfiguration" ], "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)" + "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-lex-botversion.json" + "$ref": "resources/aws-mediatailor-playbackconfiguration.json" } }, "required": [ @@ -18097,9 +18103,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_Workspace": { + "AWS_IVS_EncoderConfiguration": { "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": "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", @@ -18107,19 +18113,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::Workspace" + "AWS::IVS::EncoderConfiguration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-workspace.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-iottwinmaker-workspace.json" + "$ref": "resources/aws-ivs-encoderconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18128,9 +18133,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_AppImageConfig": { + "AWS_Transfer_Server": { "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": "Resource Type definition for AWS::Transfer::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html)", "allOf": [ { "type": "object", @@ -18138,19 +18143,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::AppImageConfig" + "AWS::Transfer::Server" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::AppImageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html)" + "Resource Type definition for AWS::Transfer::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-appimageconfig.json" + "$ref": "resources/aws-transfer-server.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18159,9 +18163,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_LoggingConfiguration": { + "AWS_Route53Profiles_Profile": { "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 Type definition for AWS::Route53Profiles::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profile.html)", "allOf": [ { "type": "object", @@ -18169,14 +18173,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::LoggingConfiguration" + "AWS::Route53Profiles::Profile" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::LoggingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.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-networkfirewall-loggingconfiguration.json" + "$ref": "resources/aws-route53profiles-profile.json" } }, "required": [ @@ -18190,9 +18194,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_FunctionDefinitionVersion": { + "AWS_Pipes_Pipe": { "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": "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", @@ -18200,14 +18204,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::FunctionDefinitionVersion" + "AWS::Pipes::Pipe" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::FunctionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.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-greengrass-functiondefinitionversion.json" + "$ref": "resources/aws-pipes-pipe.json" } }, "required": [ @@ -18221,9 +18225,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_ResourceUpdateConstraint": { + "AWS_EC2_Host": { "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": "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", @@ -18231,14 +18235,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::ResourceUpdateConstraint" + "AWS::EC2::Host" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::ResourceUpdateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.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-servicecatalog-resourceupdateconstraint.json" + "$ref": "resources/aws-ec2-host.json" } }, "required": [ @@ -18252,9 +18256,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_Organization": { + "AWS_Config_StoredQuery": { "type": "object", - "markdownDescription": "Resource schema for AWS::Organizations::Organization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organization.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", @@ -18262,18 +18266,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::Organization" + "AWS::Config::StoredQuery" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Organizations::Organization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organization.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-organizations-organization.json" + "$ref": "resources/aws-config-storedquery.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -18282,9 +18287,9 @@ ], "additionalProperties": false }, - "AWS_S3_StorageLens": { + "AWS_WAF_ByteMatchSet": { "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::WAF::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html)", "allOf": [ { "type": "object", @@ -18292,14 +18297,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::StorageLens" + "AWS::WAF::ByteMatchSet" ], "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::WAF::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-storagelens.json" + "$ref": "resources/aws-waf-bytematchset.json" } }, "required": [ @@ -18313,9 +18318,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Channel": { + "AWS_ApiGateway_Resource": { "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": "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", @@ -18323,18 +18328,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Channel" + "AWS::ApiGateway::Resource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaLive::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.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-medialive-channel.json" + "$ref": "resources/aws-apigateway-resource.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -18343,9 +18349,9 @@ ], "additionalProperties": false }, - "AWS_NeptuneGraph_PrivateGraphEndpoint": { + "AWS_Cognito_IdentityPoolRoleAttachment": { "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::Cognito::IdentityPoolRoleAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html)", "allOf": [ { "type": "object", @@ -18353,14 +18359,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NeptuneGraph::PrivateGraphEndpoint" + "AWS::Cognito::IdentityPoolRoleAttachment" ], "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::Cognito::IdentityPoolRoleAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-neptunegraph-privategraphendpoint.json" + "$ref": "resources/aws-cognito-identitypoolroleattachment.json" } }, "required": [ @@ -18374,9 +18380,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_SignalCatalog": { + "AWS_DMS_ReplicationConfig": { "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": "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", @@ -18384,14 +18390,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::SignalCatalog" + "AWS::DMS::ReplicationConfig" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::SignalCatalog Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-signalcatalog.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-iotfleetwise-signalcatalog.json" + "$ref": "resources/aws-dms-replicationconfig.json" } }, "required": [ @@ -18404,9 +18410,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_EventSubscription": { + "AWS_Bedrock_AgentAlias": { "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": "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", @@ -18414,14 +18420,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::EventSubscription" + "AWS::Bedrock::AgentAlias" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.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-docdb-eventsubscription.json" + "$ref": "resources/aws-bedrock-agentalias.json" } }, "required": [ @@ -18435,39 +18441,9 @@ ], "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_AutoScaling_ScalingPolicy": { + "AWS_MediaConvert_Preset": { "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 Type definition for AWS::MediaConvert::Preset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html)", "allOf": [ { "type": "object", @@ -18475,14 +18451,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::ScalingPolicy" + "AWS::MediaConvert::Preset" ], "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 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-autoscaling-scalingpolicy.json" + "$ref": "resources/aws-mediaconvert-preset.json" } }, "required": [ @@ -18496,9 +18472,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Bucket": { + "AWS_Lightsail_Certificate": { "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": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html)", "allOf": [ { "type": "object", @@ -18506,14 +18482,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Bucket" + "AWS::Lightsail::Certificate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-bucket.json" + "$ref": "resources/aws-lightsail-certificate.json" } }, "required": [ @@ -18527,9 +18503,9 @@ ], "additionalProperties": false }, - "AWS_Scheduler_Schedule": { + "AWS_AppStream_Entitlement": { "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::AppStream::Entitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html)", "allOf": [ { "type": "object", @@ -18537,14 +18513,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Scheduler::Schedule" + "AWS::AppStream::Entitlement" ], "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::AppStream::Entitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html)" ] }, "Properties": { - "$ref": "resources/aws-scheduler-schedule.json" + "$ref": "resources/aws-appstream-entitlement.json" } }, "required": [ @@ -18558,9 +18534,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_SchemaMapping": { + "AWS_IoT_ThingPrincipalAttachment": { "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::IoT::ThingPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html)", "allOf": [ { "type": "object", @@ -18568,14 +18544,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::SchemaMapping" + "AWS::IoT::ThingPrincipalAttachment" ], "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::IoT::ThingPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-entityresolution-schemamapping.json" + "$ref": "resources/aws-iot-thingprincipalattachment.json" } }, "required": [ @@ -18589,9 +18565,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Workflow": { + "AWS_EC2_VPCPeeringConnection": { "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": "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", @@ -18599,18 +18575,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Workflow" + "AWS::EC2::VPCPeeringConnection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.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-glue-workflow.json" + "$ref": "resources/aws-ec2-vpcpeeringconnection.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -18619,9 +18596,9 @@ ], "additionalProperties": false }, - "AWS_AppFlow_Flow": { + "AWS_SageMaker_ModelExplainabilityJobDefinition": { "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::SageMaker::ModelExplainabilityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html)", "allOf": [ { "type": "object", @@ -18629,14 +18606,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppFlow::Flow" + "AWS::SageMaker::ModelExplainabilityJobDefinition" ], "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::SageMaker::ModelExplainabilityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-appflow-flow.json" + "$ref": "resources/aws-sagemaker-modelexplainabilityjobdefinition.json" } }, "required": [ @@ -18650,9 +18627,9 @@ ], "additionalProperties": false }, - "AWS_Events_Connection": { + "AWS_Proton_EnvironmentTemplate": { "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": "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", @@ -18660,14 +18637,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::Connection" + "AWS::Proton::EnvironmentTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::Connection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.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-events-connection.json" + "$ref": "resources/aws-proton-environmenttemplate.json" } }, "required": [ @@ -18680,9 +18657,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalogAppRegistry_AttributeGroupAssociation": { + "AWS_AppTest_TestCase": { "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": "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", @@ -18690,14 +18667,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + "AWS::AppTest::TestCase" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroupassociation.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-servicecatalogappregistry-attributegroupassociation.json" + "$ref": "resources/aws-apptest-testcase.json" } }, "required": [ @@ -18711,40 +18688,9 @@ ], "additionalProperties": false }, - "AWS_AmazonMQ_ConfigurationAssociation": { - "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)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::AmazonMQ::ConfigurationAssociation" - ], - "markdownEnumDescriptions": [ - "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-amazonmq-configurationassociation.json" - } - }, - "required": [ - "Type", - "Properties" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_MediaPackageV2_OriginEndpointPolicy": { + "AWS_Lightsail_Bucket": { "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::Lightsail::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html)", "allOf": [ { "type": "object", @@ -18752,14 +18698,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::OriginEndpointPolicy" + "AWS::Lightsail::Bucket" ], "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::Lightsail::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackagev2-originendpointpolicy.json" + "$ref": "resources/aws-lightsail-bucket.json" } }, "required": [ @@ -18773,9 +18719,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Authorizer": { + "AWS_IVS_PlaybackRestrictionPolicy": { "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": "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", @@ -18783,14 +18729,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Authorizer" + "AWS::IVS::PlaybackRestrictionPolicy" ], "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)" + "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-apigatewayv2-authorizer.json" + "$ref": "resources/aws-ivs-playbackrestrictionpolicy.json" } }, "required": [ @@ -18804,9 +18750,9 @@ ], "additionalProperties": false }, - "AWS_ECS_ClusterCapacityProviderAssociations": { + "AWS_Glue_Trigger": { "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::Glue::Trigger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html)", "allOf": [ { "type": "object", @@ -18814,14 +18760,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::ClusterCapacityProviderAssociations" + "AWS::Glue::Trigger" ], "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::Glue::Trigger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-clustercapacityproviderassociations.json" + "$ref": "resources/aws-glue-trigger.json" } }, "required": [ @@ -18835,9 +18781,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPNConnectionRoute": { + "AWS_ServiceCatalog_ResourceUpdateConstraint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPNConnectionRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.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", @@ -18845,14 +18791,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPNConnectionRoute" + "AWS::ServiceCatalog::ResourceUpdateConstraint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPNConnectionRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.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-ec2-vpnconnectionroute.json" + "$ref": "resources/aws-servicecatalog-resourceupdateconstraint.json" } }, "required": [ @@ -18866,9 +18812,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VolumeAttachment": { + "AWS_Lightsail_Distribution": { "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": "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", @@ -18876,14 +18822,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VolumeAttachment" + "AWS::Lightsail::Distribution" ], "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)" + "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-ec2-volumeattachment.json" + "$ref": "resources/aws-lightsail-distribution.json" } }, "required": [ @@ -18897,9 +18843,9 @@ ], "additionalProperties": false }, - "AWS_Oam_Sink": { + "AWS_AppSync_GraphQLApi": { "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": "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", @@ -18907,14 +18853,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Oam::Sink" + "AWS::AppSync::GraphQLApi" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Oam::Sink \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-sink.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-oam-sink.json" + "$ref": "resources/aws-appsync-graphqlapi.json" } }, "required": [ @@ -18928,9 +18874,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_Portfolio": { + "AWS_SecurityHub_PolicyAssociation": { "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": "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", @@ -18938,14 +18884,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::Portfolio" + "AWS::SecurityHub::PolicyAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::Portfolio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.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-servicecatalog-portfolio.json" + "$ref": "resources/aws-securityhub-policyassociation.json" } }, "required": [ @@ -18959,9 +18905,9 @@ ], "additionalProperties": false }, - "AWS_ControlTower_EnabledBaseline": { + "AWS_EC2_VPNGateway": { "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": "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", @@ -18969,14 +18915,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ControlTower::EnabledBaseline" + "AWS::EC2::VPNGateway" ], "markdownEnumDescriptions": [ - "Definition of AWS::ControlTower::EnabledBaseline Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.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-controltower-enabledbaseline.json" + "$ref": "resources/aws-ec2-vpngateway.json" } }, "required": [ @@ -18990,9 +18936,9 @@ ], "additionalProperties": false }, - "AWS_CodeStarConnections_Connection": { + "AWS_IoT_CustomMetric": { "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": "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", @@ -19000,14 +18946,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStarConnections::Connection" + "AWS::IoT::CustomMetric" ], "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)" + "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-codestarconnections-connection.json" + "$ref": "resources/aws-iot-custommetric.json" } }, "required": [ @@ -19021,9 +18967,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_EventSubscription": { + "AWS_WAFRegional_IPSet": { "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 Type definition for AWS::WAFRegional::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html)", "allOf": [ { "type": "object", @@ -19031,14 +18977,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::EventSubscription" + "AWS::WAFRegional::IPSet" ], "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 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-redshift-eventsubscription.json" + "$ref": "resources/aws-wafregional-ipset.json" } }, "required": [ @@ -19052,9 +18998,9 @@ ], "additionalProperties": false }, - "AWS_Backup_BackupVault": { + "AWS_Timestream_Database": { "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": "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", @@ -19062,19 +19008,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::BackupVault" + "AWS::Timestream::Database" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Backup::BackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.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-backup-backupvault.json" + "$ref": "resources/aws-timestream-database.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19083,9 +19028,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_FeatureGroup": { + "AWS_CE_CostCategory": { "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": "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", @@ -19093,14 +19038,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::FeatureGroup" + "AWS::CE::CostCategory" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::FeatureGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.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-sagemaker-featuregroup.json" + "$ref": "resources/aws-ce-costcategory.json" } }, "required": [ @@ -19114,9 +19059,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SecurityGroupEgress": { + "AWS_ApiGateway_RequestValidator": { "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": "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", @@ -19124,14 +19069,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SecurityGroupEgress" + "AWS::ApiGateway::RequestValidator" ], "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)" + "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-ec2-securitygroupegress.json" + "$ref": "resources/aws-apigateway-requestvalidator.json" } }, "required": [ @@ -19176,9 +19121,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_ApplicationSettings": { + "AWS_AppSync_SourceApiAssociation": { "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 Type definition for AWS::AppSync::SourceApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-sourceapiassociation.html)", "allOf": [ { "type": "object", @@ -19186,19 +19131,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::ApplicationSettings" + "AWS::AppSync::SourceApiAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::ApplicationSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.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-pinpoint-applicationsettings.json" + "$ref": "resources/aws-appsync-sourceapiassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19207,9 +19151,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_WebACLAssociation": { + "AWS_Greengrass_ResourceDefinitionVersion": { "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 Type definition for AWS::Greengrass::ResourceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html)", "allOf": [ { "type": "object", @@ -19217,14 +19161,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::WebACLAssociation" + "AWS::Greengrass::ResourceDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::WebACLAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.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-wafregional-webaclassociation.json" + "$ref": "resources/aws-greengrass-resourcedefinitionversion.json" } }, "required": [ @@ -19238,9 +19182,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_WaitConditionHandle": { + "AWS_Route53Resolver_FirewallRuleGroupAssociation": { "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 schema for AWS::Route53Resolver::FirewallRuleGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroupassociation.html)", "allOf": [ { "type": "object", @@ -19248,18 +19192,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::WaitConditionHandle" + "AWS::Route53Resolver::FirewallRuleGroupAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFormation::WaitConditionHandle \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.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-cloudformation-waitconditionhandle.json" + "$ref": "resources/aws-route53resolver-firewallrulegroupassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -19268,9 +19213,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_CloudFormationProvisionedProduct": { + "AWS_EntityResolution_SchemaMapping": { "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": "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", @@ -19278,18 +19223,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::CloudFormationProvisionedProduct" + "AWS::EntityResolution::SchemaMapping" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalog::CloudFormationProvisionedProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.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-servicecatalog-cloudformationprovisionedproduct.json" + "$ref": "resources/aws-entityresolution-schemamapping.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -19298,9 +19244,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_ApiKey": { + "AWS_EC2_TransitGatewayMulticastGroupSource": { "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": "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", @@ -19308,18 +19254,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::ApiKey" + "AWS::EC2::TransitGatewayMulticastGroupSource" ], "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)" + "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-apigateway-apikey.json" + "$ref": "resources/aws-ec2-transitgatewaymulticastgroupsource.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -19328,9 +19275,9 @@ ], "additionalProperties": false }, - "AWS_Backup_Framework": { + "AWS_MediaTailor_SourceLocation": { "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::MediaTailor::SourceLocation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html)", "allOf": [ { "type": "object", @@ -19338,14 +19285,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::Framework" + "AWS::MediaTailor::SourceLocation" ], "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::MediaTailor::SourceLocation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-framework.json" + "$ref": "resources/aws-mediatailor-sourcelocation.json" } }, "required": [ @@ -19359,9 +19306,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_PackagingConfiguration": { + "AWS_VpcLattice_AuthPolicy": { "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": "Creates or updates the auth policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.html)", "allOf": [ { "type": "object", @@ -19369,14 +19316,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::PackagingConfiguration" + "AWS::VpcLattice::AuthPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaPackage::PackagingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.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-mediapackage-packagingconfiguration.json" + "$ref": "resources/aws-vpclattice-authpolicy.json" } }, "required": [ @@ -19390,9 +19337,9 @@ ], "additionalProperties": false }, - "AWS_IAM_Policy": { + "AWS_CloudFormation_Stack": { "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 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.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", @@ -19400,14 +19347,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::Policy" + "AWS::CloudFormation::Stack" ], "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 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.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-iam-policy.json" + "$ref": "resources/aws-cloudformation-stack.json" } }, "required": [ @@ -19421,9 +19368,9 @@ ], "additionalProperties": false }, - "AWS_Grafana_Workspace": { + "AWS_SSO_Instance": { "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 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", @@ -19431,19 +19378,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Grafana::Workspace" + "AWS::SSO::Instance" ], "markdownEnumDescriptions": [ - "Definition of AWS::Grafana::Workspace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.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-grafana-workspace.json" + "$ref": "resources/aws-sso-instance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19452,9 +19398,9 @@ ], "additionalProperties": false }, - "AWS_Wisdom_AssistantAssociation": { + "AWS_ElastiCache_SecurityGroupIngress": { "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": "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", @@ -19462,14 +19408,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Wisdom::AssistantAssociation" + "AWS::ElastiCache::SecurityGroupIngress" ], "markdownEnumDescriptions": [ - "Definition of AWS::Wisdom::AssistantAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistantassociation.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-wisdom-assistantassociation.json" + "$ref": "resources/aws-elasticache-securitygroupingress.json" } }, "required": [ @@ -19483,9 +19429,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_Agent": { + "AWS_SNS_TopicPolicy": { "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": "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", @@ -19493,14 +19439,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::Agent" + "AWS::SNS::TopicPolicy" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::Agent Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.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-bedrock-agent.json" + "$ref": "resources/aws-sns-topicpolicy.json" } }, "required": [ @@ -19514,9 +19460,9 @@ ], "additionalProperties": false }, - "AWS_Forecast_Dataset": { + "AWS_GreengrassV2_Deployment": { "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": "Resource for Greengrass V2 deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html)", "allOf": [ { "type": "object", @@ -19524,14 +19470,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Forecast::Dataset" + "AWS::GreengrassV2::Deployment" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::Forecast::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-dataset.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-forecast-dataset.json" + "$ref": "resources/aws-greengrassv2-deployment.json" } }, "required": [ @@ -19545,9 +19491,9 @@ ], "additionalProperties": false }, - "AWS_MWAA_Environment": { + "AWS_DataSync_LocationNFS": { "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": "Resource schema for AWS::DataSync::LocationNFS \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html)", "allOf": [ { "type": "object", @@ -19555,14 +19501,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MWAA::Environment" + "AWS::DataSync::LocationNFS" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MWAA::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.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-mwaa-environment.json" + "$ref": "resources/aws-datasync-locationnfs.json" } }, "required": [ @@ -19576,9 +19522,9 @@ ], "additionalProperties": false }, - "AWS_Amplify_Branch": { + "AWS_CloudFront_ResponseHeadersPolicy": { "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::CloudFront::ResponseHeadersPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html)", "allOf": [ { "type": "object", @@ -19586,14 +19532,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Amplify::Branch" + "AWS::CloudFront::ResponseHeadersPolicy" ], "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::CloudFront::ResponseHeadersPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-amplify-branch.json" + "$ref": "resources/aws-cloudfront-responseheaderspolicy.json" } }, "required": [ @@ -19607,9 +19553,9 @@ ], "additionalProperties": false }, - "AWS_ApplicationInsights_Application": { + "AWS_KinesisAnalytics_ApplicationReferenceDataSource": { "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::KinesisAnalytics::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html)", "allOf": [ { "type": "object", @@ -19617,14 +19563,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApplicationInsights::Application" + "AWS::KinesisAnalytics::ApplicationReferenceDataSource" ], "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::KinesisAnalytics::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html)" ] }, "Properties": { - "$ref": "resources/aws-applicationinsights-application.json" + "$ref": "resources/aws-kinesisanalytics-applicationreferencedatasource.json" } }, "required": [ @@ -19638,9 +19584,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_BasePathMapping": { + "AWS_Redshift_Cluster": { "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": "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", @@ -19648,14 +19594,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::BasePathMapping" + "AWS::Redshift::Cluster" ], "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)" + "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-apigateway-basepathmapping.json" + "$ref": "resources/aws-redshift-cluster.json" } }, "required": [ @@ -19669,9 +19615,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_PartnerAccount": { + "AWS_Glue_Partition": { "type": "object", - "markdownDescription": "Create and manage partner account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-partneraccount.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", @@ -19679,18 +19625,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::PartnerAccount" + "AWS::Glue::Partition" ], "markdownEnumDescriptions": [ - "Create and manage partner account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-partneraccount.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-iotwireless-partneraccount.json" + "$ref": "resources/aws-glue-partition.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -19699,9 +19646,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_IdentityPoolRoleAttachment": { + "AWS_Deadline_MeteredProduct": { "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": "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", @@ -19709,19 +19656,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::IdentityPoolRoleAttachment" + "AWS::Deadline::MeteredProduct" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::IdentityPoolRoleAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html)" + "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-cognito-identitypoolroleattachment.json" + "$ref": "resources/aws-deadline-meteredproduct.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19730,9 +19676,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_NetworkSettings": { + "AWS_Backup_BackupSelection": { "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": "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", @@ -19740,14 +19686,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::NetworkSettings" + "AWS::Backup::BackupSelection" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::NetworkSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.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-workspacesweb-networksettings.json" + "$ref": "resources/aws-backup-backupselection.json" } }, "required": [ @@ -19761,9 +19707,9 @@ ], "additionalProperties": false }, - "AWS_S3_Bucket": { + "AWS_NetworkManager_Site": { "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": "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", @@ -19771,18 +19717,19 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::Bucket" + "AWS::NetworkManager::Site" ], "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)" + "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-s3-bucket.json" + "$ref": "resources/aws-networkmanager-site.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -19791,9 +19738,9 @@ ], "additionalProperties": false }, - "AWS_EC2_RouteTable": { + "AWS_Pinpoint_VoiceChannel": { "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": "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", @@ -19801,14 +19748,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::RouteTable" + "AWS::Pinpoint::VoiceChannel" ], "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)" + "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-routetable.json" + "$ref": "resources/aws-pinpoint-voicechannel.json" } }, "required": [ @@ -19822,9 +19769,9 @@ ], "additionalProperties": false }, - "AWS_Amplify_App": { + "AWS_OpenSearchServerless_VpcEndpoint": { "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": "Amazon OpenSearchServerless vpc endpoint resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html)", "allOf": [ { "type": "object", @@ -19832,14 +19779,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Amplify::App" + "AWS::OpenSearchServerless::VpcEndpoint" ], "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)" + "Amazon OpenSearchServerless vpc endpoint resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-amplify-app.json" + "$ref": "resources/aws-opensearchserverless-vpcendpoint.json" } }, "required": [ @@ -19853,9 +19800,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayRouteTable": { + "AWS_Kendra_Faq": { "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": "A Kendra FAQ resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html)", "allOf": [ { "type": "object", @@ -19863,14 +19810,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayRouteTable" + "AWS::Kendra::Faq" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayRouteTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html)" + "A Kendra FAQ resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayroutetable.json" + "$ref": "resources/aws-kendra-faq.json" } }, "required": [ @@ -19884,9 +19831,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_ConnectAttachment": { + "AWS_ElasticLoadBalancingV2_Listener": { "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": "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", @@ -19894,14 +19841,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::ConnectAttachment" + "AWS::ElasticLoadBalancingV2::Listener" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::ConnectAttachment Resource Type Definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.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-networkmanager-connectattachment.json" + "$ref": "resources/aws-elasticloadbalancingv2-listener.json" } }, "required": [ @@ -19915,9 +19862,9 @@ ], "additionalProperties": false }, - "AWS_ElasticBeanstalk_ConfigurationTemplate": { + "AWS_XRay_Group": { "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": "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", @@ -19925,14 +19872,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticBeanstalk::ConfigurationTemplate" + "AWS::XRay::Group" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticBeanstalk::ConfigurationTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.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-elasticbeanstalk-configurationtemplate.json" + "$ref": "resources/aws-xray-group.json" } }, "required": [ @@ -19946,9 +19893,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_Workflow": { + "AWS_AutoScaling_ScalingPolicy": { "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::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", @@ -19956,14 +19903,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::Workflow" + "AWS::AutoScaling::ScalingPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.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-imagebuilder-workflow.json" + "$ref": "resources/aws-autoscaling-scalingpolicy.json" } }, "required": [ @@ -19977,9 +19924,9 @@ ], "additionalProperties": false }, - "AWS_EKS_Nodegroup": { + "AWS_Rekognition_StreamProcessor": { "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": "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", @@ -19987,14 +19934,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::Nodegroup" + "AWS::Rekognition::StreamProcessor" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EKS::Nodegroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.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-eks-nodegroup.json" + "$ref": "resources/aws-rekognition-streamprocessor.json" } }, "required": [ @@ -20008,9 +19955,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayPeeringAttachment": { + "AWS_CodeDeploy_Application": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayPeeringAttachment type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.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", @@ -20018,19 +19965,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayPeeringAttachment" + "AWS::CodeDeploy::Application" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayPeeringAttachment type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.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-ec2-transitgatewaypeeringattachment.json" + "$ref": "resources/aws-codedeploy-application.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -20039,9 +19985,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LocalGatewayRouteTable": { + "AWS_Rekognition_Project": { "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": "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", @@ -20049,14 +19995,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LocalGatewayRouteTable" + "AWS::Rekognition::Project" ], "markdownEnumDescriptions": [ - "Describes a route table for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetable.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-ec2-localgatewayroutetable.json" + "$ref": "resources/aws-rekognition-project.json" } }, "required": [ @@ -20070,9 +20016,9 @@ ], "additionalProperties": false }, - "AWS_SSM_Association": { + "AWS_EC2_TransitGatewayRoute": { "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::TransitGatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html)", "allOf": [ { "type": "object", @@ -20080,14 +20026,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::Association" + "AWS::EC2::TransitGatewayRoute" ], "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::TransitGatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-association.json" + "$ref": "resources/aws-ec2-transitgatewayroute.json" } }, "required": [ @@ -20101,9 +20047,9 @@ ], "additionalProperties": false }, - "AWS_RDS_Integration": { + "AWS_VpcLattice_Service": { "type": "object", - "markdownDescription": "Creates a zero-ETL integration with Amazon Redshift. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.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", @@ -20111,19 +20057,18 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::Integration" + "AWS::VpcLattice::Service" ], "markdownEnumDescriptions": [ - "Creates a zero-ETL integration with Amazon Redshift. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.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-rds-integration.json" + "$ref": "resources/aws-vpclattice-service.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -20132,9 +20077,9 @@ ], "additionalProperties": false }, - "AWS_Timestream_InfluxDBInstance": { + "AWS_EC2_GatewayRouteTableAssociation": { "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": "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", @@ -20142,18 +20087,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Timestream::InfluxDBInstance" + "AWS::EC2::GatewayRouteTableAssociation" ], "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)" + "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-timestream-influxdbinstance.json" + "$ref": "resources/aws-ec2-gatewayroutetableassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -20162,9 +20108,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayMulticastGroupSource": { + "AWS_Evidently_Feature": { "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": "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", @@ -20172,14 +20118,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupSource" + "AWS::Evidently::Feature" ], "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)" + "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-ec2-transitgatewaymulticastgroupsource.json" + "$ref": "resources/aws-evidently-feature.json" } }, "required": [ @@ -20193,9 +20139,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_VpcConnector": { + "AWS_IoTFleetWise_Fleet": { "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": "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", @@ -20203,14 +20149,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::VpcConnector" + "AWS::IoTFleetWise::Fleet" ], "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)" + "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-apprunner-vpcconnector.json" + "$ref": "resources/aws-iotfleetwise-fleet.json" } }, "required": [ @@ -20224,9 +20170,9 @@ ], "additionalProperties": false }, - "AWS_Athena_PreparedStatement": { + "AWS_MediaConvert_JobTemplate": { "type": "object", - "markdownDescription": "Resource schema for AWS::Athena::PreparedStatement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.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", @@ -20234,14 +20180,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::PreparedStatement" + "AWS::MediaConvert::JobTemplate" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::PreparedStatement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.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-athena-preparedstatement.json" + "$ref": "resources/aws-mediaconvert-jobtemplate.json" } }, "required": [ @@ -20255,9 +20201,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Instance": { + "AWS_CodeDeploy_DeploymentConfig": { "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 AWS::CodeDeploy::DeploymentConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html)", "allOf": [ { "type": "object", @@ -20265,14 +20211,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Instance" + "AWS::CodeDeploy::DeploymentConfig" ], "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 AWS::CodeDeploy::DeploymentConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-instance.json" + "$ref": "resources/aws-codedeploy-deploymentconfig.json" } }, "required": [ @@ -20285,9 +20231,9 @@ ], "additionalProperties": false }, - "AWS_EC2_FlowLog": { + "AWS_AppRunner_Service": { "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": "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", @@ -20295,14 +20241,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::FlowLog" + "AWS::AppRunner::Service" ], "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)" + "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-ec2-flowlog.json" + "$ref": "resources/aws-apprunner-service.json" } }, "required": [ @@ -20316,9 +20262,9 @@ ], "additionalProperties": false }, - "Alexa_ASK_Skill": { + "AWS_Macie_CustomDataIdentifier": { "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": "Macie CustomDataIdentifier resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html)", "allOf": [ { "type": "object", @@ -20326,14 +20272,14 @@ "Type": { "type": "string", "enum": [ - "Alexa::ASK::Skill" + "AWS::Macie::CustomDataIdentifier" ], "markdownEnumDescriptions": [ - "Resource Type definition for Alexa::ASK::Skill \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-alexa-ask-skill.html)" + "Macie CustomDataIdentifier resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html)" ] }, "Properties": { - "$ref": "resources/alexa-ask-skill.json" + "$ref": "resources/aws-macie-customdataidentifier.json" } }, "required": [ @@ -20347,9 +20293,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VerifiedAccessEndpoint": { + "AWS_ApiGateway_RestApi": { "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": "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", @@ -20357,19 +20303,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VerifiedAccessEndpoint" + "AWS::ApiGateway::RestApi" ], "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)" + "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-ec2-verifiedaccessendpoint.json" + "$ref": "resources/aws-apigateway-restapi.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -20378,9 +20323,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_MulticastGroup": { + "AWS_Lex_Bot": { "type": "object", - "markdownDescription": "Create and manage Multicast groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-multicastgroup.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", @@ -20388,14 +20333,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::MulticastGroup" + "AWS::Lex::Bot" ], "markdownEnumDescriptions": [ - "Create and manage Multicast groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-multicastgroup.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-iotwireless-multicastgroup.json" + "$ref": "resources/aws-lex-bot.json" } }, "required": [ @@ -20409,9 +20354,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverQueryLoggingConfig": { + "AWS_DMS_DataProvider": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.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", @@ -20419,18 +20364,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::DMS::DataProvider" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.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-route53resolver-resolverqueryloggingconfig.json" + "$ref": "resources/aws-dms-dataprovider.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -20439,9 +20385,9 @@ ], "additionalProperties": false }, - "AWS_IoTThingsGraph_FlowTemplate": { + "AWS_ResourceExplorer2_View": { "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": "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", @@ -20449,14 +20395,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" + "AWS::ResourceExplorer2::View" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTThingsGraph::FlowTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html)" + "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-iotthingsgraph-flowtemplate.json" + "$ref": "resources/aws-resourceexplorer2-view.json" } }, "required": [ @@ -20470,9 +20416,9 @@ ], "additionalProperties": false }, - "AWS_FIS_ExperimentTemplate": { + "AWS_AppMesh_VirtualGateway": { "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::AppMesh::VirtualGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html)", "allOf": [ { "type": "object", @@ -20480,14 +20426,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FIS::ExperimentTemplate" + "AWS::AppMesh::VirtualGateway" ], "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::AppMesh::VirtualGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html)" ] }, "Properties": { - "$ref": "resources/aws-fis-experimenttemplate.json" + "$ref": "resources/aws-appmesh-virtualgateway.json" } }, "required": [ @@ -20501,9 +20447,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_WirelessDeviceImportTask": { + "AWS_MediaTailor_ChannelPolicy": { "type": "object", - "markdownDescription": "Wireless Device Import Tasks \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdeviceimporttask.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", @@ -20511,14 +20457,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::WirelessDeviceImportTask" + "AWS::MediaTailor::ChannelPolicy" ], "markdownEnumDescriptions": [ - "Wireless Device Import Tasks \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdeviceimporttask.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-iotwireless-wirelessdeviceimporttask.json" + "$ref": "resources/aws-mediatailor-channelpolicy.json" } }, "required": [ @@ -20532,9 +20478,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_StreamingDistribution": { + "AWS_MediaPackage_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 schema for AWS::MediaPackage::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html)", "allOf": [ { "type": "object", @@ -20542,14 +20488,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::StreamingDistribution" + "AWS::MediaPackage::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 schema for AWS::MediaPackage::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-streamingdistribution.json" + "$ref": "resources/aws-mediapackage-channel.json" } }, "required": [ @@ -20563,9 +20509,9 @@ ], "additionalProperties": false }, - "AWS_Config_ConfigurationRecorder": { + "AWS_Events_EventBus": { "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": "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", @@ -20573,14 +20519,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::ConfigurationRecorder" + "AWS::Events::EventBus" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::ConfigurationRecorder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html)" + "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-config-configurationrecorder.json" + "$ref": "resources/aws-events-eventbus.json" } }, "required": [ @@ -20594,9 +20540,9 @@ ], "additionalProperties": false }, - "AWS_MSK_VpcConnection": { + "AWS_CodePipeline_Pipeline": { "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": "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", @@ -20604,14 +20550,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::VpcConnection" + "AWS::CodePipeline::Pipeline" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::VpcConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-vpcconnection.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-msk-vpcconnection.json" + "$ref": "resources/aws-codepipeline-pipeline.json" } }, "required": [ @@ -20625,9 +20571,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_IPSet": { + "AWS_AppSync_FunctionConfiguration": { "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": "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", @@ -20635,14 +20581,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::IPSet" + "AWS::AppSync::FunctionConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.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-wafregional-ipset.json" + "$ref": "resources/aws-appsync-functionconfiguration.json" } }, "required": [ @@ -20656,9 +20602,9 @@ ], "additionalProperties": false }, - "AWS_Kendra_Faq": { + "AWS_QuickSight_Dashboard": { "type": "object", - "markdownDescription": "A Kendra FAQ resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.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", @@ -20666,14 +20612,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Kendra::Faq" + "AWS::QuickSight::Dashboard" ], "markdownEnumDescriptions": [ - "A Kendra FAQ resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.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-kendra-faq.json" + "$ref": "resources/aws-quicksight-dashboard.json" } }, "required": [ @@ -20687,9 +20633,9 @@ ], "additionalProperties": false }, - "AWS_SNS_TopicPolicy": { + "AWS_RDS_DBProxyEndpoint": { "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": "Resource schema for AWS::RDS::DBProxyEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html)", "allOf": [ { "type": "object", @@ -20697,14 +20643,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SNS::TopicPolicy" + "AWS::RDS::DBProxyEndpoint" ], "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)" + "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-sns-topicpolicy.json" + "$ref": "resources/aws-rds-dbproxyendpoint.json" } }, "required": [ @@ -20718,9 +20664,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_DomainName": { + "AWS_Logs_SubscriptionFilter": { "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": "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", @@ -20728,14 +20674,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::DomainName" + "AWS::Logs::SubscriptionFilter" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::DomainName \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.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-appsync-domainname.json" + "$ref": "resources/aws-logs-subscriptionfilter.json" } }, "required": [ @@ -20749,9 +20695,9 @@ ], "additionalProperties": false }, - "AWS_NimbleStudio_StreamingImage": { + "AWS_Wisdom_AssistantAssociation": { "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": "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", @@ -20759,14 +20705,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NimbleStudio::StreamingImage" + "AWS::Wisdom::AssistantAssociation" ], "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)" + "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-nimblestudio-streamingimage.json" + "$ref": "resources/aws-wisdom-assistantassociation.json" } }, "required": [ @@ -20780,9 +20726,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_Detector": { + "AWS_DocDB_DBClusterParameterGroup": { "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::DocDB::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html)", "allOf": [ { "type": "object", @@ -20790,14 +20736,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::Detector" + "AWS::DocDB::DBClusterParameterGroup" ], "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::DocDB::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-detector.json" + "$ref": "resources/aws-docdb-dbclusterparametergroup.json" } }, "required": [ @@ -20811,9 +20757,9 @@ ], "additionalProperties": false }, - "AWS_Signer_ProfilePermission": { + "AWS_VoiceID_Domain": { "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": "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", @@ -20821,14 +20767,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Signer::ProfilePermission" + "AWS::VoiceID::Domain" ], "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)" + "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-signer-profilepermission.json" + "$ref": "resources/aws-voiceid-domain.json" } }, "required": [ @@ -20842,9 +20788,9 @@ ], "additionalProperties": false }, - "AWS_Cassandra_Table": { + "AWS_WAF_WebACL": { "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": "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", @@ -20852,14 +20798,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cassandra::Table" + "AWS::WAF::WebACL" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Cassandra::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.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-cassandra-table.json" + "$ref": "resources/aws-waf-webacl.json" } }, "required": [ @@ -20873,9 +20819,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_List": { + "AWS_EKS_Nodegroup": { "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": "Resource schema for AWS::EKS::Nodegroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html)", "allOf": [ { "type": "object", @@ -20883,14 +20829,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::List" + "AWS::EKS::Nodegroup" ], "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)" + "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-frauddetector-list.json" + "$ref": "resources/aws-eks-nodegroup.json" } }, "required": [ @@ -20904,9 +20850,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Dimension": { + "AWS_ManagedBlockchain_Accessor": { "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": "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", @@ -20914,14 +20860,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Dimension" + "AWS::ManagedBlockchain::Accessor" ], "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)" + "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-iot-dimension.json" + "$ref": "resources/aws-managedblockchain-accessor.json" } }, "required": [ @@ -20935,9 +20881,9 @@ ], "additionalProperties": false }, - "AWS_ElasticBeanstalk_Environment": { + "AWS_GameLift_GameServerGroup": { "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::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", @@ -20945,14 +20891,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticBeanstalk::Environment" + "AWS::GameLift::GameServerGroup" ], "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::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-elasticbeanstalk-environment.json" + "$ref": "resources/aws-gamelift-gameservergroup.json" } }, "required": [ @@ -20966,9 +20912,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_NotebookInstance": { + "AWS_HealthImaging_Datastore": { "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": "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", @@ -20976,19 +20922,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::NotebookInstance" + "AWS::HealthImaging::Datastore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::NotebookInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.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-sagemaker-notebookinstance.json" + "$ref": "resources/aws-healthimaging-datastore.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -20997,9 +20942,9 @@ ], "additionalProperties": false }, - "AWS_RDS_EventSubscription": { + "AWS_StepFunctions_StateMachineVersion": { "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 in the Amazon RDS User Guide. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html)", + "markdownDescription": "Resource schema for StateMachineVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html)", "allOf": [ { "type": "object", @@ -21007,14 +20952,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::EventSubscription" + "AWS::StepFunctions::StateMachineVersion" ], "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 in the Amazon RDS User Guide. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html)" + "Resource schema for StateMachineVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-eventsubscription.json" + "$ref": "resources/aws-stepfunctions-statemachineversion.json" } }, "required": [ @@ -21028,9 +20973,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Logging": { + "AWS_DAX_ParameterGroup": { "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::DAX::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html)", "allOf": [ { "type": "object", @@ -21038,19 +20983,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Logging" + "AWS::DAX::ParameterGroup" ], "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::DAX::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-logging.json" + "$ref": "resources/aws-dax-parametergroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21059,9 +21003,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_WarmPool": { + "AWS_Cognito_UserPoolRiskConfigurationAttachment": { "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::Cognito::UserPoolRiskConfigurationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html)", "allOf": [ { "type": "object", @@ -21069,14 +21013,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::WarmPool" + "AWS::Cognito::UserPoolRiskConfigurationAttachment" ], "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::Cognito::UserPoolRiskConfigurationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-warmpool.json" + "$ref": "resources/aws-cognito-userpoolriskconfigurationattachment.json" } }, "required": [ @@ -21090,9 +21034,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBSecurityGroup": { + "AWS_Logs_MetricFilter": { "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": "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", @@ -21100,14 +21044,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBSecurityGroup" + "AWS::Logs::MetricFilter" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::RDS::DBSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.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-rds-dbsecuritygroup.json" + "$ref": "resources/aws-logs-metricfilter.json" } }, "required": [ @@ -21121,9 +21065,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_SMSChannel": { + "AWS_Glue_DataQualityRuleset": { "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": "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", @@ -21131,19 +21075,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::SMSChannel" + "AWS::Glue::DataQualityRuleset" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::SMSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.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-pinpoint-smschannel.json" + "$ref": "resources/aws-glue-dataqualityruleset.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21152,9 +21095,9 @@ ], "additionalProperties": false }, - "AWS_CodeBuild_ReportGroup": { + "AWS_MediaTailor_Channel": { "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": "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", @@ -21162,14 +21105,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeBuild::ReportGroup" + "AWS::MediaTailor::Channel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeBuild::ReportGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.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-codebuild-reportgroup.json" + "$ref": "resources/aws-mediatailor-channel.json" } }, "required": [ @@ -21183,9 +21126,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_WebACL": { + "AWS_NetworkManager_CoreNetwork": { "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::NetworkManager::CoreNetwork Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-corenetwork.html)", "allOf": [ { "type": "object", @@ -21193,14 +21136,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::WebACL" + "AWS::NetworkManager::CoreNetwork" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.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-wafregional-webacl.json" + "$ref": "resources/aws-networkmanager-corenetwork.json" } }, "required": [ @@ -21214,9 +21157,9 @@ ], "additionalProperties": false }, - "AWS_KinesisVideo_Stream": { + "AWS_SES_ReceiptFilter": { "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 Type definition for AWS::SES::ReceiptFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html)", "allOf": [ { "type": "object", @@ -21224,18 +21167,19 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisVideo::Stream" + "AWS::SES::ReceiptFilter" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::KinesisVideo::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.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-kinesisvideo-stream.json" + "$ref": "resources/aws-ses-receiptfilter.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -21244,9 +21188,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_HostedConfigurationVersion": { + "AWS_Cognito_LogDeliveryConfiguration": { "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 Type definition for AWS::Cognito::LogDeliveryConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html)", "allOf": [ { "type": "object", @@ -21254,14 +21198,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::HostedConfigurationVersion" + "AWS::Cognito::LogDeliveryConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::HostedConfigurationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.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-hostedconfigurationversion.json" + "$ref": "resources/aws-cognito-logdeliveryconfiguration.json" } }, "required": [ @@ -21275,9 +21219,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Version": { + "AWS_CloudTrail_Channel": { "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": "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", @@ -21285,19 +21229,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Version" + "AWS::CloudTrail::Channel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::Version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.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-lambda-version.json" + "$ref": "resources/aws-cloudtrail-channel.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21306,9 +21249,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_Channel": { + "AWS_S3_Bucket": { "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": "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", @@ -21316,19 +21259,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::Channel" + "AWS::S3::Bucket" ], "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)" + "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-mediapackagev2-channel.json" + "$ref": "resources/aws-s3-bucket.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21337,9 +21279,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBParameterGroup": { + "AWS_B2BI_Transformer": { "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": "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", @@ -21347,14 +21289,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBParameterGroup" + "AWS::B2BI::Transformer" ], "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)" + "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-rds-dbparametergroup.json" + "$ref": "resources/aws-b2bi-transformer.json" } }, "required": [ @@ -21368,9 +21310,9 @@ ], "additionalProperties": false }, - "AWS_MediaStore_Container": { + "AWS_MediaTailor_LiveSource": { "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": "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", @@ -21378,14 +21320,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaStore::Container" + "AWS::MediaTailor::LiveSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaStore::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.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-mediastore-container.json" + "$ref": "resources/aws-mediatailor-livesource.json" } }, "required": [ @@ -21399,9 +21341,9 @@ ], "additionalProperties": false }, - "AWS_IoT_TopicRuleDestination": { + "AWS_SageMaker_ModelCard": { "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": "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", @@ -21409,18 +21351,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::TopicRuleDestination" + "AWS::SageMaker::ModelCard" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::TopicRuleDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.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-iot-topicruledestination.json" + "$ref": "resources/aws-sagemaker-modelcard.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -21429,9 +21372,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EgressOnlyInternetGateway": { + "AWS_EC2_VPCEndpointServicePermissions": { "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 Type definition for AWS::EC2::VPCEndpointServicePermissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html)", "allOf": [ { "type": "object", @@ -21439,14 +21382,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EgressOnlyInternetGateway" + "AWS::EC2::VPCEndpointServicePermissions" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::EgressOnlyInternetGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.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-ec2-egressonlyinternetgateway.json" + "$ref": "resources/aws-ec2-vpcendpointservicepermissions.json" } }, "required": [ @@ -21460,9 +21403,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_IPSet": { + "AWS_Route53Resolver_FirewallRuleGroup": { "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 schema for AWS::Route53Resolver::FirewallRuleGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroup.html)", "allOf": [ { "type": "object", @@ -21470,19 +21413,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::IPSet" + "AWS::Route53Resolver::FirewallRuleGroup" ], "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 schema for AWS::Route53Resolver::FirewallRuleGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-wafv2-ipset.json" + "$ref": "resources/aws-route53resolver-firewallrulegroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21491,9 +21433,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorksCM_Server": { + "AWS_Organizations_Policy": { "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": "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", @@ -21501,14 +21443,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorksCM::Server" + "AWS::Organizations::Policy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorksCM::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.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-opsworkscm-server.json" + "$ref": "resources/aws-organizations-policy.json" } }, "required": [ @@ -21522,9 +21464,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMResourceDiscoveryAssociation": { + "AWS_IoT1Click_Placement": { "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::IoT1Click::Placement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html)", "allOf": [ { "type": "object", @@ -21532,14 +21474,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMResourceDiscoveryAssociation" + "AWS::IoT1Click::Placement" ], "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::IoT1Click::Placement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipamresourcediscoveryassociation.json" + "$ref": "resources/aws-iot1click-placement.json" } }, "required": [ @@ -21553,9 +21495,9 @@ ], "additionalProperties": false }, - "AWS_Config_ConfigurationAggregator": { + "AWS_ApiGateway_BasePathMapping": { "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": "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", @@ -21563,18 +21505,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::ConfigurationAggregator" + "AWS::ApiGateway::BasePathMapping" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::ConfigurationAggregator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.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-config-configurationaggregator.json" + "$ref": "resources/aws-apigateway-basepathmapping.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -21583,9 +21526,9 @@ ], "additionalProperties": false }, - "AWS_Logs_DeliverySource": { + "AWS_EC2_VPCEndpoint": { "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": "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 [W \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html)", "allOf": [ { "type": "object", @@ -21593,14 +21536,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::DeliverySource" + "AWS::EC2::VPCEndpoint" ], "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)" + "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 [W \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-deliverysource.json" + "$ref": "resources/aws-ec2-vpcendpoint.json" } }, "required": [ @@ -21614,9 +21557,9 @@ ], "additionalProperties": false }, - "AWS_PinpointEmail_ConfigurationSet": { + "AWS_IVS_StreamKey": { "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::IVS::StreamKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html)", "allOf": [ { "type": "object", @@ -21624,14 +21567,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PinpointEmail::ConfigurationSet" + "AWS::IVS::StreamKey" ], "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::IVS::StreamKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpointemail-configurationset.json" + "$ref": "resources/aws-ivs-streamkey.json" } }, "required": [ @@ -21645,9 +21588,9 @@ ], "additionalProperties": false }, - "AWS_ResourceExplorer2_DefaultViewAssociation": { + "AWS_SecurityHub_SecurityControl": { "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": "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", @@ -21655,14 +21598,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResourceExplorer2::DefaultViewAssociation" + "AWS::SecurityHub::SecurityControl" ], "markdownEnumDescriptions": [ - "Definition of AWS::ResourceExplorer2::DefaultViewAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-defaultviewassociation.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-resourceexplorer2-defaultviewassociation.json" + "$ref": "resources/aws-securityhub-securitycontrol.json" } }, "required": [ @@ -21676,9 +21619,9 @@ ], "additionalProperties": false }, - "AWS_ACMPCA_CertificateAuthorityActivation": { + "AWS_ApiGateway_Authorizer": { "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": "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", @@ -21686,14 +21629,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ACMPCA::CertificateAuthorityActivation" + "AWS::ApiGateway::Authorizer" ], "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)" + "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-acmpca-certificateauthorityactivation.json" + "$ref": "resources/aws-apigateway-authorizer.json" } }, "required": [ @@ -21707,9 +21650,9 @@ ], "additionalProperties": false }, - "AWS_EMR_StudioSessionMapping": { + "AWS_SES_ConfigurationSet": { "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 schema for AWS::SES::ConfigurationSet. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html)", "allOf": [ { "type": "object", @@ -21717,19 +21660,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::StudioSessionMapping" + "AWS::SES::ConfigurationSet" ], "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 schema for AWS::SES::ConfigurationSet. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-studiosessionmapping.json" + "$ref": "resources/aws-ses-configurationset.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21738,9 +21680,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SubnetCidrBlock": { + "AWS_SNS_Topic": { "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": "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", @@ -21748,19 +21690,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SubnetCidrBlock" + "AWS::SNS::Topic" ], "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)" + "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-ec2-subnetcidrblock.json" + "$ref": "resources/aws-sns-topic.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21769,9 +21710,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_FunctionDefinition": { + "AWS_GameLift_ContainerGroupDefinition": { "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::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", @@ -21779,14 +21720,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::FunctionDefinition" + "AWS::GameLift::ContainerGroupDefinition" ], "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::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-greengrass-functiondefinition.json" + "$ref": "resources/aws-gamelift-containergroupdefinition.json" } }, "required": [ @@ -21800,9 +21741,9 @@ ], "additionalProperties": false }, - "AWS_IAM_ManagedPolicy": { + "AWS_RDS_DBSubnetGroup": { "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": "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", @@ -21810,14 +21751,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::ManagedPolicy" + "AWS::RDS::DBSubnetGroup" ], "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)" + "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-iam-managedpolicy.json" + "$ref": "resources/aws-rds-dbsubnetgroup.json" } }, "required": [ @@ -21831,9 +21772,9 @@ ], "additionalProperties": false }, - "AWS_AmplifyUIBuilder_Theme": { + "AWS_S3Outposts_Endpoint": { "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 Type Definition for AWS::S3Outposts::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html)", "allOf": [ { "type": "object", @@ -21841,18 +21782,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AmplifyUIBuilder::Theme" + "AWS::S3Outposts::Endpoint" ], "markdownEnumDescriptions": [ - "Definition of AWS::AmplifyUIBuilder::Theme Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-theme.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-amplifyuibuilder-theme.json" + "$ref": "resources/aws-s3outposts-endpoint.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -21861,9 +21803,9 @@ ], "additionalProperties": false }, - "AWS_EventSchemas_Schema": { + "AWS_ECS_ClusterCapacityProviderAssociations": { "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": "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", @@ -21871,14 +21813,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EventSchemas::Schema" + "AWS::ECS::ClusterCapacityProviderAssociations" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EventSchemas::Schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.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-eventschemas-schema.json" + "$ref": "resources/aws-ecs-clustercapacityproviderassociations.json" } }, "required": [ @@ -21892,9 +21834,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_Destination": { + "AWS_EC2_IPAMAllocation": { "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 Schema of AWS::EC2::IPAMAllocation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html)", "allOf": [ { "type": "object", @@ -21902,14 +21844,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::Destination" + "AWS::EC2::IPAMAllocation" ], "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 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-iotwireless-destination.json" + "$ref": "resources/aws-ec2-ipamallocation.json" } }, "required": [ @@ -21923,9 +21865,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_ApiMapping": { + "AWS_MediaConnect_Gateway": { "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": "Resource schema for AWS::MediaConnect::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html)", "allOf": [ { "type": "object", @@ -21933,14 +21875,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::ApiMapping" + "AWS::MediaConnect::Gateway" ], "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)" + "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-apigatewayv2-apimapping.json" + "$ref": "resources/aws-mediaconnect-gateway.json" } }, "required": [ @@ -21954,9 +21896,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_GroupVersion": { + "AWS_IAM_Policy": { "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": "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 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html)", "allOf": [ { "type": "object", @@ -21964,14 +21906,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::GroupVersion" + "AWS::IAM::Policy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::GroupVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.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 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-groupversion.json" + "$ref": "resources/aws-iam-policy.json" } }, "required": [ @@ -21985,9 +21927,9 @@ ], "additionalProperties": false }, - "AWS_IoT_AccountAuditConfiguration": { + "AWS_AppConfig_Deployment": { "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": "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", @@ -21995,14 +21937,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::AccountAuditConfiguration" + "AWS::AppConfig::Deployment" ], "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)" + "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-accountauditconfiguration.json" + "$ref": "resources/aws-appconfig-deployment.json" } }, "required": [ @@ -22016,9 +21958,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_XssMatchSet": { + "AWS_SupportApp_SlackChannelConfiguration": { "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": "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", @@ -22026,14 +21968,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::XssMatchSet" + "AWS::SupportApp::SlackChannelConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.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-wafregional-xssmatchset.json" + "$ref": "resources/aws-supportapp-slackchannelconfiguration.json" } }, "required": [ @@ -22047,9 +21989,9 @@ ], "additionalProperties": false }, - "AWS_IdentityStore_GroupMembership": { + "AWS_QBusiness_Application": { "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": "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", @@ -22057,14 +21999,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IdentityStore::GroupMembership" + "AWS::QBusiness::Application" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS:IdentityStore::GroupMembership \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-groupmembership.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-identitystore-groupmembership.json" + "$ref": "resources/aws-qbusiness-application.json" } }, "required": [ @@ -22078,9 +22020,9 @@ ], "additionalProperties": false }, - "AWS_EC2_GatewayRouteTableAssociation": { + "AWS_IoTWireless_WirelessDevice": { "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": "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", @@ -22088,14 +22030,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::GatewayRouteTableAssociation" + "AWS::IoTWireless::WirelessDevice" ], "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)" + "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-ec2-gatewayroutetableassociation.json" + "$ref": "resources/aws-iotwireless-wirelessdevice.json" } }, "required": [ @@ -22109,9 +22051,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_LinkAssociation": { + "AWS_S3_AccessGrantsLocation": { "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": "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", @@ -22119,19 +22061,18 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::LinkAssociation" + "AWS::S3::AccessGrantsLocation" ], "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)" + "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-networkmanager-linkassociation.json" + "$ref": "resources/aws-s3-accessgrantslocation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -22140,9 +22081,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NatGateway": { + "AWS_Glue_DevEndpoint": { "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::Glue::DevEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html)", "allOf": [ { "type": "object", @@ -22150,14 +22091,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NatGateway" + "AWS::Glue::DevEndpoint" ], "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::Glue::DevEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-natgateway.json" + "$ref": "resources/aws-glue-devendpoint.json" } }, "required": [ @@ -22171,9 +22112,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_OriginAccessControl": { + "AWS_IoTSiteWise_Dashboard": { "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": "Resource schema for AWS::IoTSiteWise::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html)", "allOf": [ { "type": "object", @@ -22181,14 +22122,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::OriginAccessControl" + "AWS::IoTSiteWise::Dashboard" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::OriginAccessControl \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.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-cloudfront-originaccesscontrol.json" + "$ref": "resources/aws-iotsitewise-dashboard.json" } }, "required": [ @@ -22202,9 +22143,9 @@ ], "additionalProperties": false }, - "AWS_GroundStation_DataflowEndpointGroup": { + "AWS_Neptune_DBClusterParameterGroup": { "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::Neptune::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html)", "allOf": [ { "type": "object", @@ -22212,14 +22153,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GroundStation::DataflowEndpointGroup" + "AWS::Neptune::DBClusterParameterGroup" ], "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::Neptune::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-groundstation-dataflowendpointgroup.json" + "$ref": "resources/aws-neptune-dbclusterparametergroup.json" } }, "required": [ @@ -22233,9 +22174,9 @@ ], "additionalProperties": false }, - "AWS_SSM_MaintenanceWindowTask": { + "AWS_MediaConnect_BridgeSource": { "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 schema for AWS::MediaConnect::BridgeSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html)", "allOf": [ { "type": "object", @@ -22243,14 +22184,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::MaintenanceWindowTask" + "AWS::MediaConnect::BridgeSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::MaintenanceWindowTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.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-ssm-maintenancewindowtask.json" + "$ref": "resources/aws-mediaconnect-bridgesource.json" } }, "required": [ @@ -22264,9 +22205,9 @@ ], "additionalProperties": false }, - "AWS_IVS_Channel": { + "AWS_EC2_PrefixList": { "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": "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", @@ -22274,18 +22215,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::Channel" + "AWS::EC2::PrefixList" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.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-ivs-channel.json" + "$ref": "resources/aws-ec2-prefixlist.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -22294,9 +22236,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_IpAccessSettings": { + "AWS_DMS_Certificate": { "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::DMS::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html)", "allOf": [ { "type": "object", @@ -22304,19 +22246,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::IpAccessSettings" + "AWS::DMS::Certificate" ], "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::DMS::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-ipaccesssettings.json" + "$ref": "resources/aws-dms-certificate.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -22325,9 +22266,9 @@ ], "additionalProperties": false }, - "AWS_CodeStar_GitHubRepository": { + "AWS_Pinpoint_App": { "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": "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", @@ -22335,14 +22276,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStar::GitHubRepository" + "AWS::Pinpoint::App" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeStar::GitHubRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html)" + "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-codestar-githubrepository.json" + "$ref": "resources/aws-pinpoint-app.json" } }, "required": [ @@ -22356,9 +22297,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_LifecyclePolicy": { + "AWS_M2_Application": { "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": "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", @@ -22366,14 +22307,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::LifecyclePolicy" + "AWS::M2::Application" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.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-imagebuilder-lifecyclepolicy.json" + "$ref": "resources/aws-m2-application.json" } }, "required": [ @@ -22387,9 +22328,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_ProductSubscription": { + "AWS_SES_MailManagerRelay": { "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": "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", @@ -22397,14 +22338,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::ProductSubscription" + "AWS::SES::MailManagerRelay" ], "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)" + "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-securityhub-productsubscription.json" + "$ref": "resources/aws-ses-mailmanagerrelay.json" } }, "required": [ @@ -22418,9 +22359,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_Dashboard": { + "AWS_EC2_NetworkAcl": { "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": "Specifies a network ACL for your VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html)", "allOf": [ { "type": "object", @@ -22428,14 +22369,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::Dashboard" + "AWS::EC2::NetworkAcl" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudWatch::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html)" + "Specifies a network ACL for your VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-dashboard.json" + "$ref": "resources/aws-ec2-networkacl.json" } }, "required": [ @@ -22449,9 +22390,9 @@ ], "additionalProperties": false }, - "AWS_Rekognition_Collection": { + "AWS_IoT_JobTemplate": { "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": "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", @@ -22459,14 +22400,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Rekognition::Collection" + "AWS::IoT::JobTemplate" ], "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)" + "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-rekognition-collection.json" + "$ref": "resources/aws-iot-jobtemplate.json" } }, "required": [ @@ -22480,9 +22421,9 @@ ], "additionalProperties": false }, - "AWS_Connect_SecurityKey": { + "AWS_VpcLattice_TargetGroup": { "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": "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", @@ -22490,14 +22431,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::SecurityKey" + "AWS::VpcLattice::TargetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::SecurityKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securitykey.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-connect-securitykey.json" + "$ref": "resources/aws-vpclattice-targetgroup.json" } }, "required": [ @@ -22511,9 +22452,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_GraphQLSchema": { + "AWS_Timestream_ScheduledQuery": { "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": "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", @@ -22521,14 +22462,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::GraphQLSchema" + "AWS::Timestream::ScheduledQuery" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::GraphQLSchema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.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-appsync-graphqlschema.json" + "$ref": "resources/aws-timestream-scheduledquery.json" } }, "required": [ @@ -22542,9 +22483,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_ResourcePolicy": { + "AWS_EC2_IPAMScope": { "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": "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", @@ -22552,14 +22493,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::ResourcePolicy" + "AWS::EC2::IPAMScope" ], "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)" + "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-organizations-resourcepolicy.json" + "$ref": "resources/aws-ec2-ipamscope.json" } }, "required": [ @@ -22573,9 +22514,9 @@ ], "additionalProperties": false }, - "AWS_Omics_Workflow": { + "AWS_SSMIncidents_ResponsePlan": { "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": "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", @@ -22583,18 +22524,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::Workflow" + "AWS::SSMIncidents::ResponsePlan" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::Workflow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-workflow.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-omics-workflow.json" + "$ref": "resources/aws-ssmincidents-responseplan.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -22603,9 +22545,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_LoadBalancer": { + "AWS_Cloud9_EnvironmentEC2": { "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 Type definition for AWS::Cloud9::EnvironmentEC2 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html)", "allOf": [ { "type": "object", @@ -22613,14 +22555,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::LoadBalancer" + "AWS::Cloud9::EnvironmentEC2" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancer.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-lightsail-loadbalancer.json" + "$ref": "resources/aws-cloud9-environmentec2.json" } }, "required": [ @@ -22634,9 +22576,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_Fleet": { + "AWS_WAFRegional_XssMatchSet": { "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::WAFRegional::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html)", "allOf": [ { "type": "object", @@ -22644,14 +22586,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::Fleet" + "AWS::WAFRegional::XssMatchSet" ], "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::WAFRegional::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleetwise-fleet.json" + "$ref": "resources/aws-wafregional-xssmatchset.json" } }, "required": [ @@ -22665,9 +22607,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayMulticastGroupMember": { + "AWS_Omics_SequenceStore": { "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::Omics::SequenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.html)", "allOf": [ { "type": "object", @@ -22675,14 +22617,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupMember" + "AWS::Omics::SequenceStore" ], "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::Omics::SequenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewaymulticastgroupmember.json" + "$ref": "resources/aws-omics-sequencestore.json" } }, "required": [ @@ -22696,9 +22638,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Agreement": { + "AWS_DMS_EventSubscription": { "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": "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", @@ -22706,14 +22648,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Agreement" + "AWS::DMS::EventSubscription" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Agreement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.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-transfer-agreement.json" + "$ref": "resources/aws-dms-eventsubscription.json" } }, "required": [ @@ -22727,9 +22669,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_EventInvokeConfig": { + "AWS_Bedrock_DataSource": { "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": "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", @@ -22737,14 +22679,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::EventInvokeConfig" + "AWS::Bedrock::DataSource" ], "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)" + "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-lambda-eventinvokeconfig.json" + "$ref": "resources/aws-bedrock-datasource.json" } }, "required": [ @@ -22758,9 +22700,9 @@ ], "additionalProperties": false }, - "AWS_CloudTrail_EventDataStore": { + "AWS_IAM_Group": { "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": "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", @@ -22768,14 +22710,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudTrail::EventDataStore" + "AWS::IAM::Group" ], "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)" + "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-cloudtrail-eventdatastore.json" + "$ref": "resources/aws-iam-group.json" } }, "required": [ @@ -22788,9 +22730,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Authorizer": { + "AWS_EC2_TransitGatewayMulticastGroupMember": { "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": "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", @@ -22798,14 +22740,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Authorizer" + "AWS::EC2::TransitGatewayMulticastGroupMember" ], "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)" + "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-apigateway-authorizer.json" + "$ref": "resources/aws-ec2-transitgatewaymulticastgroupmember.json" } }, "required": [ @@ -22819,9 +22761,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBClusterParameterGroup": { + "AWS_Redshift_ScheduledAction": { "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": "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", @@ -22829,14 +22771,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBClusterParameterGroup" + "AWS::Redshift::ScheduledAction" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Neptune::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.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-neptune-dbclusterparametergroup.json" + "$ref": "resources/aws-redshift-scheduledaction.json" } }, "required": [ @@ -22850,9 +22792,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryControl_RoutingControl": { + "AWS_Comprehend_Flywheel": { "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": "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", @@ -22860,14 +22802,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryControl::RoutingControl" + "AWS::Comprehend::Flywheel" ], "markdownEnumDescriptions": [ - "AWS Route53 Recovery Control Routing Control resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.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-route53recoverycontrol-routingcontrol.json" + "$ref": "resources/aws-comprehend-flywheel.json" } }, "required": [ @@ -22881,9 +22823,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Workteam": { + "AWS_EFS_AccessPoint": { "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": "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", @@ -22891,18 +22833,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Workteam" + "AWS::EFS::AccessPoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Workteam \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.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-sagemaker-workteam.json" + "$ref": "resources/aws-efs-accesspoint.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -22911,9 +22854,9 @@ ], "additionalProperties": false }, - "AWS_GlobalAccelerator_Listener": { + "AWS_WAF_Rule": { "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": "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", @@ -22921,14 +22864,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GlobalAccelerator::Listener" + "AWS::WAF::Rule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GlobalAccelerator::Listener \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.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-globalaccelerator-listener.json" + "$ref": "resources/aws-waf-rule.json" } }, "required": [ @@ -22942,9 +22885,9 @@ ], "additionalProperties": false }, - "AWS_Glue_SchemaVersion": { + "AWS_CloudFront_Distribution": { "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": "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", @@ -22952,14 +22895,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::SchemaVersion" + "AWS::CloudFront::Distribution" ], "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)" + "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-glue-schemaversion.json" + "$ref": "resources/aws-cloudfront-distribution.json" } }, "required": [ @@ -22973,9 +22916,9 @@ ], "additionalProperties": false }, - "AWS_Cassandra_Keyspace": { + "AWS_WorkSpaces_Workspace": { "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": "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", @@ -22983,18 +22926,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Cassandra::Keyspace" + "AWS::WorkSpaces::Workspace" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Cassandra::Keyspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.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-cassandra-keyspace.json" + "$ref": "resources/aws-workspaces-workspace.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -23003,9 +22947,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_Integration": { + "AWS_OpsWorks_UserProfile": { "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::OpsWorks::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html)", "allOf": [ { "type": "object", @@ -23013,14 +22957,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::Integration" + "AWS::OpsWorks::UserProfile" ], "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::OpsWorks::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-customerprofiles-integration.json" + "$ref": "resources/aws-opsworks-userprofile.json" } }, "required": [ @@ -23034,9 +22978,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_BridgeSource": { + "AWS_CodeGuruProfiler_ProfilingGroup": { "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": "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", @@ -23044,14 +22988,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::BridgeSource" + "AWS::CodeGuruProfiler::ProfilingGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::BridgeSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.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-mediaconnect-bridgesource.json" + "$ref": "resources/aws-codeguruprofiler-profilinggroup.json" } }, "required": [ @@ -23065,9 +23009,9 @@ ], "additionalProperties": false }, - "AWS_S3Outposts_Bucket": { + "AWS_ImageBuilder_ContainerRecipe": { "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 schema for AWS::ImageBuilder::ContainerRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html)", "allOf": [ { "type": "object", @@ -23075,19 +23019,18 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Outposts::Bucket" + "AWS::ImageBuilder::ContainerRecipe" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::S3Outposts::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.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-s3outposts-bucket.json" + "$ref": "resources/aws-imagebuilder-containerrecipe.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -23096,9 +23039,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ClusterSecurityGroup": { + "AWS_ServiceCatalog_LaunchRoleConstraint": { "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": "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", @@ -23106,14 +23049,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ClusterSecurityGroup" + "AWS::ServiceCatalog::LaunchRoleConstraint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Redshift::ClusterSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.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-redshift-clustersecuritygroup.json" + "$ref": "resources/aws-servicecatalog-launchroleconstraint.json" } }, "required": [ @@ -23127,9 +23070,9 @@ ], "additionalProperties": false }, - "AWS_Backup_RestoreTestingSelection": { + "AWS_IoT_CertificateProvider": { "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": "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", @@ -23137,14 +23080,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::RestoreTestingSelection" + "AWS::IoT::CertificateProvider" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Backup::RestoreTestingSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.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-backup-restoretestingselection.json" + "$ref": "resources/aws-iot-certificateprovider.json" } }, "required": [ @@ -23158,9 +23101,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SecurityGroup": { + "AWS_SageMaker_NotebookInstance": { "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": "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", @@ -23168,14 +23111,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SecurityGroup" + "AWS::SageMaker::NotebookInstance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.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-ec2-securitygroup.json" + "$ref": "resources/aws-sagemaker-notebookinstance.json" } }, "required": [ @@ -23189,9 +23132,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_SecurityConfig": { + "AWS_MediaPackage_PackagingConfiguration": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless security config resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.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", @@ -23199,18 +23142,19 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::SecurityConfig" + "AWS::MediaPackage::PackagingConfiguration" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless security config resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.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-opensearchserverless-securityconfig.json" + "$ref": "resources/aws-mediapackage-packagingconfiguration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -23219,9 +23163,9 @@ ], "additionalProperties": false }, - "AWS_PaymentCryptography_Alias": { + "AWS_ResourceGroups_Group": { "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": "Schema for ResourceGroups::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html)", "allOf": [ { "type": "object", @@ -23229,14 +23173,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PaymentCryptography::Alias" + "AWS::ResourceGroups::Group" ], "markdownEnumDescriptions": [ - "Definition of AWS::PaymentCryptography::Alias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-alias.html)" + "Schema for ResourceGroups::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html)" ] }, "Properties": { - "$ref": "resources/aws-paymentcryptography-alias.json" + "$ref": "resources/aws-resourcegroups-group.json" } }, "required": [ @@ -23250,9 +23194,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Script": { + "AWS_CloudFormation_TypeActivation": { "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": "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", @@ -23260,19 +23204,18 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Script" + "AWS::CloudFormation::TypeActivation" ], "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)" + "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-gamelift-script.json" + "$ref": "resources/aws-cloudformation-typeactivation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -23281,9 +23224,9 @@ ], "additionalProperties": false }, - "AWS_AmazonMQ_Configuration": { + "AWS_NetworkManager_TransitGatewayPeering": { "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": "AWS::NetworkManager::TransitGatewayPeering Resoruce Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewaypeering.html)", "allOf": [ { "type": "object", @@ -23291,14 +23234,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AmazonMQ::Configuration" + "AWS::NetworkManager::TransitGatewayPeering" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AmazonMQ::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.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-amazonmq-configuration.json" + "$ref": "resources/aws-networkmanager-transitgatewaypeering.json" } }, "required": [ @@ -23312,9 +23255,9 @@ ], "additionalProperties": false }, - "AWS_Macie_Session": { + "AWS_EC2_IPAMResourceDiscovery": { "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": "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", @@ -23322,14 +23265,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Macie::Session" + "AWS::EC2::IPAMResourceDiscovery" ], "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)" + "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-macie-session.json" + "$ref": "resources/aws-ec2-ipamresourcediscovery.json" } }, "required": [ @@ -23342,9 +23285,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_ServicePrincipalName": { + "AWS_ServiceCatalog_TagOptionAssociation": { "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": "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", @@ -23352,18 +23295,19 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::ServicePrincipalName" + "AWS::ServiceCatalog::TagOptionAssociation" ], "markdownEnumDescriptions": [ - "Definition of AWS::PCAConnectorAD::ServicePrincipalName Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-serviceprincipalname.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-pcaconnectorad-serviceprincipalname.json" + "$ref": "resources/aws-servicecatalog-tagoptionassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -23372,9 +23316,9 @@ ], "additionalProperties": false }, - "AWS_S3Outposts_AccessPoint": { + "AWS_EC2_NetworkInterface": { "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": "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", @@ -23382,14 +23326,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Outposts::AccessPoint" + "AWS::EC2::NetworkInterface" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::S3Outposts::AccessPoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.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-s3outposts-accesspoint.json" + "$ref": "resources/aws-ec2-networkinterface.json" } }, "required": [ @@ -23403,9 +23347,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_PortfolioProductAssociation": { + "AWS_VpcLattice_Listener": { "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": "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", @@ -23413,14 +23357,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::PortfolioProductAssociation" + "AWS::VpcLattice::Listener" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::PortfolioProductAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.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-servicecatalog-portfolioproductassociation.json" + "$ref": "resources/aws-vpclattice-listener.json" } }, "required": [ @@ -23434,9 +23378,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_UserProfile": { + "AWS_DataZone_UserProfile": { "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": "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", @@ -23444,14 +23388,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::UserProfile" + "AWS::DataZone::UserProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.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-opsworks-userprofile.json" + "$ref": "resources/aws-datazone-userprofile.json" } }, "required": [ @@ -23465,9 +23409,9 @@ ], "additionalProperties": false }, - "AWS_SecurityLake_AwsLogSource": { + "AWS_BillingConductor_CustomLineItem": { "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": "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", @@ -23475,14 +23419,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityLake::AwsLogSource" + "AWS::BillingConductor::CustomLineItem" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecurityLake::AwsLogSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.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-securitylake-awslogsource.json" + "$ref": "resources/aws-billingconductor-customlineitem.json" } }, "required": [ @@ -23496,9 +23440,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_ContinuousDeploymentPolicy": { + "AWS_Pinpoint_EventStream": { "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": "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", @@ -23506,14 +23450,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::ContinuousDeploymentPolicy" + "AWS::Pinpoint::EventStream" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::ContinuousDeploymentPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.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-cloudfront-continuousdeploymentpolicy.json" + "$ref": "resources/aws-pinpoint-eventstream.json" } }, "required": [ @@ -23527,9 +23471,9 @@ ], "additionalProperties": false }, - "AWS_Logs_LogAnomalyDetector": { + "AWS_SSO_Application": { "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 Identity Center (SSO) Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-application.html)", "allOf": [ { "type": "object", @@ -23537,18 +23481,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::LogAnomalyDetector" + "AWS::SSO::Application" ], "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 Identity Center (SSO) Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-application.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-loganomalydetector.json" + "$ref": "resources/aws-sso-application.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -23557,9 +23502,9 @@ ], "additionalProperties": false }, - "AWS_XRay_ResourcePolicy": { + "AWS_LookoutEquipment_InferenceScheduler": { "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": "Resource schema for LookoutEquipment InferenceScheduler. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html)", "allOf": [ { "type": "object", @@ -23567,14 +23512,14 @@ "Type": { "type": "string", "enum": [ - "AWS::XRay::ResourcePolicy" + "AWS::LookoutEquipment::InferenceScheduler" ], "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)" + "Resource schema for LookoutEquipment InferenceScheduler. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html)" ] }, "Properties": { - "$ref": "resources/aws-xray-resourcepolicy.json" + "$ref": "resources/aws-lookoutequipment-inferencescheduler.json" } }, "required": [ @@ -23588,9 +23533,9 @@ ], "additionalProperties": false }, - "AWS_SSM_ResourceDataSync": { + "AWS_MediaPackageV2_Channel": { "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": "

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", @@ -23598,14 +23543,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::ResourceDataSync" + "AWS::MediaPackageV2::Channel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::ResourceDataSync \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.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-ssm-resourcedatasync.json" + "$ref": "resources/aws-mediapackagev2-channel.json" } }, "required": [ @@ -23619,9 +23564,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_AccessLogSubscription": { + "AWS_Backup_RestoreTestingPlan": { "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": "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", @@ -23629,14 +23574,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::AccessLogSubscription" + "AWS::Backup::RestoreTestingPlan" ], "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)" + "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-vpclattice-accesslogsubscription.json" + "$ref": "resources/aws-backup-restoretestingplan.json" } }, "required": [ @@ -23650,9 +23595,9 @@ ], "additionalProperties": false }, - "AWS_DevOpsGuru_LogAnomalyDetectionIntegration": { + "AWS_SupportApp_SlackWorkspaceConfiguration": { "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": "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", @@ -23660,18 +23605,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + "AWS::SupportApp::SlackWorkspaceConfiguration" ], "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)" + "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-devopsguru-loganomalydetectionintegration.json" + "$ref": "resources/aws-supportapp-slackworkspaceconfiguration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -23680,9 +23626,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_SiteToSiteVpnAttachment": { + "AWS_EventSchemas_Discoverer": { "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": "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", @@ -23690,14 +23636,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::SiteToSiteVpnAttachment" + "AWS::EventSchemas::Discoverer" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::SiteToSiteVpnAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-sitetositevpnattachment.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-networkmanager-sitetositevpnattachment.json" + "$ref": "resources/aws-eventschemas-discoverer.json" } }, "required": [ @@ -23711,9 +23657,9 @@ ], "additionalProperties": false }, - "AWS_Personalize_Dataset": { + "AWS_FMS_ResourceSet": { "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 an AWS Firewall Manager resource set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-resourceset.html)", "allOf": [ { "type": "object", @@ -23721,14 +23667,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Personalize::Dataset" + "AWS::FMS::ResourceSet" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Personalize::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-dataset.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-personalize-dataset.json" + "$ref": "resources/aws-fms-resourceset.json" } }, "required": [ @@ -23742,9 +23688,9 @@ ], "additionalProperties": false }, - "AWS_ECR_PublicRepository": { + "AWS_ACMPCA_CertificateAuthorityActivation": { "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": "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", @@ -23752,18 +23698,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::PublicRepository" + "AWS::ACMPCA::CertificateAuthorityActivation" ], "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)" + "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-ecr-publicrepository.json" + "$ref": "resources/aws-acmpca-certificateauthorityactivation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -23772,9 +23719,9 @@ ], "additionalProperties": false }, - "AWS_AppIntegrations_Application": { + "AWS_SES_ReceiptRuleSet": { "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": "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", @@ -23782,19 +23729,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppIntegrations::Application" + "AWS::SES::ReceiptRuleSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS:AppIntegrations::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.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-appintegrations-application.json" + "$ref": "resources/aws-ses-receiptruleset.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -23803,9 +23749,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_TemplateGroupAccessControlEntry": { + "AWS_LakeFormation_Resource": { "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": "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", @@ -23813,14 +23759,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry" + "AWS::LakeFormation::Resource" ], "markdownEnumDescriptions": [ - "Definition of AWS::PCAConnectorAD::TemplateGroupAccessControlEntry Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-templategroupaccesscontrolentry.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-pcaconnectorad-templategroupaccesscontrolentry.json" + "$ref": "resources/aws-lakeformation-resource.json" } }, "required": [ @@ -23834,9 +23780,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_VpcAttachment": { + "AWS_IoT_TopicRule": { "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::IoT::TopicRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html)", "allOf": [ { "type": "object", @@ -23844,14 +23790,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::VpcAttachment" + "AWS::IoT::TopicRule" ], "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::IoT::TopicRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-vpcattachment.json" + "$ref": "resources/aws-iot-topicrule.json" } }, "required": [ @@ -23865,9 +23811,9 @@ ], "additionalProperties": false }, - "AWS_Shield_DRTAccess": { + "AWS_CloudFront_CachePolicy": { "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": "Resource Type definition for AWS::CloudFront::CachePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html)", "allOf": [ { "type": "object", @@ -23875,14 +23821,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Shield::DRTAccess" + "AWS::CloudFront::CachePolicy" ], "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)" + "Resource Type definition for AWS::CloudFront::CachePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-shield-drtaccess.json" + "$ref": "resources/aws-cloudfront-cachepolicy.json" } }, "required": [ @@ -23896,9 +23842,9 @@ ], "additionalProperties": false }, - "AWS_Detective_Graph": { + "AWS_LookoutMetrics_Alert": { "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": "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", @@ -23906,18 +23852,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Detective::Graph" + "AWS::LookoutMetrics::Alert" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Detective::Graph \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-graph.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-detective-graph.json" + "$ref": "resources/aws-lookoutmetrics-alert.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -23926,9 +23873,9 @@ ], "additionalProperties": false }, - "AWS_EMR_InstanceGroupConfig": { + "AWS_Backup_Framework": { "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": "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", @@ -23936,14 +23883,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::InstanceGroupConfig" + "AWS::Backup::Framework" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EMR::InstanceGroupConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.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-emr-instancegroupconfig.json" + "$ref": "resources/aws-backup-framework.json" } }, "required": [ @@ -23957,9 +23904,9 @@ ], "additionalProperties": false }, - "AWS_IAM_VirtualMFADevice": { + "AWS_GlobalAccelerator_EndpointGroup": { "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::GlobalAccelerator::EndpointGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html)", "allOf": [ { "type": "object", @@ -23967,14 +23914,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::VirtualMFADevice" + "AWS::GlobalAccelerator::EndpointGroup" ], "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::GlobalAccelerator::EndpointGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-virtualmfadevice.json" + "$ref": "resources/aws-globalaccelerator-endpointgroup.json" } }, "required": [ @@ -23988,9 +23935,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_DecoderManifest": { + "AWS_Glue_Schema": { "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": "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", @@ -23998,14 +23945,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::DecoderManifest" + "AWS::Glue::Schema" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::DecoderManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-decodermanifest.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-iotfleetwise-decodermanifest.json" + "$ref": "resources/aws-glue-schema.json" } }, "required": [ @@ -24019,9 +23966,9 @@ ], "additionalProperties": false }, - "AWS_EMR_Step": { + "AWS_FMS_NotificationChannel": { "type": "object", - "markdownDescription": "Schema for AWS::EMR::Step \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.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", @@ -24029,14 +23976,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::Step" + "AWS::FMS::NotificationChannel" ], "markdownEnumDescriptions": [ - "Schema for AWS::EMR::Step \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.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-emr-step.json" + "$ref": "resources/aws-fms-notificationchannel.json" } }, "required": [ @@ -24050,9 +23997,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolUserToGroupAttachment": { + "AWS_NetworkFirewall_TLSInspectionConfiguration": { "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": "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", @@ -24060,14 +24007,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolUserToGroupAttachment" + "AWS::NetworkFirewall::TLSInspectionConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolUserToGroupAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.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-cognito-userpoolusertogroupattachment.json" + "$ref": "resources/aws-networkfirewall-tlsinspectionconfiguration.json" } }, "required": [ @@ -24081,9 +24028,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Project": { + "AWS_AppMesh_VirtualNode": { "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": "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", @@ -24091,14 +24038,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Project" + "AWS::AppMesh::VirtualNode" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.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-iotsitewise-project.json" + "$ref": "resources/aws-appmesh-virtualnode.json" } }, "required": [ @@ -24112,9 +24059,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_DataSource": { + "AWS_GlobalAccelerator_CrossAccountAttachment": { "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": "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", @@ -24122,14 +24069,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::DataSource" + "AWS::GlobalAccelerator::CrossAccountAttachment" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.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-bedrock-datasource.json" + "$ref": "resources/aws-globalaccelerator-crossaccountattachment.json" } }, "required": [ @@ -24143,9 +24090,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_CloudFrontOriginAccessIdentity": { + "AWS_EC2_NetworkInterfaceAttachment": { "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::EC2::NetworkInterfaceAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html)", "allOf": [ { "type": "object", @@ -24153,14 +24100,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::CloudFrontOriginAccessIdentity" + "AWS::EC2::NetworkInterfaceAttachment" ], "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::EC2::NetworkInterfaceAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-cloudfrontoriginaccessidentity.json" + "$ref": "resources/aws-ec2-networkinterfaceattachment.json" } }, "required": [ @@ -24174,9 +24121,9 @@ ], "additionalProperties": false }, - "AWS_RedshiftServerless_Namespace": { + "AWS_KinesisAnalyticsV2_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": "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", @@ -24184,14 +24131,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RedshiftServerless::Namespace" + "AWS::KinesisAnalyticsV2::Application" ], "markdownEnumDescriptions": [ - "Definition of AWS::RedshiftServerless::Namespace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.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-redshiftserverless-namespace.json" + "$ref": "resources/aws-kinesisanalyticsv2-application.json" } }, "required": [ @@ -24205,9 +24152,9 @@ ], "additionalProperties": false }, - "AWS_Macie_AllowList": { + "AWS_SageMaker_InferenceExperiment": { "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::SageMaker::InferenceExperiment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferenceexperiment.html)", "allOf": [ { "type": "object", @@ -24215,14 +24162,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Macie::AllowList" + "AWS::SageMaker::InferenceExperiment" ], "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::SageMaker::InferenceExperiment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferenceexperiment.html)" ] }, "Properties": { - "$ref": "resources/aws-macie-allowlist.json" + "$ref": "resources/aws-sagemaker-inferenceexperiment.json" } }, "required": [ @@ -24236,9 +24183,9 @@ ], "additionalProperties": false }, - "AWS_EMRServerless_Application": { + "AWS_AppFlow_Connector": { "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": "Resource schema for AWS::AppFlow::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connector.html)", "allOf": [ { "type": "object", @@ -24246,14 +24193,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMRServerless::Application" + "AWS::AppFlow::Connector" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EMRServerless::Application Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.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-emrserverless-application.json" + "$ref": "resources/aws-appflow-connector.json" } }, "required": [ @@ -24267,9 +24214,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ImageVersion": { + "AWS_SageMaker_NotebookInstanceLifecycleConfig": { "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::SageMaker::NotebookInstanceLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html)", "allOf": [ { "type": "object", @@ -24277,19 +24224,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ImageVersion" + "AWS::SageMaker::NotebookInstanceLifecycleConfig" ], "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::SageMaker::NotebookInstanceLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-imageversion.json" + "$ref": "resources/aws-sagemaker-notebookinstancelifecycleconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24298,9 +24244,9 @@ ], "additionalProperties": false }, - "AWS_ApplicationAutoScaling_ScalableTarget": { + "AWS_ApplicationSignals_ServiceLevelObjective": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ApplicationAutoScaling::ScalableTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.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", @@ -24308,14 +24254,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApplicationAutoScaling::ScalableTarget" + "AWS::ApplicationSignals::ServiceLevelObjective" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ApplicationAutoScaling::ScalableTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.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-applicationautoscaling-scalabletarget.json" + "$ref": "resources/aws-applicationsignals-servicelevelobjective.json" } }, "required": [ @@ -24329,9 +24275,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_EventStream": { + "AWS_CodeStarConnections_RepositoryLink": { "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": "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", @@ -24339,14 +24285,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::EventStream" + "AWS::CodeStarConnections::RepositoryLink" ], "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)" + "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-customerprofiles-eventstream.json" + "$ref": "resources/aws-codestarconnections-repositorylink.json" } }, "required": [ @@ -24360,9 +24306,9 @@ ], "additionalProperties": false }, - "AWS_IAM_SAMLProvider": { + "AWS_Connect_PhoneNumber": { "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": "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", @@ -24370,14 +24316,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::SAMLProvider" + "AWS::Connect::PhoneNumber" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::SAMLProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.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-iam-samlprovider.json" + "$ref": "resources/aws-connect-phonenumber.json" } }, "required": [ @@ -24391,9 +24337,9 @@ ], "additionalProperties": false }, - "AWS_MediaConvert_Preset": { + "AWS_Shield_ProtectionGroup": { "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": "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", @@ -24401,14 +24347,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConvert::Preset" + "AWS::Shield::ProtectionGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaConvert::Preset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html)" + "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-mediaconvert-preset.json" + "$ref": "resources/aws-shield-protectiongroup.json" } }, "required": [ @@ -24422,9 +24368,9 @@ ], "additionalProperties": false }, - "AWS_APS_RuleGroupsNamespace": { + "AWS_Evidently_Experiment": { "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::Evidently::Experiment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-experiment.html)", "allOf": [ { "type": "object", @@ -24432,14 +24378,14 @@ "Type": { "type": "string", "enum": [ - "AWS::APS::RuleGroupsNamespace" + "AWS::Evidently::Experiment" ], "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::Evidently::Experiment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-experiment.html)" ] }, "Properties": { - "$ref": "resources/aws-aps-rulegroupsnamespace.json" + "$ref": "resources/aws-evidently-experiment.json" } }, "required": [ @@ -24453,9 +24399,9 @@ ], "additionalProperties": false }, - "AWS_SecretsManager_Secret": { + "AWS_IoTTwinMaker_ComponentType": { "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 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 A common scenario is to first create a secret with ``GenerateSecretString``, which generates a password, and then use a dynamic reference to retrieve the username and password from the secret to use as credentials for a new database. See the example *Creating a Redshift cluster and a secret for the admin credentials*.\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": "Resource schema for AWS::IoTTwinMaker::ComponentType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-componenttype.html)", "allOf": [ { "type": "object", @@ -24463,18 +24409,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SecretsManager::Secret" + "AWS::IoTTwinMaker::ComponentType" ], "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 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 A common scenario is to first create a secret with ``GenerateSecretString``, which generates a password, and then use a dynamic reference to retrieve the username and password from the secret to use as credentials for a new database. See the example *Creating a Redshift cluster and a secret for the admin credentials*.\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)" + "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-secretsmanager-secret.json" + "$ref": "resources/aws-iottwinmaker-componenttype.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24483,9 +24430,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_DirectoryRegistration": { + "AWS_SecurityLake_DataLake": { "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": "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", @@ -24493,19 +24440,18 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::DirectoryRegistration" + "AWS::SecurityLake::DataLake" ], "markdownEnumDescriptions": [ - "Definition of AWS::PCAConnectorAD::DirectoryRegistration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-directoryregistration.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-pcaconnectorad-directoryregistration.json" + "$ref": "resources/aws-securitylake-datalake.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24514,9 +24460,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInsightsAccessScopeAnalysis": { + "AWS_VerifiedPermissions_PolicyTemplate": { "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": "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", @@ -24524,14 +24470,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInsightsAccessScopeAnalysis" + "AWS::VerifiedPermissions::PolicyTemplate" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EC2::NetworkInsightsAccessScopeAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscopeanalysis.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-ec2-networkinsightsaccessscopeanalysis.json" + "$ref": "resources/aws-verifiedpermissions-policytemplate.json" } }, "required": [ @@ -24545,9 +24491,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_CoreDefinition": { + "AWS_MediaConnect_FlowVpcInterface": { "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": "Resource schema for AWS::MediaConnect::FlowVpcInterface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html)", "allOf": [ { "type": "object", @@ -24555,14 +24501,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::CoreDefinition" + "AWS::MediaConnect::FlowVpcInterface" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::CoreDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.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-greengrass-coredefinition.json" + "$ref": "resources/aws-mediaconnect-flowvpcinterface.json" } }, "required": [ @@ -24576,9 +24522,9 @@ ], "additionalProperties": false }, - "AWS_SupportApp_SlackWorkspaceConfiguration": { + "AWS_ServiceDiscovery_PrivateDnsNamespace": { "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": "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", @@ -24586,14 +24532,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SupportApp::SlackWorkspaceConfiguration" + "AWS::ServiceDiscovery::PrivateDnsNamespace" ], "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)" + "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-supportapp-slackworkspaceconfiguration.json" + "$ref": "resources/aws-servicediscovery-privatednsnamespace.json" } }, "required": [ @@ -24607,9 +24553,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_DomainNameApiAssociation": { + "AWS_ServiceDiscovery_Service": { "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": "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", @@ -24617,19 +24563,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::DomainNameApiAssociation" + "AWS::ServiceDiscovery::Service" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::DomainNameApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.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-appsync-domainnameapiassociation.json" + "$ref": "resources/aws-servicediscovery-service.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24638,9 +24583,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_WaitCondition": { + "AWS_ACMPCA_CertificateAuthority": { "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": "Private certificate authority. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html)", "allOf": [ { "type": "object", @@ -24648,18 +24593,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::WaitCondition" + "AWS::ACMPCA::CertificateAuthority" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFormation::WaitCondition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitcondition.html)" + "Private certificate authority. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-waitcondition.json" + "$ref": "resources/aws-acmpca-certificateauthority.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24668,9 +24614,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ResourceSpecificLogging": { + "AWS_NetworkManager_GlobalNetwork": { "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": "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", @@ -24678,19 +24624,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ResourceSpecificLogging" + "AWS::NetworkManager::GlobalNetwork" ], "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)" + "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-iot-resourcespecificlogging.json" + "$ref": "resources/aws-networkmanager-globalnetwork.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24699,9 +24644,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_ObjectType": { + "AWS_EC2_NetworkInsightsAccessScope": { "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 schema for AWS::EC2::NetworkInsightsAccessScope \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html)", "allOf": [ { "type": "object", @@ -24709,19 +24654,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::ObjectType" + "AWS::EC2::NetworkInsightsAccessScope" ], "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 schema for AWS::EC2::NetworkInsightsAccessScope \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html)" ] }, "Properties": { - "$ref": "resources/aws-customerprofiles-objecttype.json" + "$ref": "resources/aws-ec2-networkinsightsaccessscope.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24730,9 +24674,9 @@ ], "additionalProperties": false }, - "AWS_Lex_Bot": { + "AWS_Location_Tracker": { "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": "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", @@ -24740,14 +24684,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lex::Bot" + "AWS::Location::Tracker" ], "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)" + "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-lex-bot.json" + "$ref": "resources/aws-location-tracker.json" } }, "required": [ @@ -24761,9 +24705,9 @@ ], "additionalProperties": false }, - "AWS_SecretsManager_ResourcePolicy": { + "AWS_DirectoryService_SimpleAD": { "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::DirectoryService::SimpleAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html)", "allOf": [ { "type": "object", @@ -24771,14 +24715,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecretsManager::ResourcePolicy" + "AWS::DirectoryService::SimpleAD" ], "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::DirectoryService::SimpleAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html)" ] }, "Properties": { - "$ref": "resources/aws-secretsmanager-resourcepolicy.json" + "$ref": "resources/aws-directoryservice-simplead.json" } }, "required": [ @@ -24792,9 +24736,9 @@ ], "additionalProperties": false }, - "AWS_DataPipeline_Pipeline": { + "AWS_WAFv2_LoggingConfiguration": { "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": "A WAFv2 Logging Configuration Resource Provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html)", "allOf": [ { "type": "object", @@ -24802,14 +24746,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataPipeline::Pipeline" + "AWS::WAFv2::LoggingConfiguration" ], "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)" + "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-datapipeline-pipeline.json" + "$ref": "resources/aws-wafv2-loggingconfiguration.json" } }, "required": [ @@ -24823,9 +24767,9 @@ ], "additionalProperties": false }, - "AWS_DynamoDB_GlobalTable": { + "AWS_Events_Endpoint": { "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": "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", @@ -24833,14 +24777,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DynamoDB::GlobalTable" + "AWS::Events::Endpoint" ], "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)" + "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-dynamodb-globaltable.json" + "$ref": "resources/aws-events-endpoint.json" } }, "required": [ @@ -24854,9 +24798,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Portal": { + "AWS_EC2_CapacityReservation": { "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::EC2::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html)", "allOf": [ { "type": "object", @@ -24864,14 +24808,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Portal" + "AWS::EC2::CapacityReservation" ], "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::EC2::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-portal.json" + "$ref": "resources/aws-ec2-capacityreservation.json" } }, "required": [ @@ -24885,9 +24829,9 @@ ], "additionalProperties": false }, - "AWS_SSO_PermissionSet": { + "AWS_Signer_ProfilePermission": { "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": "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", @@ -24895,14 +24839,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::PermissionSet" + "AWS::Signer::ProfilePermission" ], "markdownEnumDescriptions": [ - "Resource Type definition for SSO PermissionSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.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-sso-permissionset.json" + "$ref": "resources/aws-signer-profilepermission.json" } }, "required": [ @@ -24916,9 +24860,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Project": { + "AWS_ElasticBeanstalk_ApplicationVersion": { "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": "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", @@ -24926,14 +24870,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Project" + "AWS::ElasticBeanstalk::ApplicationVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-project.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-evidently-project.json" + "$ref": "resources/aws-elasticbeanstalk-applicationversion.json" } }, "required": [ @@ -24947,9 +24891,9 @@ ], "additionalProperties": false }, - "AWS_IVS_StreamKey": { + "AWS_PCAConnectorAD_Template": { "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": "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", @@ -24957,14 +24901,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::StreamKey" + "AWS::PCAConnectorAD::Template" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::StreamKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.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-ivs-streamkey.json" + "$ref": "resources/aws-pcaconnectorad-template.json" } }, "required": [ @@ -24978,9 +24922,9 @@ ], "additionalProperties": false }, - "AWS_Detective_OrganizationAdmin": { + "AWS_EKS_FargateProfile": { "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::EKS::FargateProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html)", "allOf": [ { "type": "object", @@ -24988,14 +24932,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Detective::OrganizationAdmin" + "AWS::EKS::FargateProfile" ], "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::EKS::FargateProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-detective-organizationadmin.json" + "$ref": "resources/aws-eks-fargateprofile.json" } }, "required": [ @@ -25009,9 +24953,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCDHCPOptionsAssociation": { + "AWS_FraudDetector_Detector": { "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": "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", @@ -25019,14 +24963,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCDHCPOptionsAssociation" + "AWS::FraudDetector::Detector" ], "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)" + "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-ec2-vpcdhcpoptionsassociation.json" + "$ref": "resources/aws-frauddetector-detector.json" } }, "required": [ @@ -25040,9 +24984,9 @@ ], "additionalProperties": false }, - "AWS_SecurityLake_DataLake": { + "AWS_EC2_TrafficMirrorSession": { "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::EC2::TrafficMirrorSession \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html)", "allOf": [ { "type": "object", @@ -25050,18 +24994,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityLake::DataLake" + "AWS::EC2::TrafficMirrorSession" ], "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::EC2::TrafficMirrorSession \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html)" ] }, "Properties": { - "$ref": "resources/aws-securitylake-datalake.json" + "$ref": "resources/aws-ec2-trafficmirrorsession.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25070,9 +25015,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_Entitlement": { + "AWS_EC2_VPCGatewayAttachment": { "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": "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", @@ -25080,14 +25025,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::Entitlement" + "AWS::EC2::VPCGatewayAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::Entitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.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-appstream-entitlement.json" + "$ref": "resources/aws-ec2-vpcgatewayattachment.json" } }, "required": [ @@ -25101,9 +25046,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Table": { + "AWS_Connect_ContactFlowModule": { "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": "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", @@ -25111,14 +25056,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Table" + "AWS::Connect::ContactFlowModule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.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-glue-table.json" + "$ref": "resources/aws-connect-contactflowmodule.json" } }, "required": [ @@ -25132,9 +25077,9 @@ ], "additionalProperties": false }, - "AWS_Chatbot_SlackChannelConfiguration": { + "AWS_FraudDetector_Outcome": { "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": "An outcome for rule evaluation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-outcome.html)", "allOf": [ { "type": "object", @@ -25142,14 +25087,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Chatbot::SlackChannelConfiguration" + "AWS::FraudDetector::Outcome" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Chatbot::SlackChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.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-chatbot-slackchannelconfiguration.json" + "$ref": "resources/aws-frauddetector-outcome.json" } }, "required": [ @@ -25163,9 +25108,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Classifier": { + "AWS_Redshift_ClusterSubnetGroup": { "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": "Specifies an Amazon Redshift subnet group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html)", "allOf": [ { "type": "object", @@ -25173,18 +25118,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Classifier" + "AWS::Redshift::ClusterSubnetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Classifier \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.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-glue-classifier.json" + "$ref": "resources/aws-redshift-clustersubnetgroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25193,9 +25139,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_InputSecurityGroup": { + "AWS_EC2_VPCCidrBlock": { "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::EC2::VPCCidrBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html)", "allOf": [ { "type": "object", @@ -25203,18 +25149,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::InputSecurityGroup" + "AWS::EC2::VPCCidrBlock" ], "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::EC2::VPCCidrBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-inputsecuritygroup.json" + "$ref": "resources/aws-ec2-vpccidrblock.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25223,9 +25170,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelPackageGroup": { + "AWS_DataBrew_Job": { "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": "Resource schema for AWS::DataBrew::Job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html)", "allOf": [ { "type": "object", @@ -25233,14 +25180,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelPackageGroup" + "AWS::DataBrew::Job" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelPackageGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.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-sagemaker-modelpackagegroup.json" + "$ref": "resources/aws-databrew-job.json" } }, "required": [ @@ -25254,9 +25201,9 @@ ], "additionalProperties": false }, - "AWS_FMS_ResourceSet": { + "AWS_Lambda_EventSourceMapping": { "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": "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", @@ -25264,14 +25211,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FMS::ResourceSet" + "AWS::Lambda::EventSourceMapping" ], "markdownEnumDescriptions": [ - "Creates an AWS Firewall Manager resource set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-resourceset.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-fms-resourceset.json" + "$ref": "resources/aws-lambda-eventsourcemapping.json" } }, "required": [ @@ -25285,9 +25232,9 @@ ], "additionalProperties": false }, - "AWS_RUM_AppMonitor": { + "AWS_RDS_DBSecurityGroup": { "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": "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", @@ -25295,14 +25242,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RUM::AppMonitor" + "AWS::RDS::DBSecurityGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::RUM::AppMonitor \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.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-rum-appmonitor.json" + "$ref": "resources/aws-rds-dbsecuritygroup.json" } }, "required": [ @@ -25316,9 +25263,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCEndpointServicePermissions": { + "AWS_CodeGuruReviewer_RepositoryAssociation": { "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": "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", @@ -25326,14 +25273,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" + "AWS::CodeGuruReviewer::RepositoryAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCEndpointServicePermissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.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-ec2-vpcendpointservicepermissions.json" + "$ref": "resources/aws-codegurureviewer-repositoryassociation.json" } }, "required": [ @@ -25347,9 +25294,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_GatewayRoute": { + "AWS_EC2_Volume": { "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": "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 on the coo \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html)", "allOf": [ { "type": "object", @@ -25357,14 +25304,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::GatewayRoute" + "AWS::EC2::Volume" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::GatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.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 on the coo \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-gatewayroute.json" + "$ref": "resources/aws-ec2-volume.json" } }, "required": [ @@ -25378,9 +25325,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_AccessPolicy": { + "AWS_Omics_Workflow": { "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": "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", @@ -25388,19 +25335,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::AccessPolicy" + "AWS::Omics::Workflow" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::AccessPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.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-iotsitewise-accesspolicy.json" + "$ref": "resources/aws-omics-workflow.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -25409,9 +25355,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_VPCConnection": { + "AWS_Connect_Prompt": { "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::Connect::Prompt \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-prompt.html)", "allOf": [ { "type": "object", @@ -25419,18 +25365,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::VPCConnection" + "AWS::Connect::Prompt" ], "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::Connect::Prompt \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-prompt.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-vpcconnection.json" + "$ref": "resources/aws-connect-prompt.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25439,9 +25386,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_DeviceDefinitionVersion": { + "AWS_OpenSearchService_Domain": { "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": "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", @@ -25449,19 +25396,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::DeviceDefinitionVersion" + "AWS::OpenSearchService::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::DeviceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.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-greengrass-devicedefinitionversion.json" + "$ref": "resources/aws-opensearchservice-domain.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -25470,9 +25416,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_AnalysisTemplate": { + "AWS_Logs_AccountPolicy": { "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": "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", @@ -25480,14 +25426,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::AnalysisTemplate" + "AWS::Logs::AccountPolicy" ], "markdownEnumDescriptions": [ - "Represents a stored analysis within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.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-cleanrooms-analysistemplate.json" + "$ref": "resources/aws-logs-accountpolicy.json" } }, "required": [ @@ -25501,9 +25447,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_ExtensionAssociation": { + "AWS_EC2_VPCDHCPOptionsAssociation": { "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": "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", @@ -25511,18 +25457,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::ExtensionAssociation" + "AWS::EC2::VPCDHCPOptionsAssociation" ], "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)" + "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-appconfig-extensionassociation.json" + "$ref": "resources/aws-ec2-vpcdhcpoptionsassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25531,9 +25478,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ThingPrincipalAttachment": { + "AWS_FraudDetector_EntityType": { "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": "An entity type for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-entitytype.html)", "allOf": [ { "type": "object", @@ -25541,14 +25488,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ThingPrincipalAttachment" + "AWS::FraudDetector::EntityType" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::ThingPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html)" + "An entity type for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-entitytype.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-thingprincipalattachment.json" + "$ref": "resources/aws-frauddetector-entitytype.json" } }, "required": [ @@ -25562,9 +25509,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_Site": { + "AWS_Pinpoint_SMSChannel": { "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 Type definition for AWS::Pinpoint::SMSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html)", "allOf": [ { "type": "object", @@ -25572,14 +25519,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::Site" + "AWS::Pinpoint::SMSChannel" ], "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 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-networkmanager-site.json" + "$ref": "resources/aws-pinpoint-smschannel.json" } }, "required": [ @@ -25593,9 +25540,9 @@ ], "additionalProperties": false }, - "AWS_Wisdom_Assistant": { + "AWS_SDB_Domain": { "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": "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", @@ -25603,19 +25550,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Wisdom::Assistant" + "AWS::SDB::Domain" ], "markdownEnumDescriptions": [ - "Definition of AWS::Wisdom::Assistant Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistant.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-wisdom-assistant.json" + "$ref": "resources/aws-sdb-domain.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -25624,9 +25570,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_TLSInspectionConfiguration": { + "AWS_DataSync_LocationObjectStorage": { "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::DataSync::LocationObjectStorage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html)", "allOf": [ { "type": "object", @@ -25634,14 +25580,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::TLSInspectionConfiguration" + "AWS::DataSync::LocationObjectStorage" ], "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::DataSync::LocationObjectStorage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html)" ] }, "Properties": { - "$ref": "resources/aws-networkfirewall-tlsinspectionconfiguration.json" + "$ref": "resources/aws-datasync-locationobjectstorage.json" } }, "required": [ @@ -25655,9 +25601,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_LoggerDefinitionVersion": { + "AWS_SES_MailManagerIngressPoint": { "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": "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", @@ -25665,14 +25611,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::LoggerDefinitionVersion" + "AWS::SES::MailManagerIngressPoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::LoggerDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.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-greengrass-loggerdefinitionversion.json" + "$ref": "resources/aws-ses-mailmanageringresspoint.json" } }, "required": [ @@ -25686,9 +25632,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryReadiness_ResourceSet": { + "AWS_S3Express_BucketPolicy": { "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::S3Express::BucketPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html)", "allOf": [ { "type": "object", @@ -25696,14 +25642,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryReadiness::ResourceSet" + "AWS::S3Express::BucketPolicy" ], "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::S3Express::BucketPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoveryreadiness-resourceset.json" + "$ref": "resources/aws-s3express-bucketpolicy.json" } }, "required": [ @@ -25717,9 +25663,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancing_LoadBalancer": { + "AWS_Shield_ProactiveEngagement": { "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": "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", @@ -25727,14 +25673,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancing::LoadBalancer" + "AWS::Shield::ProactiveEngagement" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancing::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.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-elasticloadbalancing-loadbalancer.json" + "$ref": "resources/aws-shield-proactiveengagement.json" } }, "required": [ @@ -25748,9 +25694,9 @@ ], "additionalProperties": false }, - "AWS_Panorama_Package": { + "AWS_SageMaker_ImageVersion": { "type": "object", - "markdownDescription": "Schema for Package CloudFormation Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-package.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", @@ -25758,14 +25704,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Panorama::Package" + "AWS::SageMaker::ImageVersion" ], "markdownEnumDescriptions": [ - "Schema for Package CloudFormation Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-package.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-panorama-package.json" + "$ref": "resources/aws-sagemaker-imageversion.json" } }, "required": [ @@ -25779,9 +25725,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_DistributionConfiguration": { + "AWS_Neptune_DBCluster": { "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": "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", @@ -25789,19 +25735,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" + "AWS::Neptune::DBCluster" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::DistributionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.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-imagebuilder-distributionconfiguration.json" + "$ref": "resources/aws-neptune-dbcluster.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -25810,9 +25755,9 @@ ], "additionalProperties": false }, - "AWS_IAM_InstanceProfile": { + "AWS_AppMesh_VirtualService": { "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": "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", @@ -25820,14 +25765,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::InstanceProfile" + "AWS::AppMesh::VirtualService" ], "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)" + "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-iam-instanceprofile.json" + "$ref": "resources/aws-appmesh-virtualservice.json" } }, "required": [ @@ -25841,9 +25786,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_SecurityGroup": { + "AWS_SageMaker_EndpointConfig": { "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": "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", @@ -25851,14 +25796,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::SecurityGroup" + "AWS::SageMaker::EndpointConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroup.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-elasticache-securitygroup.json" + "$ref": "resources/aws-sagemaker-endpointconfig.json" } }, "required": [ @@ -25872,9 +25817,9 @@ ], "additionalProperties": false }, - "AWS_DevOpsGuru_ResourceCollection": { + "AWS_Lightsail_LoadBalancerTlsCertificate": { "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": "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", @@ -25882,14 +25827,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DevOpsGuru::ResourceCollection" + "AWS::Lightsail::LoadBalancerTlsCertificate" ], "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)" + "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-devopsguru-resourcecollection.json" + "$ref": "resources/aws-lightsail-loadbalancertlscertificate.json" } }, "required": [ @@ -25903,9 +25848,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_TypeActivation": { + "AWS_ApiGateway_ClientCertificate": { "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": "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", @@ -25913,14 +25858,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::TypeActivation" + "AWS::ApiGateway::ClientCertificate" ], "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)" + "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-cloudformation-typeactivation.json" + "$ref": "resources/aws-apigateway-clientcertificate.json" } }, "required": [ @@ -25933,9 +25878,9 @@ ], "additionalProperties": false }, - "AWS_GroundStation_Config": { + "AWS_LakeFormation_Tag": { "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": "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", @@ -25943,14 +25888,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GroundStation::Config" + "AWS::LakeFormation::Tag" ], "markdownEnumDescriptions": [ - "AWS Ground Station config resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-config.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-groundstation-config.json" + "$ref": "resources/aws-lakeformation-tag.json" } }, "required": [ @@ -25964,9 +25909,9 @@ ], "additionalProperties": false }, - "AWS_EFS_MountTarget": { + "AWS_EC2_SecurityGroupEgress": { "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": "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", @@ -25974,14 +25919,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EFS::MountTarget" + "AWS::EC2::SecurityGroupEgress" ], "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)" + "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-efs-mounttarget.json" + "$ref": "resources/aws-ec2-securitygroupegress.json" } }, "required": [ @@ -25995,9 +25940,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_FlowOutput": { + "AWS_Macie_AllowList": { "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": "Macie AllowList resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-allowlist.html)", "allOf": [ { "type": "object", @@ -26005,14 +25950,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::FlowOutput" + "AWS::Macie::AllowList" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::FlowOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html)" + "Macie AllowList resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-allowlist.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-flowoutput.json" + "$ref": "resources/aws-macie-allowlist.json" } }, "required": [ @@ -26026,9 +25971,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_ChannelPolicy": { + "AWS_IoT1Click_Project": { "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::IoT1Click::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html)", "allOf": [ { "type": "object", @@ -26036,14 +25981,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::ChannelPolicy" + "AWS::IoT1Click::Project" ], "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::IoT1Click::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackagev2-channelpolicy.json" + "$ref": "resources/aws-iot1click-project.json" } }, "required": [ @@ -26057,9 +26002,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_Rule": { + "AWS_Route53Profiles_ProfileResourceAssociation": { "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": "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", @@ -26067,14 +26012,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::Rule" + "AWS::Route53Profiles::ProfileResourceAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.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-wafregional-rule.json" + "$ref": "resources/aws-route53profiles-profileresourceassociation.json" } }, "required": [ @@ -26088,9 +26033,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Host": { + "AWS_SES_DedicatedIpPool": { "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::SES::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html)", "allOf": [ { "type": "object", @@ -26098,19 +26043,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Host" + "AWS::SES::DedicatedIpPool" ], "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::SES::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-host.json" + "$ref": "resources/aws-ses-dedicatedippool.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -26119,9 +26063,9 @@ ], "additionalProperties": false }, - "AWS_Macie_FindingsFilter": { + "AWS_ElasticLoadBalancingV2_ListenerRule": { "type": "object", - "markdownDescription": "Macie FindingsFilter resource schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.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", @@ -26129,14 +26073,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Macie::FindingsFilter" + "AWS::ElasticLoadBalancingV2::ListenerRule" ], "markdownEnumDescriptions": [ - "Macie FindingsFilter resource schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.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-macie-findingsfilter.json" + "$ref": "resources/aws-elasticloadbalancingv2-listenerrule.json" } }, "required": [ @@ -26150,9 +26094,9 @@ ], "additionalProperties": false }, - "AWS_Proton_EnvironmentAccountConnection": { + "AWS_RolesAnywhere_CRL": { "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": "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", @@ -26160,18 +26104,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Proton::EnvironmentAccountConnection" + "AWS::RolesAnywhere::CRL" ], "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)" + "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-proton-environmentaccountconnection.json" + "$ref": "resources/aws-rolesanywhere-crl.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -26180,9 +26125,9 @@ ], "additionalProperties": false }, - "AWS_IAM_Group": { + "AWS_OpenSearchServerless_Collection": { "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": "Amazon OpenSearchServerless collection resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html)", "allOf": [ { "type": "object", @@ -26190,18 +26135,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::Group" + "AWS::OpenSearchServerless::Collection" ], "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)" + "Amazon OpenSearchServerless collection resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-group.json" + "$ref": "resources/aws-opensearchserverless-collection.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -26210,9 +26156,9 @@ ], "additionalProperties": false }, - "AWS_Athena_CapacityReservation": { + "AWS_WorkSpacesThinClient_Environment": { "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": "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", @@ -26220,14 +26166,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::CapacityReservation" + "AWS::WorkSpacesThinClient::Environment" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.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-athena-capacityreservation.json" + "$ref": "resources/aws-workspacesthinclient-environment.json" } }, "required": [ @@ -26241,9 +26187,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_MatchingWorkflow": { + "AWS_EMRServerless_Application": { "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": "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", @@ -26251,14 +26197,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::MatchingWorkflow" + "AWS::EMRServerless::Application" ], "markdownEnumDescriptions": [ - "MatchingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.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-entityresolution-matchingworkflow.json" + "$ref": "resources/aws-emrserverless-application.json" } }, "required": [ @@ -26272,9 +26218,9 @@ ], "additionalProperties": false }, - "AWS_IoTEvents_Input": { + "AWS_OpenSearchServerless_SecurityPolicy": { "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": "Amazon OpenSearchServerless security policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html)", "allOf": [ { "type": "object", @@ -26282,14 +26228,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTEvents::Input" + "AWS::OpenSearchServerless::SecurityPolicy" ], "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)" + "Amazon OpenSearchServerless security policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-iotevents-input.json" + "$ref": "resources/aws-opensearchserverless-securitypolicy.json" } }, "required": [ @@ -26303,9 +26249,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_User": { + "AWS_Wisdom_KnowledgeBase": { "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": "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", @@ -26313,14 +26259,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::User" + "AWS::Wisdom::KnowledgeBase" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.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-appstream-user.json" + "$ref": "resources/aws-wisdom-knowledgebase.json" } }, "required": [ @@ -26334,9 +26280,9 @@ ], "additionalProperties": false }, - "AWS_ResilienceHub_ResiliencyPolicy": { + "AWS_IoT_Authorizer": { "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": "Creates an authorizer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html)", "allOf": [ { "type": "object", @@ -26344,14 +26290,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResilienceHub::ResiliencyPolicy" + "AWS::IoT::Authorizer" ], "markdownEnumDescriptions": [ - "Resource Type Definition for Resiliency Policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-resiliencypolicy.html)" + "Creates an authorizer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html)" ] }, "Properties": { - "$ref": "resources/aws-resiliencehub-resiliencypolicy.json" + "$ref": "resources/aws-iot-authorizer.json" } }, "required": [ @@ -26365,9 +26311,9 @@ ], "additionalProperties": false }, - "AWS_Timestream_Table": { + "AWS_ImageBuilder_Component": { "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 schema for AWS::ImageBuilder::Component \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html)", "allOf": [ { "type": "object", @@ -26375,14 +26321,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Timestream::Table" + "AWS::ImageBuilder::Component" ], "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 schema for AWS::ImageBuilder::Component \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html)" ] }, "Properties": { - "$ref": "resources/aws-timestream-table.json" + "$ref": "resources/aws-imagebuilder-component.json" } }, "required": [ @@ -26396,9 +26342,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_App": { + "AWS_Route53_HealthCheck": { "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": "Resource schema for AWS::Route53::HealthCheck. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html)", "allOf": [ { "type": "object", @@ -26406,14 +26352,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::App" + "AWS::Route53::HealthCheck" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.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-pinpoint-app.json" + "$ref": "resources/aws-route53-healthcheck.json" } }, "required": [ @@ -26427,9 +26373,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolClient": { + "AWS_Location_TrackerConsumer": { "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": "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", @@ -26437,14 +26383,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolClient" + "AWS::Location::TrackerConsumer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolClient \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.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-cognito-userpoolclient.json" + "$ref": "resources/aws-location-trackerconsumer.json" } }, "required": [ @@ -26458,9 +26404,9 @@ ], "additionalProperties": false }, - "AWS_M2_Application": { + "AWS_EC2_FlowLog": { "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": "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", @@ -26468,14 +26414,14 @@ "Type": { "type": "string", "enum": [ - "AWS::M2::Application" + "AWS::EC2::FlowLog" ], "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)" + "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-m2-application.json" + "$ref": "resources/aws-ec2-flowlog.json" } }, "required": [ @@ -26489,9 +26435,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationFSxWindows": { + "AWS_NetworkFirewall_RuleGroup": { "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 type definition for AWS::NetworkFirewall::RuleGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html)", "allOf": [ { "type": "object", @@ -26499,14 +26445,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationFSxWindows" + "AWS::NetworkFirewall::RuleGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationFSxWindows. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.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-datasync-locationfsxwindows.json" + "$ref": "resources/aws-networkfirewall-rulegroup.json" } }, "required": [ @@ -26520,9 +26466,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_Component": { + "AWS_CloudFormation_ModuleDefaultVersion": { "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": "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", @@ -26530,19 +26476,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::Component" + "AWS::CloudFormation::ModuleDefaultVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::Component \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.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-imagebuilder-component.json" + "$ref": "resources/aws-cloudformation-moduledefaultversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -26551,9 +26496,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Database": { + "AWS_IoTFleetWise_Vehicle": { "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::IoTFleetWise::Vehicle Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.html)", "allOf": [ { "type": "object", @@ -26561,14 +26506,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Database" + "AWS::IoTFleetWise::Vehicle" ], "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::IoTFleetWise::Vehicle Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-database.json" + "$ref": "resources/aws-iotfleetwise-vehicle.json" } }, "required": [ @@ -26582,9 +26527,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_ClientCertificate": { + "AWS_CloudFormation_HookTypeConfig": { "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": "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", @@ -26592,14 +26537,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::ClientCertificate" + "AWS::CloudFormation::HookTypeConfig" ], "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)" + "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-apigateway-clientcertificate.json" + "$ref": "resources/aws-cloudformation-hooktypeconfig.json" } }, "required": [ @@ -26612,9 +26557,9 @@ ], "additionalProperties": false }, - "AWS_Events_Archive": { + "AWS_Forecast_DatasetGroup": { "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": "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", @@ -26622,14 +26567,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::Archive" + "AWS::Forecast::DatasetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::Archive \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.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-events-archive.json" + "$ref": "resources/aws-forecast-datasetgroup.json" } }, "required": [ @@ -26643,9 +26588,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBProxyEndpoint": { + "AWS_AmazonMQ_Configuration": { "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::AmazonMQ::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html)", "allOf": [ { "type": "object", @@ -26653,14 +26598,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBProxyEndpoint" + "AWS::AmazonMQ::Configuration" ], "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::AmazonMQ::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbproxyendpoint.json" + "$ref": "resources/aws-amazonmq-configuration.json" } }, "required": [ @@ -26674,9 +26619,9 @@ ], "additionalProperties": false }, - "AWS_IAM_UserToGroupAddition": { + "AWS_SageMaker_Endpoint": { "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": "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", @@ -26684,14 +26629,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::UserToGroupAddition" + "AWS::SageMaker::Endpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::UserToGroupAddition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-usertogroupaddition.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-iam-usertogroupaddition.json" + "$ref": "resources/aws-sagemaker-endpoint.json" } }, "required": [ @@ -26705,9 +26650,9 @@ ], "additionalProperties": false }, - "AWS_WAF_SqlInjectionMatchSet": { + "AWS_ElasticBeanstalk_Environment": { "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::ElasticBeanstalk::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-environment.html)", "allOf": [ { "type": "object", @@ -26715,14 +26660,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::SqlInjectionMatchSet" + "AWS::ElasticBeanstalk::Environment" ], "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::ElasticBeanstalk::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-sqlinjectionmatchset.json" + "$ref": "resources/aws-elasticbeanstalk-environment.json" } }, "required": [ @@ -26736,9 +26681,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_LayerVersionPermission": { + "AWS_Scheduler_ScheduleGroup": { "type": "object", - "markdownDescription": "Schema for Lambda LayerVersionPermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.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", @@ -26746,14 +26691,44 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::LayerVersionPermission" + "AWS::Scheduler::ScheduleGroup" ], "markdownEnumDescriptions": [ - "Schema for Lambda LayerVersionPermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.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-lambda-layerversionpermission.json" + "$ref": "resources/aws-scheduler-schedulegroup.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": [ @@ -26767,9 +26742,9 @@ ], "additionalProperties": false }, - "AWS_LookoutVision_Project": { + "AWS_CloudFront_MonitoringSubscription": { "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": "Resource Type definition for AWS::CloudFront::MonitoringSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.html)", "allOf": [ { "type": "object", @@ -26777,14 +26752,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LookoutVision::Project" + "AWS::CloudFront::MonitoringSubscription" ], "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)" + "Resource Type definition for AWS::CloudFront::MonitoringSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-lookoutvision-project.json" + "$ref": "resources/aws-cloudfront-monitoringsubscription.json" } }, "required": [ @@ -26798,9 +26773,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_LayerVersion": { + "AWS_Connect_Instance": { "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": "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", @@ -26808,14 +26783,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::LayerVersion" + "AWS::Connect::Instance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::LayerVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.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-lambda-layerversion.json" + "$ref": "resources/aws-connect-instance.json" } }, "required": [ @@ -26829,9 +26804,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_ComponentType": { + "AWS_ApiGateway_GatewayResponse": { "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": "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", @@ -26839,14 +26814,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::ComponentType" + "AWS::ApiGateway::GatewayResponse" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::ComponentType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-componenttype.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-iottwinmaker-componenttype.json" + "$ref": "resources/aws-apigateway-gatewayresponse.json" } }, "required": [ @@ -26860,9 +26835,9 @@ ], "additionalProperties": false }, - "AWS_EMR_InstanceFleetConfig": { + "AWS_BillingConductor_PricingRule": { "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": "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", @@ -26870,14 +26845,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::InstanceFleetConfig" + "AWS::BillingConductor::PricingRule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EMR::InstanceFleetConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancefleetconfig.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-emr-instancefleetconfig.json" + "$ref": "resources/aws-billingconductor-pricingrule.json" } }, "required": [ @@ -26891,9 +26866,9 @@ ], "additionalProperties": false }, - "AWS_Connect_TrafficDistributionGroup": { + "AWS_Personalize_Schema": { "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 schema for AWS::Personalize::Schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-schema.html)", "allOf": [ { "type": "object", @@ -26901,14 +26876,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::TrafficDistributionGroup" + "AWS::Personalize::Schema" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::TrafficDistributionGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-trafficdistributiongroup.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-connect-trafficdistributiongroup.json" + "$ref": "resources/aws-personalize-schema.json" } }, "required": [ @@ -26922,9 +26897,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Pipeline": { + "AWS_Connect_TaskTemplate": { "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": "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", @@ -26932,14 +26907,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Pipeline" + "AWS::Connect::TaskTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.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-sagemaker-pipeline.json" + "$ref": "resources/aws-connect-tasktemplate.json" } }, "required": [ @@ -26953,9 +26928,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_FirewallRuleGroupAssociation": { + "AWS_ResilienceHub_ResiliencyPolicy": { "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": "Resource Type Definition for Resiliency Policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-resiliencypolicy.html)", "allOf": [ { "type": "object", @@ -26963,14 +26938,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::FirewallRuleGroupAssociation" + "AWS::ResilienceHub::ResiliencyPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::FirewallRuleGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroupassociation.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-route53resolver-firewallrulegroupassociation.json" + "$ref": "resources/aws-resiliencehub-resiliencypolicy.json" } }, "required": [ @@ -26984,9 +26959,9 @@ ], "additionalProperties": false }, - "AWS_IAM_User": { + "AWS_ApiGatewayV2_Api": { "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::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", @@ -26994,14 +26969,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::User" + "AWS::ApiGatewayV2::Api" ], "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::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-iam-user.json" + "$ref": "resources/aws-apigatewayv2-api.json" } }, "required": [ @@ -27014,9 +26989,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPNGatewayRoutePropagation": { + "AWS_ImageBuilder_Image": { "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 schema for AWS::ImageBuilder::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html)", "allOf": [ { "type": "object", @@ -27024,14 +26999,44 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPNGatewayRoutePropagation" + "AWS::ImageBuilder::Image" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPNGatewayRoutePropagation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.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-ec2-vpngatewayroutepropagation.json" + "$ref": "resources/aws-imagebuilder-image.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_CloudFormation_Publisher": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::CloudFormation::Publisher" + ], + "markdownEnumDescriptions": [ + "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-cloudformation-publisher.json" } }, "required": [ @@ -27045,9 +27050,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_IntegrationResponse": { + "AWS_SQS_Queue": { "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": "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)", "allOf": [ { "type": "object", @@ -27055,14 +27060,44 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::IntegrationResponse" + "AWS::SQS::Queue" ], "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)" + "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)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-integrationresponse.json" + "$ref": "resources/aws-sqs-queue.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Panorama_Package": { + "type": "object", + "markdownDescription": "Schema for Package CloudFormation Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-package.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Panorama::Package" + ], + "markdownEnumDescriptions": [ + "Schema for Package CloudFormation Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-package.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-panorama-package.json" } }, "required": [ @@ -27076,9 +27111,9 @@ ], "additionalProperties": false }, - "AWS_CodePipeline_Webhook": { + "AWS_Location_PlaceIndex": { "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": "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", @@ -27086,14 +27121,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodePipeline::Webhook" + "AWS::Location::PlaceIndex" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodePipeline::Webhook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.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-codepipeline-webhook.json" + "$ref": "resources/aws-location-placeindex.json" } }, "required": [ @@ -27107,9 +27142,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_Distribution": { + "AWS_Organizations_Account": { "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": "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", @@ -27117,14 +27152,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::Distribution" + "AWS::Organizations::Account" ], "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)" + "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-cloudfront-distribution.json" + "$ref": "resources/aws-organizations-account.json" } }, "required": [ @@ -27138,9 +27173,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Certificate": { + "AWS_Cognito_UserPoolIdentityProvider": { "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 Type definition for AWS::Cognito::UserPoolIdentityProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html)", "allOf": [ { "type": "object", @@ -27148,14 +27183,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Certificate" + "AWS::Cognito::UserPoolIdentityProvider" ], "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 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-iot-certificate.json" + "$ref": "resources/aws-cognito-userpoolidentityprovider.json" } }, "required": [ @@ -27169,9 +27204,9 @@ ], "additionalProperties": false }, - "AWS_Config_RemediationConfiguration": { + "AWS_WAFRegional_RateBasedRule": { "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": "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", @@ -27179,14 +27214,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::RemediationConfiguration" + "AWS::WAFRegional::RateBasedRule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::RemediationConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.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-config-remediationconfiguration.json" + "$ref": "resources/aws-wafregional-ratebasedrule.json" } }, "required": [ @@ -27200,9 +27235,9 @@ ], "additionalProperties": false }, - "AWS_RDS_OptionGroup": { + "AWS_NimbleStudio_LaunchProfile": { "type": "object", - "markdownDescription": "The AWS::RDS::OptionGroup resource creates 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": "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)", "allOf": [ { "type": "object", @@ -27210,14 +27245,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::OptionGroup" + "AWS::NimbleStudio::LaunchProfile" ], "markdownEnumDescriptions": [ - "The AWS::RDS::OptionGroup resource creates 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)" + "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)" ] }, "Properties": { - "$ref": "resources/aws-rds-optiongroup.json" + "$ref": "resources/aws-nimblestudio-launchprofile.json" } }, "required": [ @@ -27231,9 +27266,9 @@ ], "additionalProperties": false }, - "AWS_KafkaConnect_CustomPlugin": { + "AWS_Glue_Workflow": { "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": "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", @@ -27241,14 +27276,44 @@ "Type": { "type": "string", "enum": [ - "AWS::KafkaConnect::CustomPlugin" + "AWS::Glue::Workflow" ], "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)" + "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-kafkaconnect-customplugin.json" + "$ref": "resources/aws-glue-workflow.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_EC2_IPAMPoolCidr": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::EC2::IPAMPoolCidr" + ], + "markdownEnumDescriptions": [ + "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-ec2-ipampoolcidr.json" } }, "required": [ @@ -27262,9 +27327,9 @@ ], "additionalProperties": false }, - "AWS_KinesisFirehose_DeliveryStream": { + "AWS_EMR_InstanceFleetConfig": { "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::EMR::InstanceFleetConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancefleetconfig.html)", "allOf": [ { "type": "object", @@ -27272,18 +27337,19 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisFirehose::DeliveryStream" + "AWS::EMR::InstanceFleetConfig" ], "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::EMR::InstanceFleetConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancefleetconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisfirehose-deliverystream.json" + "$ref": "resources/aws-emr-instancefleetconfig.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -27292,9 +27358,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_Channel": { + "AWS_EC2_TransitGatewayMulticastDomainAssociation": { "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": "The AWS::EC2::TransitGatewayMulticastDomainAssociation type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html)", "allOf": [ { "type": "object", @@ -27302,14 +27368,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::Channel" + "AWS::EC2::TransitGatewayMulticastDomainAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaPackage::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.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-mediapackage-channel.json" + "$ref": "resources/aws-ec2-transitgatewaymulticastdomainassociation.json" } }, "required": [ @@ -27353,9 +27419,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_SubscriptionDefinitionVersion": { + "AWS_AppConfig_Application": { "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": "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", @@ -27363,14 +27429,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::SubscriptionDefinitionVersion" + "AWS::AppConfig::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::SubscriptionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.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-greengrass-subscriptiondefinitionversion.json" + "$ref": "resources/aws-appconfig-application.json" } }, "required": [ @@ -27384,9 +27450,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_UserProfile": { + "AWS_EC2_SpotFleet": { "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::EC2::SpotFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html)", "allOf": [ { "type": "object", @@ -27394,14 +27460,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::UserProfile" + "AWS::EC2::SpotFleet" ], "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::EC2::SpotFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-userprofile.json" + "$ref": "resources/aws-ec2-spotfleet.json" } }, "required": [ @@ -27415,9 +27481,9 @@ ], "additionalProperties": false }, - "AWS_FSx_Volume": { + "AWS_EC2_VerifiedAccessInstance": { "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": "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", @@ -27425,19 +27491,18 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::Volume" + "AWS::EC2::VerifiedAccessInstance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::FSx::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.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-fsx-volume.json" + "$ref": "resources/aws-ec2-verifiedaccessinstance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -27446,9 +27511,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Container": { + "AWS_PCAConnectorAD_DirectoryRegistration": { "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::PCAConnectorAD::DirectoryRegistration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-directoryregistration.html)", "allOf": [ { "type": "object", @@ -27456,14 +27521,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Container" + "AWS::PCAConnectorAD::DirectoryRegistration" ], "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::PCAConnectorAD::DirectoryRegistration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-directoryregistration.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-container.json" + "$ref": "resources/aws-pcaconnectorad-directoryregistration.json" } }, "required": [ @@ -27477,9 +27542,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPNGateway": { + "AWS_StepFunctions_Activity": { "type": "object", - "markdownDescription": "Schema for EC2 VPN Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html)", + "markdownDescription": "Resource schema for Activity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html)", "allOf": [ { "type": "object", @@ -27487,14 +27552,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPNGateway" + "AWS::StepFunctions::Activity" ], "markdownEnumDescriptions": [ - "Schema for EC2 VPN Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html)" + "Resource schema for Activity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpngateway.json" + "$ref": "resources/aws-stepfunctions-activity.json" } }, "required": [ @@ -27508,9 +27573,9 @@ ], "additionalProperties": false }, - "AWS_DAX_SubnetGroup": { + "AWS_ElastiCache_SubnetGroup": { "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::ElastiCache::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html)", "allOf": [ { "type": "object", @@ -27518,14 +27583,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DAX::SubnetGroup" + "AWS::ElastiCache::SubnetGroup" ], "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::ElastiCache::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-dax-subnetgroup.json" + "$ref": "resources/aws-elasticache-subnetgroup.json" } }, "required": [ @@ -27539,9 +27604,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_StorageProfile": { + "AWS_Config_ConformancePack": { "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": "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", @@ -27549,14 +27614,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::StorageProfile" + "AWS::Config::ConformancePack" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::StorageProfile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.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-deadline-storageprofile.json" + "$ref": "resources/aws-config-conformancepack.json" } }, "required": [ @@ -27570,9 +27635,9 @@ ], "additionalProperties": false }, - "AWS_InspectorV2_Filter": { + "AWS_SES_ConfigurationSetEventDestination": { "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::SES::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html)", "allOf": [ { "type": "object", @@ -27580,14 +27645,14 @@ "Type": { "type": "string", "enum": [ - "AWS::InspectorV2::Filter" + "AWS::SES::ConfigurationSetEventDestination" ], "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::SES::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html)" ] }, "Properties": { - "$ref": "resources/aws-inspectorv2-filter.json" + "$ref": "resources/aws-ses-configurationseteventdestination.json" } }, "required": [ @@ -27601,9 +27666,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Recipe": { + "AWS_Route53_CidrCollection": { "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 schema for AWS::Route53::CidrCollection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html)", "allOf": [ { "type": "object", @@ -27611,14 +27676,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Recipe" + "AWS::Route53::CidrCollection" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Recipe. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.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-databrew-recipe.json" + "$ref": "resources/aws-route53-cidrcollection.json" } }, "required": [ @@ -27632,9 +27697,9 @@ ], "additionalProperties": false }, - "AWS_Backup_BackupSelection": { + "AWS_Greengrass_SubscriptionDefinitionVersion": { "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": "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", @@ -27642,14 +27707,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::BackupSelection" + "AWS::Greengrass::SubscriptionDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Backup::BackupSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupselection.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-backup-backupselection.json" + "$ref": "resources/aws-greengrass-subscriptiondefinitionversion.json" } }, "required": [ @@ -27663,9 +27728,9 @@ ], "additionalProperties": false }, - "AWS_IoT_JobTemplate": { + "AWS_Glue_Registry": { "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)", + "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", @@ -27673,14 +27738,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::JobTemplate" + "AWS::Glue::Registry" ], "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)" + "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-iot-jobtemplate.json" + "$ref": "resources/aws-glue-registry.json" } }, "required": [ @@ -27694,9 +27759,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_ApplicationFleetAssociation": { + "AWS_SageMaker_Workteam": { "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": "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", @@ -27704,19 +27769,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::ApplicationFleetAssociation" + "AWS::SageMaker::Workteam" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::ApplicationFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.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-appstream-applicationfleetassociation.json" + "$ref": "resources/aws-sagemaker-workteam.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -27725,9 +27789,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBInstance": { + "AWS_ApiGatewayV2_ApiGatewayManagedOverrides": { "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 Type definition for AWS::ApiGatewayV2::ApiGatewayManagedOverrides \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html)", "allOf": [ { "type": "object", @@ -27735,14 +27799,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBInstance" + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Neptune::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.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-neptune-dbinstance.json" + "$ref": "resources/aws-apigatewayv2-apigatewaymanagedoverrides.json" } }, "required": [ @@ -27756,9 +27820,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_AutomationRule": { + "AWS_Comprehend_DocumentClassifier": { "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": "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", @@ -27766,18 +27830,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::AutomationRule" + "AWS::Comprehend::DocumentClassifier" ], "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)" + "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-securityhub-automationrule.json" + "$ref": "resources/aws-comprehend-documentclassifier.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -27786,9 +27851,9 @@ ], "additionalProperties": false }, - "AWS_IoT1Click_Placement": { + "AWS_ResourceExplorer2_Index": { "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 AWS::ResourceExplorer2::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-index.html)", "allOf": [ { "type": "object", @@ -27796,14 +27861,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT1Click::Placement" + "AWS::ResourceExplorer2::Index" ], "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 AWS::ResourceExplorer2::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-index.html)" ] }, "Properties": { - "$ref": "resources/aws-iot1click-placement.json" + "$ref": "resources/aws-resourceexplorer2-index.json" } }, "required": [ @@ -27817,9 +27882,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_CompositeAlarm": { + "AWS_S3_AccessGrant": { "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": "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", @@ -27827,14 +27892,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::CompositeAlarm" + "AWS::S3::AccessGrant" ], "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)" + "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-cloudwatch-compositealarm.json" + "$ref": "resources/aws-s3-accessgrant.json" } }, "required": [ @@ -27848,9 +27913,9 @@ ], "additionalProperties": false }, - "AWS_S3Outposts_BucketPolicy": { + "AWS_AppStream_User": { "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::AppStream::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html)", "allOf": [ { "type": "object", @@ -27858,14 +27923,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Outposts::BucketPolicy" + "AWS::AppStream::User" ], "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::AppStream::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html)" ] }, "Properties": { - "$ref": "resources/aws-s3outposts-bucketpolicy.json" + "$ref": "resources/aws-appstream-user.json" } }, "required": [ @@ -27879,9 +27944,9 @@ ], "additionalProperties": false }, - "AWS_SES_ConfigurationSetEventDestination": { + "AWS_AppStream_Fleet": { "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::AppStream::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html)", "allOf": [ { "type": "object", @@ -27889,14 +27954,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ConfigurationSetEventDestination" + "AWS::AppStream::Fleet" ], "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::AppStream::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-configurationseteventdestination.json" + "$ref": "resources/aws-appstream-fleet.json" } }, "required": [ @@ -27910,9 +27975,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationNFS": { + "AWS_StepFunctions_StateMachineAlias": { "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": "Resource schema for StateMachineAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html)", "allOf": [ { "type": "object", @@ -27920,19 +27985,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationNFS" + "AWS::StepFunctions::StateMachineAlias" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationNFS \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html)" + "Resource schema for StateMachineAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationnfs.json" + "$ref": "resources/aws-stepfunctions-statemachinealias.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -27941,9 +28005,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_Route": { + "AWS_Omics_VariantStore": { "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": "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", @@ -27951,14 +28015,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::Route" + "AWS::Omics::VariantStore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::Route \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.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-appmesh-route.json" + "$ref": "resources/aws-omics-variantstore.json" } }, "required": [ @@ -27972,9 +28036,9 @@ ], "additionalProperties": false }, - "AWS_Synthetics_Group": { + "AWS_Pinpoint_ApplicationSettings": { "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 Type definition for AWS::Pinpoint::ApplicationSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html)", "allOf": [ { "type": "object", @@ -27982,14 +28046,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Synthetics::Group" + "AWS::Pinpoint::ApplicationSettings" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Synthetics::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.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-synthetics-group.json" + "$ref": "resources/aws-pinpoint-applicationsettings.json" } }, "required": [ @@ -28003,9 +28067,9 @@ ], "additionalProperties": false }, - "AWS_EKS_AccessEntry": { + "AWS_ServiceCatalogAppRegistry_AttributeGroup": { "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 Schema for AWS::ServiceCatalogAppRegistry::AttributeGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html)", "allOf": [ { "type": "object", @@ -28013,14 +28077,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::AccessEntry" + "AWS::ServiceCatalogAppRegistry::AttributeGroup" ], "markdownEnumDescriptions": [ - "An object representing an Amazon EKS AccessEntry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-accessentry.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-eks-accessentry.json" + "$ref": "resources/aws-servicecatalogappregistry-attributegroup.json" } }, "required": [ @@ -28034,9 +28098,9 @@ ], "additionalProperties": false }, - "AWS_Athena_DataCatalog": { + "AWS_MediaConnect_FlowOutput": { "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 schema for AWS::MediaConnect::FlowOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html)", "allOf": [ { "type": "object", @@ -28044,14 +28108,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::DataCatalog" + "AWS::MediaConnect::FlowOutput" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::DataCatalog \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.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-athena-datacatalog.json" + "$ref": "resources/aws-mediaconnect-flowoutput.json" } }, "required": [ @@ -28065,9 +28129,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Multiplex": { + "AWS_SageMaker_ModelPackage": { "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": "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", @@ -28075,19 +28139,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Multiplex" + "AWS::SageMaker::ModelPackage" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaLive::Multiplex \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplex.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-medialive-multiplex.json" + "$ref": "resources/aws-sagemaker-modelpackage.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -28096,9 +28159,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_ReplicationGroup": { + "AWS_ServiceDiscovery_Instance": { "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": "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", @@ -28106,14 +28169,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::ReplicationGroup" + "AWS::ServiceDiscovery::Instance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::ReplicationGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.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-elasticache-replicationgroup.json" + "$ref": "resources/aws-servicediscovery-instance.json" } }, "required": [ @@ -28127,9 +28190,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Connection": { + "AWS_KMS_Alias": { "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": "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", @@ -28137,14 +28200,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Connection" + "AWS::KMS::Alias" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Connection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.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-glue-connection.json" + "$ref": "resources/aws-kms-alias.json" } }, "required": [ @@ -28158,9 +28221,9 @@ ], "additionalProperties": false }, - "AWS_Omics_AnnotationStore": { + "AWS_StepFunctions_StateMachine": { "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 schema for StateMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html)", "allOf": [ { "type": "object", @@ -28168,14 +28231,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::AnnotationStore" + "AWS::StepFunctions::StateMachine" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::AnnotationStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-annotationstore.html)" + "Resource schema for StateMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-annotationstore.json" + "$ref": "resources/aws-stepfunctions-statemachine.json" } }, "required": [ @@ -28189,9 +28252,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_TrustStore": { + "AWS_DMS_Endpoint": { "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": "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", @@ -28199,14 +28262,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::TrustStore" + "AWS::DMS::Endpoint" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::TrustStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-truststore.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-workspacesweb-truststore.json" + "$ref": "resources/aws-dms-endpoint.json" } }, "required": [ @@ -28220,9 +28283,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Route": { + "AWS_GlobalAccelerator_Accelerator": { "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": "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", @@ -28230,14 +28293,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Route" + "AWS::GlobalAccelerator::Accelerator" ], "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)" + "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-apigatewayv2-route.json" + "$ref": "resources/aws-globalaccelerator-accelerator.json" } }, "required": [ @@ -28251,9 +28314,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_WirelessGateway": { + "AWS_EMR_Step": { "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": "Schema for AWS::EMR::Step \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html)", "allOf": [ { "type": "object", @@ -28261,14 +28324,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::WirelessGateway" + "AWS::EMR::Step" ], "markdownEnumDescriptions": [ - "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.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-iotwireless-wirelessgateway.json" + "$ref": "resources/aws-emr-step.json" } }, "required": [ @@ -28282,9 +28345,9 @@ ], "additionalProperties": false }, - "AWS_S3ObjectLambda_AccessPointPolicy": { + "AWS_SageMaker_Image": { "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 Type definition for AWS::SageMaker::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html)", "allOf": [ { "type": "object", @@ -28292,14 +28355,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3ObjectLambda::AccessPointPolicy" + "AWS::SageMaker::Image" ], "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 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-s3objectlambda-accesspointpolicy.json" + "$ref": "resources/aws-sagemaker-image.json" } }, "required": [ @@ -28313,9 +28376,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_ServiceNetwork": { + "AWS_MediaTailor_VodSource": { "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": "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", @@ -28323,18 +28386,19 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::ServiceNetwork" + "AWS::MediaTailor::VodSource" ], "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)" + "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-vpclattice-servicenetwork.json" + "$ref": "resources/aws-mediatailor-vodsource.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -28343,9 +28407,9 @@ ], "additionalProperties": false }, - "AWS_DevOpsGuru_NotificationChannel": { + "AWS_AppSync_DomainName": { "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": "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", @@ -28353,14 +28417,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DevOpsGuru::NotificationChannel" + "AWS::AppSync::DomainName" ], "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)" + "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-devopsguru-notificationchannel.json" + "$ref": "resources/aws-appsync-domainname.json" } }, "required": [ @@ -28374,9 +28438,9 @@ ], "additionalProperties": false }, - "AWS_ElasticBeanstalk_Application": { + "AWS_ApplicationInsights_Application": { "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 schema for AWS::ApplicationInsights::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html)", "allOf": [ { "type": "object", @@ -28384,18 +28448,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticBeanstalk::Application" + "AWS::ApplicationInsights::Application" ], "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 schema for AWS::ApplicationInsights::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticbeanstalk-application.json" + "$ref": "resources/aws-applicationinsights-application.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -28404,9 +28469,9 @@ ], "additionalProperties": false }, - "AWS_SDB_Domain": { + "AWS_OpsWorks_Stack": { "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::OpsWorks::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html)", "allOf": [ { "type": "object", @@ -28414,18 +28479,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SDB::Domain" + "AWS::OpsWorks::Stack" ], "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::OpsWorks::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html)" ] }, "Properties": { - "$ref": "resources/aws-sdb-domain.json" + "$ref": "resources/aws-opsworks-stack.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -28434,9 +28500,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Feature": { + "AWS_Cassandra_Keyspace": { "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": "Resource schema for AWS::Cassandra::Keyspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html)", "allOf": [ { "type": "object", @@ -28444,19 +28510,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Feature" + "AWS::Cassandra::Keyspace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Feature. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-feature.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-evidently-feature.json" + "$ref": "resources/aws-cassandra-keyspace.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -28465,9 +28530,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_Environment": { + "AWS_DataBrew_Ruleset": { "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 schema for AWS::DataBrew::Ruleset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-ruleset.html)", "allOf": [ { "type": "object", @@ -28475,14 +28540,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::Environment" + "AWS::DataBrew::Ruleset" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.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-appconfig-environment.json" + "$ref": "resources/aws-databrew-ruleset.json" } }, "required": [ @@ -28496,9 +28561,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelQualityJobDefinition": { + "AWS_Budgets_BudgetsAction": { "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": "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", @@ -28506,14 +28571,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelQualityJobDefinition" + "AWS::Budgets::BudgetsAction" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.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-sagemaker-modelqualityjobdefinition.json" + "$ref": "resources/aws-budgets-budgetsaction.json" } }, "required": [ @@ -28527,9 +28592,9 @@ ], "additionalProperties": false }, - "AWS_MediaConvert_JobTemplate": { + "AWS_IoTWireless_WirelessGateway": { "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": "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", @@ -28537,14 +28602,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConvert::JobTemplate" + "AWS::IoTWireless::WirelessGateway" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaConvert::JobTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.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-mediaconvert-jobtemplate.json" + "$ref": "resources/aws-iotwireless-wirelessgateway.json" } }, "required": [ @@ -28558,9 +28623,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Instance": { + "AWS_CloudWatch_MetricStream": { "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 Metric Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html)", "allOf": [ { "type": "object", @@ -28568,19 +28633,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Instance" + "AWS::CloudWatch::MetricStream" ], "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 Metric Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-instance.json" + "$ref": "resources/aws-cloudwatch-metricstream.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -28589,9 +28653,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ScheduledAudit": { + "AWS_Signer_SigningProfile": { "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": "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", @@ -28599,14 +28663,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ScheduledAudit" + "AWS::Signer::SigningProfile" ], "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)" + "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-iot-scheduledaudit.json" + "$ref": "resources/aws-signer-signingprofile.json" } }, "required": [ @@ -28620,9 +28684,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VerifiedAccessGroup": { + "AWS_BCMDataExports_Export": { "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": "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", @@ -28630,14 +28694,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VerifiedAccessGroup" + "AWS::BCMDataExports::Export" ], "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)" + "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-ec2-verifiedaccessgroup.json" + "$ref": "resources/aws-bcmdataexports-export.json" } }, "required": [ @@ -28651,9 +28715,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_ByteMatchSet": { + "AWS_EMR_SecurityConfiguration": { "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": "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", @@ -28661,14 +28725,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::ByteMatchSet" + "AWS::EMR::SecurityConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.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-wafregional-bytematchset.json" + "$ref": "resources/aws-emr-securityconfiguration.json" } }, "required": [ @@ -28682,9 +28746,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_VpcIngressConnection": { + "AWS_MSK_ServerlessCluster": { "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": "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", @@ -28692,14 +28756,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::VpcIngressConnection" + "AWS::MSK::ServerlessCluster" ], "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)" + "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-apprunner-vpcingressconnection.json" + "$ref": "resources/aws-msk-serverlesscluster.json" } }, "required": [ @@ -28713,9 +28777,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_VirtualService": { + "AWS_DataZone_GroupProfile": { "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": "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", @@ -28723,14 +28787,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::VirtualService" + "AWS::DataZone::GroupProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::VirtualService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.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-appmesh-virtualservice.json" + "$ref": "resources/aws-datazone-groupprofile.json" } }, "required": [ @@ -28744,9 +28808,9 @@ ], "additionalProperties": false }, - "AWS_RDS_CustomDBEngineVersion": { + "AWS_MSK_Cluster": { "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": "Resource Type definition for AWS::MSK::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html)", "allOf": [ { "type": "object", @@ -28754,14 +28818,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::CustomDBEngineVersion" + "AWS::MSK::Cluster" ], "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)" + "Resource Type definition for AWS::MSK::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-customdbengineversion.json" + "$ref": "resources/aws-msk-cluster.json" } }, "required": [ @@ -28775,9 +28839,9 @@ ], "additionalProperties": false }, - "AWS_SSM_PatchBaseline": { + "AWS_GuardDuty_Detector": { "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": "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", @@ -28785,14 +28849,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::PatchBaseline" + "AWS::GuardDuty::Detector" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::PatchBaseline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.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-ssm-patchbaseline.json" + "$ref": "resources/aws-guardduty-detector.json" } }, "required": [ @@ -28806,9 +28870,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_DeviceDefinition": { + "AWS_DMS_ReplicationSubnetGroup": { "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": "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", @@ -28816,14 +28880,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::DeviceDefinition" + "AWS::DMS::ReplicationSubnetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::DeviceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.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-greengrass-devicedefinition.json" + "$ref": "resources/aws-dms-replicationsubnetgroup.json" } }, "required": [ @@ -28837,9 +28901,9 @@ ], "additionalProperties": false }, - "AWS_ECS_TaskDefinition": { + "AWS_NimbleStudio_StreamingImage": { "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. The available network modes correspond to those described in [Network settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#/network-settings) in the Docker run reference. If you specify the ``awsvpc`` network mode, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration 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": "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)", "allOf": [ { "type": "object", @@ -28847,18 +28911,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::TaskDefinition" + "AWS::NimbleStudio::StreamingImage" ], "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. The available network modes correspond to those described in [Network settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#/network-settings) in the Docker run reference. If you specify the ``awsvpc`` network mode, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration 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)" + "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)" ] }, "Properties": { - "$ref": "resources/aws-ecs-taskdefinition.json" + "$ref": "resources/aws-nimblestudio-streamingimage.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -28867,9 +28932,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_RouteResponse": { + "AWS_IoT_SecurityProfile": { "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": "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", @@ -28877,19 +28942,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::RouteResponse" + "AWS::IoT::SecurityProfile" ], "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)" + "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-apigatewayv2-routeresponse.json" + "$ref": "resources/aws-iot-securityprofile.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -28898,9 +28962,9 @@ ], "additionalProperties": false }, - "AWS_S3Outposts_Endpoint": { + "AWS_CloudWatch_CompositeAlarm": { "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": "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", @@ -28908,14 +28972,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Outposts::Endpoint" + "AWS::CloudWatch::CompositeAlarm" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::S3Outposts::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.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-s3outposts-endpoint.json" + "$ref": "resources/aws-cloudwatch-compositealarm.json" } }, "required": [ @@ -28929,9 +28993,9 @@ ], "additionalProperties": false }, - "AWS_CodeArtifact_Repository": { + "AWS_EC2_ClientVpnTargetNetworkAssociation": { "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": "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", @@ -28939,14 +29003,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeArtifact::Repository" + "AWS::EC2::ClientVpnTargetNetworkAssociation" ], "markdownEnumDescriptions": [ - "The resource schema to create a CodeArtifact repository. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.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-codeartifact-repository.json" + "$ref": "resources/aws-ec2-clientvpntargetnetworkassociation.json" } }, "required": [ @@ -28960,9 +29024,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_ModelManifest": { + "AWS_IoTCoreDeviceAdvisor_SuiteDefinition": { "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": "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", @@ -28970,14 +29034,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::ModelManifest" + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::ModelManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-modelmanifest.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-iotfleetwise-modelmanifest.json" + "$ref": "resources/aws-iotcoredeviceadvisor-suitedefinition.json" } }, "required": [ @@ -28991,9 +29055,9 @@ ], "additionalProperties": false }, - "AWS_ECS_PrimaryTaskSet": { + "AWS_AppConfig_ExtensionAssociation": { "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": "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", @@ -29001,19 +29065,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::PrimaryTaskSet" + "AWS::AppConfig::ExtensionAssociation" ], "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)" + "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-ecs-primarytaskset.json" + "$ref": "resources/aws-appconfig-extensionassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -29022,9 +29085,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_ChannelGroup": { + "AWS_ApiGatewayV2_DomainName": { "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": "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", @@ -29032,14 +29095,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::ChannelGroup" + "AWS::ApiGatewayV2::DomainName" ], "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)" + "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-mediapackagev2-channelgroup.json" + "$ref": "resources/aws-apigatewayv2-domainname.json" } }, "required": [ @@ -29053,9 +29116,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_Link": { + "AWS_ApiGatewayV2_Deployment": { "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": "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", @@ -29063,14 +29126,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::Link" + "AWS::ApiGatewayV2::Deployment" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::Link type describes a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.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-networkmanager-link.json" + "$ref": "resources/aws-apigatewayv2-deployment.json" } }, "required": [ @@ -29084,9 +29147,9 @@ ], "additionalProperties": false }, - "AWS_Location_PlaceIndex": { + "AWS_InspectorV2_CisScanConfiguration": { "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": "CIS Scan Configuration resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-cisscanconfiguration.html)", "allOf": [ { "type": "object", @@ -29094,19 +29157,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::PlaceIndex" + "AWS::InspectorV2::CisScanConfiguration" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::PlaceIndex Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-placeindex.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-location-placeindex.json" + "$ref": "resources/aws-inspectorv2-cisscanconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -29115,9 +29177,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_FlowSource": { + "AWS_ACMPCA_Permission": { "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": "Permission set on private certificate authority \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html)", "allOf": [ { "type": "object", @@ -29125,14 +29187,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::FlowSource" + "AWS::ACMPCA::Permission" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::FlowSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.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-mediaconnect-flowsource.json" + "$ref": "resources/aws-acmpca-permission.json" } }, "required": [ @@ -29146,9 +29208,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_ServiceNetworkServiceAssociation": { + "AWS_S3ObjectLambda_AccessPoint": { "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::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", @@ -29156,18 +29218,19 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::ServiceNetworkServiceAssociation" + "AWS::S3ObjectLambda::AccessPoint" ], "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::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-vpclattice-servicenetworkserviceassociation.json" + "$ref": "resources/aws-s3objectlambda-accesspoint.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29176,9 +29239,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_ResponseHeadersPolicy": { + "AWS_FSx_StorageVirtualMachine": { "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::FSx::StorageVirtualMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-storagevirtualmachine.html)", "allOf": [ { "type": "object", @@ -29186,14 +29249,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::ResponseHeadersPolicy" + "AWS::FSx::StorageVirtualMachine" ], "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::FSx::StorageVirtualMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-storagevirtualmachine.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-responseheaderspolicy.json" + "$ref": "resources/aws-fsx-storagevirtualmachine.json" } }, "required": [ @@ -29207,9 +29270,9 @@ ], "additionalProperties": false }, - "AWS_GreengrassV2_Deployment": { + "AWS_Neptune_DBParameterGroup": { "type": "object", - "markdownDescription": "Resource for Greengrass V2 deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.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", @@ -29217,14 +29280,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GreengrassV2::Deployment" + "AWS::Neptune::DBParameterGroup" ], "markdownEnumDescriptions": [ - "Resource for Greengrass V2 deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.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-greengrassv2-deployment.json" + "$ref": "resources/aws-neptune-dbparametergroup.json" } }, "required": [ @@ -29238,9 +29301,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_ServiceProfile": { + "AWS_Organizations_ResourcePolicy": { "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": "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", @@ -29248,18 +29311,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::ServiceProfile" + "AWS::Organizations::ResourcePolicy" ], "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)" + "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-iotwireless-serviceprofile.json" + "$ref": "resources/aws-organizations-resourcepolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29268,9 +29332,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_EmailChannel": { + "AWS_NeptuneGraph_PrivateGraphEndpoint": { "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": "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", @@ -29278,14 +29342,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::EmailChannel" + "AWS::NeptuneGraph::PrivateGraphEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::EmailChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.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-pinpoint-emailchannel.json" + "$ref": "resources/aws-neptunegraph-privategraphendpoint.json" } }, "required": [ @@ -29299,9 +29363,9 @@ ], "additionalProperties": false }, - "AWS_WAF_WebACL": { + "AWS_EC2_VPNConnection": { "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 Type definition for AWS::EC2::VPNConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html)", "allOf": [ { "type": "object", @@ -29309,14 +29373,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::WebACL" + "AWS::EC2::VPNConnection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html)" + "Resource Type definition for AWS::EC2::VPNConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-webacl.json" + "$ref": "resources/aws-ec2-vpnconnection.json" } }, "required": [ @@ -29330,9 +29394,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBSubnetGroup": { + "AWS_QuickSight_RefreshSchedule": { "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 the AWS::QuickSight::RefreshSchedule Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.html)", "allOf": [ { "type": "object", @@ -29340,19 +29404,18 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBSubnetGroup" + "AWS::QuickSight::RefreshSchedule" ], "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 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-rds-dbsubnetgroup.json" + "$ref": "resources/aws-quicksight-refreshschedule.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -29361,9 +29424,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Url": { + "AWS_Athena_WorkGroup": { "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 schema for AWS::Athena::WorkGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html)", "allOf": [ { "type": "object", @@ -29371,14 +29434,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Url" + "AWS::Athena::WorkGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::Url \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.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-lambda-url.json" + "$ref": "resources/aws-athena-workgroup.json" } }, "required": [ @@ -29392,9 +29455,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_ApiCache": { + "AWS_IoTWireless_FuotaTask": { "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": "Create and manage FUOTA tasks. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-fuotatask.html)", "allOf": [ { "type": "object", @@ -29402,14 +29465,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::ApiCache" + "AWS::IoTWireless::FuotaTask" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::ApiCache \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.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-appsync-apicache.json" + "$ref": "resources/aws-iotwireless-fuotatask.json" } }, "required": [ @@ -29423,9 +29486,9 @@ ], "additionalProperties": false }, - "AWS_Glue_DataQualityRuleset": { + "AWS_EntityResolution_MatchingWorkflow": { "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": "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", @@ -29433,18 +29496,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::DataQualityRuleset" + "AWS::EntityResolution::MatchingWorkflow" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::DataQualityRuleset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.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-glue-dataqualityruleset.json" + "$ref": "resources/aws-entityresolution-matchingworkflow.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29453,9 +29517,9 @@ ], "additionalProperties": false }, - "AWS_IoT1Click_Project": { + "AWS_IVSChat_Room": { "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::IVSChat::Room. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html)", "allOf": [ { "type": "object", @@ -29463,19 +29527,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT1Click::Project" + "AWS::IVSChat::Room" ], "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::IVSChat::Room. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html)" ] }, "Properties": { - "$ref": "resources/aws-iot1click-project.json" + "$ref": "resources/aws-ivschat-room.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -29484,9 +29547,9 @@ ], "additionalProperties": false }, - "AWS_Budgets_BudgetsAction": { + "AWS_ControlTower_EnabledControl": { "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": "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", @@ -29494,14 +29557,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Budgets::BudgetsAction" + "AWS::ControlTower::EnabledControl" ], "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)" + "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-budgets-budgetsaction.json" + "$ref": "resources/aws-controltower-enabledcontrol.json" } }, "required": [ @@ -29515,9 +29578,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_ResourceDefaultVersion": { + "AWS_RefactorSpaces_Service": { "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::Service Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-service.html)", "allOf": [ { "type": "object", @@ -29525,18 +29588,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" + "AWS::RefactorSpaces::Service" ], "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::Service Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-service.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-resourcedefaultversion.json" + "$ref": "resources/aws-refactorspaces-service.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29545,9 +29609,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_TargetGroup": { + "AWS_IoTTwinMaker_SyncJob": { "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": "Resource schema for AWS::IoTTwinMaker::SyncJob \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-syncjob.html)", "allOf": [ { "type": "object", @@ -29555,14 +29619,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::TargetGroup" + "AWS::IoTTwinMaker::SyncJob" ], "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)" + "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-vpclattice-targetgroup.json" + "$ref": "resources/aws-iottwinmaker-syncjob.json" } }, "required": [ @@ -29576,9 +29640,9 @@ ], "additionalProperties": false }, - "AWS_ApplicationAutoScaling_ScalingPolicy": { + "AWS_MediaConnect_Bridge": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ApplicationAutoScaling::ScalingPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.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", @@ -29586,14 +29650,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApplicationAutoScaling::ScalingPolicy" + "AWS::MediaConnect::Bridge" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ApplicationAutoScaling::ScalingPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.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-applicationautoscaling-scalingpolicy.json" + "$ref": "resources/aws-mediaconnect-bridge.json" } }, "required": [ @@ -29607,9 +29671,9 @@ ], "additionalProperties": false }, - "AWS_BackupGateway_Hypervisor": { + "AWS_Personalize_DatasetGroup": { "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 Schema for AWS::Personalize::DatasetGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-datasetgroup.html)", "allOf": [ { "type": "object", @@ -29617,18 +29681,19 @@ "Type": { "type": "string", "enum": [ - "AWS::BackupGateway::Hypervisor" + "AWS::Personalize::DatasetGroup" ], "markdownEnumDescriptions": [ - "Definition of AWS::BackupGateway::Hypervisor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backupgateway-hypervisor.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-backupgateway-hypervisor.json" + "$ref": "resources/aws-personalize-datasetgroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29637,9 +29702,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_ApplicationEntitlementAssociation": { + "AWS_SageMaker_InferenceComponent": { "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::SageMaker::InferenceComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html)", "allOf": [ { "type": "object", @@ -29647,14 +29712,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::ApplicationEntitlementAssociation" + "AWS::SageMaker::InferenceComponent" ], "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::SageMaker::InferenceComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-applicationentitlementassociation.json" + "$ref": "resources/aws-sagemaker-inferencecomponent.json" } }, "required": [ @@ -29668,9 +29733,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_SubnetGroup": { + "AWS_CustomerProfiles_ObjectType": { "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": "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", @@ -29678,14 +29743,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::SubnetGroup" + "AWS::CustomerProfiles::ObjectType" ], "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)" + "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-memorydb-subnetgroup.json" + "$ref": "resources/aws-customerprofiles-objecttype.json" } }, "required": [ @@ -29699,9 +29764,9 @@ ], "additionalProperties": false }, - "AWS_Events_Endpoint": { + "AWS_AmazonMQ_ConfigurationAssociation": { "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::AmazonMQ::ConfigurationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html)", "allOf": [ { "type": "object", @@ -29709,14 +29774,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::Endpoint" + "AWS::AmazonMQ::ConfigurationAssociation" ], "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::AmazonMQ::ConfigurationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-events-endpoint.json" + "$ref": "resources/aws-amazonmq-configurationassociation.json" } }, "required": [ @@ -29730,9 +29795,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInterface": { + "AWS_WAFRegional_SizeConstraintSet": { "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": "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", @@ -29740,14 +29805,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInterface" + "AWS::WAFRegional::SizeConstraintSet" ], "markdownEnumDescriptions": [ - "The AWS::EC2::NetworkInterface resource creates network interface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.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-ec2-networkinterface.json" + "$ref": "resources/aws-wafregional-sizeconstraintset.json" } }, "required": [ @@ -29761,9 +29826,9 @@ ], "additionalProperties": false }, - "AWS_EFS_FileSystem": { + "AWS_EMR_StudioSessionMapping": { "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": "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", @@ -29771,18 +29836,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EFS::FileSystem" + "AWS::EMR::StudioSessionMapping" ], "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)" + "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-efs-filesystem.json" + "$ref": "resources/aws-emr-studiosessionmapping.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29791,9 +29857,9 @@ ], "additionalProperties": false }, - "AWS_IoT1Click_Device": { + "AWS_IoT_SoftwarePackageVersion": { "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": "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html)", "allOf": [ { "type": "object", @@ -29801,14 +29867,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT1Click::Device" + "AWS::IoT::SoftwarePackageVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT1Click::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html)" + "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html)" ] }, "Properties": { - "$ref": "resources/aws-iot1click-device.json" + "$ref": "resources/aws-iot-softwarepackageversion.json" } }, "required": [ @@ -29822,9 +29888,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBProxy": { + "AWS_EC2_VerifiedAccessGroup": { "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": "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", @@ -29832,14 +29898,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBProxy" + "AWS::EC2::VerifiedAccessGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::RDS::DBProxy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.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-rds-dbproxy.json" + "$ref": "resources/aws-ec2-verifiedaccessgroup.json" } }, "required": [ @@ -29853,9 +29919,9 @@ ], "additionalProperties": false }, - "AWS_CodeConnections_Connection": { + "AWS_LookoutMetrics_AnomalyDetector": { "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": "An Amazon Lookout for Metrics Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-anomalydetector.html)", "allOf": [ { "type": "object", @@ -29863,14 +29929,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeConnections::Connection" + "AWS::LookoutMetrics::AnomalyDetector" ], "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)" + "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-codeconnections-connection.json" + "$ref": "resources/aws-lookoutmetrics-anomalydetector.json" } }, "required": [ @@ -29884,9 +29950,9 @@ ], "additionalProperties": false }, - "AWS_KinesisVideo_SignalingChannel": { + "AWS_IoTSiteWise_Portal": { "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": "Resource schema for AWS::IoTSiteWise::Portal \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html)", "allOf": [ { "type": "object", @@ -29894,18 +29960,19 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisVideo::SignalingChannel" + "AWS::IoTSiteWise::Portal" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::KinesisVideo::SignalingChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html)" + "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-kinesisvideo-signalingchannel.json" + "$ref": "resources/aws-iotsitewise-portal.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29914,9 +29981,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TrafficMirrorTarget": { + "AWS_NetworkFirewall_FirewallPolicy": { "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": "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", @@ -29924,18 +29991,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TrafficMirrorTarget" + "AWS::NetworkFirewall::FirewallPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TrafficMirrorTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.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-ec2-trafficmirrortarget.json" + "$ref": "resources/aws-networkfirewall-firewallpolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29944,9 +30012,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_ACL": { + "AWS_SSM_Parameter": { "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": "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", @@ -29954,14 +30022,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::ACL" + "AWS::SSM::Parameter" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MemoryDB::ACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.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-memorydb-acl.json" + "$ref": "resources/aws-ssm-parameter.json" } }, "required": [ @@ -29975,9 +30043,9 @@ ], "additionalProperties": false }, - "AWS_SES_ContactList": { + "AWS_Batch_ComputeEnvironment": { "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::Batch::ComputeEnvironment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html)", "allOf": [ { "type": "object", @@ -29985,18 +30053,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ContactList" + "AWS::Batch::ComputeEnvironment" ], "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::Batch::ComputeEnvironment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-contactlist.json" + "$ref": "resources/aws-batch-computeenvironment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30005,9 +30074,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryControl_SafetyRule": { + "AWS_SSMContacts_ContactChannel": { "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": "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", @@ -30015,14 +30084,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryControl::SafetyRule" + "AWS::SSMContacts::ContactChannel" ], "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)" + "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-route53recoverycontrol-safetyrule.json" + "$ref": "resources/aws-ssmcontacts-contactchannel.json" } }, "required": [ @@ -30035,9 +30104,9 @@ ], "additionalProperties": false }, - "AWS_Glue_DataCatalogEncryptionSettings": { + "AWS_Greengrass_ConnectorDefinition": { "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::Greengrass::ConnectorDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html)", "allOf": [ { "type": "object", @@ -30045,14 +30114,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::DataCatalogEncryptionSettings" + "AWS::Greengrass::ConnectorDefinition" ], "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::Greengrass::ConnectorDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-datacatalogencryptionsettings.json" + "$ref": "resources/aws-greengrass-connectordefinition.json" } }, "required": [ @@ -30066,9 +30135,9 @@ ], "additionalProperties": false }, - "AWS_Personalize_Solution": { + "AWS_Lambda_Url": { "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": "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", @@ -30076,14 +30145,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Personalize::Solution" + "AWS::Lambda::Url" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Personalize::Solution. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-solution.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-personalize-solution.json" + "$ref": "resources/aws-lambda-url.json" } }, "required": [ @@ -30097,9 +30166,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Model": { + "AWS_AppMesh_Route": { "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": "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", @@ -30107,18 +30176,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Model" + "AWS::AppMesh::Route" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Model \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.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-sagemaker-model.json" + "$ref": "resources/aws-appmesh-route.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30127,9 +30197,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Space": { + "AWS_QuickSight_Theme": { "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": "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", @@ -30137,14 +30207,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Space" + "AWS::QuickSight::Theme" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Space \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-space.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-sagemaker-space.json" + "$ref": "resources/aws-quicksight-theme.json" } }, "required": [ @@ -30158,9 +30228,9 @@ ], "additionalProperties": false }, - "AWS_Connect_ViewVersion": { + "AWS_SageMaker_MonitoringSchedule": { "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::SageMaker::MonitoringSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html)", "allOf": [ { "type": "object", @@ -30168,14 +30238,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::ViewVersion" + "AWS::SageMaker::MonitoringSchedule" ], "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::SageMaker::MonitoringSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-viewversion.json" + "$ref": "resources/aws-sagemaker-monitoringschedule.json" } }, "required": [ @@ -30189,9 +30259,9 @@ ], "additionalProperties": false }, - "AWS_CE_AnomalyMonitor": { + "AWS_SSMContacts_Contact": { "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 Type definition for AWS::SSMContacts::Contact \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contact.html)", "allOf": [ { "type": "object", @@ -30199,14 +30269,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CE::AnomalyMonitor" + "AWS::SSMContacts::Contact" ], "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 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-ce-anomalymonitor.json" + "$ref": "resources/aws-ssmcontacts-contact.json" } }, "required": [ @@ -30220,9 +30290,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Crawler": { + "AWS_NimbleStudio_Studio": { "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": "Represents a studio that contains other Nimble Studio resources \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studio.html)", "allOf": [ { "type": "object", @@ -30230,14 +30300,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Crawler" + "AWS::NimbleStudio::Studio" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Crawler \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html)" + "Represents a studio that contains other Nimble Studio resources \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studio.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-crawler.json" + "$ref": "resources/aws-nimblestudio-studio.json" } }, "required": [ @@ -30251,9 +30321,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_Macro": { + "AWS_FSx_Volume": { "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::FSx::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html)", "allOf": [ { "type": "object", @@ -30261,14 +30331,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::Macro" + "AWS::FSx::Volume" ], "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::FSx::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-macro.json" + "$ref": "resources/aws-fsx-volume.json" } }, "required": [ @@ -30282,9 +30352,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_LoadBalancerTlsCertificate": { + "AWS_ElastiCache_UserGroup": { "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::ElastiCache::UserGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html)", "allOf": [ { "type": "object", @@ -30292,14 +30362,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::LoadBalancerTlsCertificate" + "AWS::ElastiCache::UserGroup" ], "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::ElastiCache::UserGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-loadbalancertlscertificate.json" + "$ref": "resources/aws-elasticache-usergroup.json" } }, "required": [ @@ -30313,9 +30383,9 @@ ], "additionalProperties": false }, - "AWS_KMS_Key": { + "AWS_Route53_RecordSet": { "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": "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", @@ -30323,18 +30393,19 @@ "Type": { "type": "string", "enum": [ - "AWS::KMS::Key" + "AWS::Route53::RecordSet" ], "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)" + "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-kms-key.json" + "$ref": "resources/aws-route53-recordset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30373,9 +30444,9 @@ ], "additionalProperties": false }, - "AWS_IAM_ServerCertificate": { + "AWS_Bedrock_Guardrail": { "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": "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", @@ -30383,18 +30454,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::ServerCertificate" + "AWS::Bedrock::Guardrail" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::ServerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.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-iam-servercertificate.json" + "$ref": "resources/aws-bedrock-guardrail.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30403,9 +30475,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_LicenseEndpoint": { + "AWS_RefactorSpaces_Application": { "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": "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", @@ -30413,14 +30485,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::LicenseEndpoint" + "AWS::RefactorSpaces::Application" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::LicenseEndpoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.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-deadline-licenseendpoint.json" + "$ref": "resources/aws-refactorspaces-application.json" } }, "required": [ @@ -30434,9 +30506,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_InferenceExperiment": { + "AWS_AppStream_Application": { "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::AppStream::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html)", "allOf": [ { "type": "object", @@ -30444,14 +30516,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::InferenceExperiment" + "AWS::AppStream::Application" ], "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::AppStream::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-inferenceexperiment.json" + "$ref": "resources/aws-appstream-application.json" } }, "required": [ @@ -30465,9 +30537,9 @@ ], "additionalProperties": false }, - "AWS_DAX_ParameterGroup": { + "AWS_PinpointEmail_ConfigurationSet": { "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::PinpointEmail::ConfigurationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html)", "allOf": [ { "type": "object", @@ -30475,18 +30547,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DAX::ParameterGroup" + "AWS::PinpointEmail::ConfigurationSet" ], "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::PinpointEmail::ConfigurationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html)" ] }, "Properties": { - "$ref": "resources/aws-dax-parametergroup.json" + "$ref": "resources/aws-pinpointemail-configurationset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30495,9 +30568,9 @@ ], "additionalProperties": false }, - "AWS_S3Express_BucketPolicy": { + "AWS_EC2_VPC": { "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": "Specifies a virtual private cloud (VPC).\n You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).\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", @@ -30505,19 +30578,18 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Express::BucketPolicy" + "AWS::EC2::VPC" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::S3Express::BucketPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html)" + "Specifies a virtual private cloud (VPC).\n You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).\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-s3express-bucketpolicy.json" + "$ref": "resources/aws-ec2-vpc.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -30526,9 +30598,9 @@ ], "additionalProperties": false }, - "AWS_EFS_AccessPoint": { + "AWS_VpcLattice_ServiceNetworkVpcAssociation": { "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": "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", @@ -30536,19 +30608,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EFS::AccessPoint" + "AWS::VpcLattice::ServiceNetworkVpcAssociation" ], "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)" + "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-efs-accesspoint.json" + "$ref": "resources/aws-vpclattice-servicenetworkvpcassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -30557,9 +30628,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAM": { + "AWS_IoTTwinMaker_Entity": { "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 schema for AWS::IoTTwinMaker::Entity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-entity.html)", "allOf": [ { "type": "object", @@ -30567,18 +30638,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAM" + "AWS::IoTTwinMaker::Entity" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAM Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html)" + "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-ec2-ipam.json" + "$ref": "resources/aws-iottwinmaker-entity.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30587,9 +30659,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_Fleet": { + "AWS_EC2_VPNConnectionRoute": { "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::EC2::VPNConnectionRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.html)", "allOf": [ { "type": "object", @@ -30597,14 +30669,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::Fleet" + "AWS::EC2::VPNConnectionRoute" ], "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::EC2::VPNConnectionRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-fleet.json" + "$ref": "resources/aws-ec2-vpnconnectionroute.json" } }, "required": [ @@ -30618,9 +30690,9 @@ ], "additionalProperties": false }, - "AWS_EC2_CarrierGateway": { + "AWS_DataSync_LocationFSxOpenZFS": { "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": "Resource schema for AWS::DataSync::LocationFSxOpenZFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html)", "allOf": [ { "type": "object", @@ -30628,14 +30700,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::CarrierGateway" + "AWS::DataSync::LocationFSxOpenZFS" ], "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)" + "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-ec2-carriergateway.json" + "$ref": "resources/aws-datasync-locationfsxopenzfs.json" } }, "required": [ @@ -30649,9 +30721,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_Insight": { + "AWS_EC2_SecurityGroup": { "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::EC2::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html)", "allOf": [ { "type": "object", @@ -30659,14 +30731,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::Insight" + "AWS::EC2::SecurityGroup" ], "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::EC2::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-insight.json" + "$ref": "resources/aws-ec2-securitygroup.json" } }, "required": [ @@ -30680,9 +30752,9 @@ ], "additionalProperties": false }, - "AWS_ACMPCA_Permission": { + "AWS_IoTWireless_Destination": { "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": "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", @@ -30690,14 +30762,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ACMPCA::Permission" + "AWS::IoTWireless::Destination" ], "markdownEnumDescriptions": [ - "Permission set on private certificate authority \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html)" + "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-acmpca-permission.json" + "$ref": "resources/aws-iotwireless-destination.json" } }, "required": [ @@ -30711,9 +30783,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_TrustStore": { + "AWS_Cassandra_Table": { "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": "Resource schema for AWS::Cassandra::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html)", "allOf": [ { "type": "object", @@ -30721,18 +30793,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::TrustStore" + "AWS::Cassandra::Table" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.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-elasticloadbalancingv2-truststore.json" + "$ref": "resources/aws-cassandra-table.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30741,9 +30814,9 @@ ], "additionalProperties": false }, - "AWS_SecretsManager_RotationSchedule": { + "AWS_Connect_InstanceStorageConfig": { "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": "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", @@ -30751,14 +30824,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecretsManager::RotationSchedule" + "AWS::Connect::InstanceStorageConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecretsManager::RotationSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.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-secretsmanager-rotationschedule.json" + "$ref": "resources/aws-connect-instancestorageconfig.json" } }, "required": [ @@ -30772,9 +30845,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_RegexPatternSet": { + "AWS_WAFv2_WebACLAssociation": { "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": "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", @@ -30782,14 +30855,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::RegexPatternSet" + "AWS::WAFv2::WebACLAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::RegexPatternSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html)" + "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-wafregional-regexpatternset.json" + "$ref": "resources/aws-wafv2-webaclassociation.json" } }, "required": [ @@ -30803,9 +30876,9 @@ ], "additionalProperties": false }, - "AWS_CodeDeploy_DeploymentGroup": { + "AWS_SageMaker_DataQualityJobDefinition": { "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": "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", @@ -30813,14 +30886,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeDeploy::DeploymentGroup" + "AWS::SageMaker::DataQualityJobDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeDeploy::DeploymentGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)" + "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-codedeploy-deploymentgroup.json" + "$ref": "resources/aws-sagemaker-dataqualityjobdefinition.json" } }, "required": [ @@ -30834,9 +30907,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Stage": { + "AWS_Organizations_Organization": { "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 schema for AWS::Organizations::Organization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organization.html)", "allOf": [ { "type": "object", @@ -30844,19 +30917,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Stage" + "AWS::Organizations::Organization" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ApiGatewayV2::Stage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.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-apigatewayv2-stage.json" + "$ref": "resources/aws-organizations-organization.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -30865,9 +30937,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_TransitGatewayRegistration": { + "AWS_SES_Template": { "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": "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", @@ -30875,19 +30947,18 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::TransitGatewayRegistration" + "AWS::SES::Template" ], "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)" + "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-networkmanager-transitgatewayregistration.json" + "$ref": "resources/aws-ses-template.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -30896,9 +30967,9 @@ ], "additionalProperties": false }, - "AWS_FSx_FileSystem": { + "AWS_ServiceCatalog_TagOption": { "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::ServiceCatalog::TagOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html)", "allOf": [ { "type": "object", @@ -30906,14 +30977,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::FileSystem" + "AWS::ServiceCatalog::TagOption" ], "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::ServiceCatalog::TagOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html)" ] }, "Properties": { - "$ref": "resources/aws-fsx-filesystem.json" + "$ref": "resources/aws-servicecatalog-tagoption.json" } }, "required": [ @@ -30927,9 +30998,9 @@ ], "additionalProperties": false }, - "AWS_Events_Rule": { + "AWS_Backup_BackupPlan": { "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::Backup::BackupPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html)", "allOf": [ { "type": "object", @@ -30937,18 +31008,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::Rule" + "AWS::Backup::BackupPlan" ], "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::Backup::BackupPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html)" ] }, "Properties": { - "$ref": "resources/aws-events-rule.json" + "$ref": "resources/aws-backup-backupplan.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30957,9 +31029,9 @@ ], "additionalProperties": false }, - "AWS_Glue_MLTransform": { + "AWS_ElastiCache_CacheCluster": { "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": "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", @@ -30967,14 +31039,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::MLTransform" + "AWS::ElastiCache::CacheCluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::MLTransform \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.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-glue-mltransform.json" + "$ref": "resources/aws-elasticache-cachecluster.json" } }, "required": [ @@ -30988,9 +31060,9 @@ ], "additionalProperties": false }, - "AWS_IAM_OIDCProvider": { + "AWS_ACMPCA_Certificate": { "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": "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", @@ -30998,14 +31070,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::OIDCProvider" + "AWS::ACMPCA::Certificate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::OIDCProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.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-iam-oidcprovider.json" + "$ref": "resources/aws-acmpca-certificate.json" } }, "required": [ @@ -31019,9 +31091,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_DomainName": { + "AWS_CloudFront_RealtimeLogConfig": { "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::CloudFront::RealtimeLogConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html)", "allOf": [ { "type": "object", @@ -31029,14 +31101,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::DomainName" + "AWS::CloudFront::RealtimeLogConfig" ], "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::CloudFront::RealtimeLogConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-domainname.json" + "$ref": "resources/aws-cloudfront-realtimelogconfig.json" } }, "required": [ @@ -31050,9 +31122,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_LaunchNotificationConstraint": { + "AWS_Elasticsearch_Domain": { "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": "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", @@ -31060,19 +31132,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::LaunchNotificationConstraint" + "AWS::Elasticsearch::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::LaunchNotificationConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.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-launchnotificationconstraint.json" + "$ref": "resources/aws-elasticsearch-domain.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -31081,9 +31152,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SubnetNetworkAclAssociation": { + "AWS_FIS_ExperimentTemplate": { "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 schema for AWS::FIS::ExperimentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html)", "allOf": [ { "type": "object", @@ -31091,14 +31162,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" + "AWS::FIS::ExperimentTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SubnetNetworkAclAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetnetworkaclassociation.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-ec2-subnetnetworkaclassociation.json" + "$ref": "resources/aws-fis-experimenttemplate.json" } }, "required": [ @@ -31112,9 +31183,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_OrganizationalUnit": { + "AWS_EC2_VerifiedAccessEndpoint": { "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": "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", @@ -31122,14 +31193,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::OrganizationalUnit" + "AWS::EC2::VerifiedAccessEndpoint" ], "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)" + "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-organizations-organizationalunit.json" + "$ref": "resources/aws-ec2-verifiedaccessendpoint.json" } }, "required": [ @@ -31143,9 +31214,9 @@ ], "additionalProperties": false }, - "AWS_VerifiedPermissions_PolicyTemplate": { + "AWS_IoT_ProvisioningTemplate": { "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": "Creates a fleet provisioning template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html)", "allOf": [ { "type": "object", @@ -31153,14 +31224,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VerifiedPermissions::PolicyTemplate" + "AWS::IoT::ProvisioningTemplate" ], "markdownEnumDescriptions": [ - "Definition of AWS::VerifiedPermissions::PolicyTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policytemplate.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-verifiedpermissions-policytemplate.json" + "$ref": "resources/aws-iot-provisioningtemplate.json" } }, "required": [ @@ -31174,9 +31245,9 @@ ], "additionalProperties": false }, - "AWS_Connect_Rule": { + "AWS_Greengrass_Group": { "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::Greengrass::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html)", "allOf": [ { "type": "object", @@ -31184,14 +31255,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::Rule" + "AWS::Greengrass::Group" ], "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::Greengrass::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-rule.json" + "$ref": "resources/aws-greengrass-group.json" } }, "required": [ @@ -31205,9 +31276,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Route": { + "AWS_DataZone_DataSource": { "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": "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", @@ -31215,14 +31286,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Route" + "AWS::DataZone::DataSource" ], "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)" + "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-ec2-route.json" + "$ref": "resources/aws-datazone-datasource.json" } }, "required": [ @@ -31236,9 +31307,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Endpoint": { + "AWS_ServiceDiscovery_HttpNamespace": { "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": "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", @@ -31246,14 +31317,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Endpoint" + "AWS::ServiceDiscovery::HttpNamespace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.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-endpoint.json" + "$ref": "resources/aws-servicediscovery-httpnamespace.json" } }, "required": [ @@ -31267,9 +31338,9 @@ ], "additionalProperties": false }, - "AWS_WAF_ByteMatchSet": { + "AWS_Glue_SchemaVersionMetadata": { "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": "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", @@ -31277,14 +31348,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::ByteMatchSet" + "AWS::Glue::SchemaVersionMetadata" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.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-waf-bytematchset.json" + "$ref": "resources/aws-glue-schemaversionmetadata.json" } }, "required": [ @@ -31298,9 +31369,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TrafficMirrorSession": { + "AWS_Connect_QuickConnect": { "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::Connect::QuickConnect \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-quickconnect.html)", "allOf": [ { "type": "object", @@ -31308,14 +31379,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TrafficMirrorSession" + "AWS::Connect::QuickConnect" ], "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::Connect::QuickConnect \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-quickconnect.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-trafficmirrorsession.json" + "$ref": "resources/aws-connect-quickconnect.json" } }, "required": [ @@ -31329,9 +31400,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_TagAssociation": { + "AWS_VpcLattice_ServiceNetworkServiceAssociation": { "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": "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", @@ -31339,19 +31410,18 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::TagAssociation" + "AWS::VpcLattice::ServiceNetworkServiceAssociation" ], "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)" + "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-lakeformation-tagassociation.json" + "$ref": "resources/aws-vpclattice-servicenetworkserviceassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -31360,9 +31430,9 @@ ], "additionalProperties": false }, - "AWS_HealthLake_FHIRDatastore": { + "AWS_BackupGateway_Hypervisor": { "type": "object", - "markdownDescription": "HealthLake FHIR Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.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", @@ -31370,19 +31440,18 @@ "Type": { "type": "string", "enum": [ - "AWS::HealthLake::FHIRDatastore" + "AWS::BackupGateway::Hypervisor" ], "markdownEnumDescriptions": [ - "HealthLake FHIR Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.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-healthlake-fhirdatastore.json" + "$ref": "resources/aws-backupgateway-hypervisor.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -31391,9 +31460,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_App": { + "AWS_CustomerProfiles_Domain": { "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": "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", @@ -31401,14 +31470,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::App" + "AWS::CustomerProfiles::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.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-opsworks-app.json" + "$ref": "resources/aws-customerprofiles-domain.json" } }, "required": [ @@ -31422,9 +31491,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_Asset": { + "AWS_Transfer_Workflow": { "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::Transfer::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-workflow.html)", "allOf": [ { "type": "object", @@ -31432,14 +31501,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::Asset" + "AWS::Transfer::Workflow" ], "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::Transfer::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-workflow.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackage-asset.json" + "$ref": "resources/aws-transfer-workflow.json" } }, "required": [ @@ -31453,9 +31522,9 @@ ], "additionalProperties": false }, - "AWS_Lex_BotAlias": { + "AWS_OSIS_Pipeline": { "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": "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", @@ -31463,14 +31532,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lex::BotAlias" + "AWS::OSIS::Pipeline" ], "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)" + "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-lex-botalias.json" + "$ref": "resources/aws-osis-pipeline.json" } }, "required": [ @@ -31484,9 +31553,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_WirelessDevice": { + "AWS_ServiceCatalog_ServiceAction": { "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": "Resource Schema for AWS::ServiceCatalog::ServiceAction \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html)", "allOf": [ { "type": "object", @@ -31494,14 +31563,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::WirelessDevice" + "AWS::ServiceCatalog::ServiceAction" ], "markdownEnumDescriptions": [ - "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.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-iotwireless-wirelessdevice.json" + "$ref": "resources/aws-servicecatalog-serviceaction.json" } }, "required": [ @@ -31515,9 +31584,9 @@ ], "additionalProperties": false }, - "AWS_Glue_SchemaVersionMetadata": { + "AWS_ECR_ReplicationConfiguration": { "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": "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", @@ -31525,14 +31594,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::SchemaVersionMetadata" + "AWS::ECR::ReplicationConfiguration" ], "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)" + "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-glue-schemaversionmetadata.json" + "$ref": "resources/aws-ecr-replicationconfiguration.json" } }, "required": [ @@ -31546,9 +31615,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_RegexPatternSet": { + "AWS_Amplify_App": { "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": "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", @@ -31556,14 +31625,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::RegexPatternSet" + "AWS::Amplify::App" ], "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)" + "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-wafv2-regexpatternset.json" + "$ref": "resources/aws-amplify-app.json" } }, "required": [ @@ -31577,9 +31646,9 @@ ], "additionalProperties": false }, - "AWS_BillingConductor_BillingGroup": { + "AWS_EC2_SubnetNetworkAclAssociation": { "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": "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", @@ -31587,14 +31656,14 @@ "Type": { "type": "string", "enum": [ - "AWS::BillingConductor::BillingGroup" + "AWS::EC2::SubnetNetworkAclAssociation" ], "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)" + "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-billingconductor-billinggroup.json" + "$ref": "resources/aws-ec2-subnetnetworkaclassociation.json" } }, "required": [ @@ -31608,9 +31677,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Schema": { + "AWS_EC2_LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { "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": "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", @@ -31618,14 +31687,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Schema" + "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation" ], "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)" + "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-glue-schema.json" + "$ref": "resources/aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json" } }, "required": [ @@ -31639,9 +31708,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_Gateway": { + "AWS_Batch_JobDefinition": { "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::Batch::JobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html)", "allOf": [ { "type": "object", @@ -31649,14 +31718,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::Gateway" + "AWS::Batch::JobDefinition" ], "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::Batch::JobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-gateway.json" + "$ref": "resources/aws-batch-jobdefinition.json" } }, "required": [ @@ -31670,9 +31739,9 @@ ], "additionalProperties": false }, - "AWS_Shield_ProactiveEngagement": { + "AWS_AppConfig_HostedConfigurationVersion": { "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::AppConfig::HostedConfigurationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html)", "allOf": [ { "type": "object", @@ -31680,14 +31749,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Shield::ProactiveEngagement" + "AWS::AppConfig::HostedConfigurationVersion" ], "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::AppConfig::HostedConfigurationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html)" ] }, "Properties": { - "$ref": "resources/aws-shield-proactiveengagement.json" + "$ref": "resources/aws-appconfig-hostedconfigurationversion.json" } }, "required": [ @@ -31701,9 +31770,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_Entity": { + "AWS_WAF_SizeConstraintSet": { "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": "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", @@ -31711,14 +31780,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::Entity" + "AWS::WAF::SizeConstraintSet" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::Entity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-entity.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-iottwinmaker-entity.json" + "$ref": "resources/aws-waf-sizeconstraintset.json" } }, "required": [ @@ -31732,9 +31801,9 @@ ], "additionalProperties": false }, - "AWS_Config_ConfigRule": { + "AWS_MediaLive_Multiplex": { "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": "Resource schema for AWS::MediaLive::Multiplex \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplex.html)", "allOf": [ { "type": "object", @@ -31742,14 +31811,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::ConfigRule" + "AWS::MediaLive::Multiplex" ], "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)" + "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-config-configrule.json" + "$ref": "resources/aws-medialive-multiplex.json" } }, "required": [ @@ -31763,9 +31832,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationFSxONTAP": { + "AWS_WorkSpacesWeb_NetworkSettings": { "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": "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", @@ -31773,14 +31842,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationFSxONTAP" + "AWS::WorkSpacesWeb::NetworkSettings" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationFSxONTAP. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxontap.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-datasync-locationfsxontap.json" + "$ref": "resources/aws-workspacesweb-networksettings.json" } }, "required": [ @@ -31794,9 +31863,9 @@ ], "additionalProperties": false }, - "AWS_Connect_User": { + "AWS_FIS_TargetAccountConfiguration": { "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 schema for AWS::FIS::TargetAccountConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html)", "allOf": [ { "type": "object", @@ -31804,14 +31873,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::User" + "AWS::FIS::TargetAccountConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-user.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-connect-user.json" + "$ref": "resources/aws-fis-targetaccountconfiguration.json" } }, "required": [ @@ -31825,9 +31894,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_PlaybackConfiguration": { + "AWS_Greengrass_GroupVersion": { "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 Type definition for AWS::Greengrass::GroupVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html)", "allOf": [ { "type": "object", @@ -31835,14 +31904,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::PlaybackConfiguration" + "AWS::Greengrass::GroupVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaTailor::PlaybackConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.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-mediatailor-playbackconfiguration.json" + "$ref": "resources/aws-greengrass-groupversion.json" } }, "required": [ @@ -31856,9 +31925,9 @@ ], "additionalProperties": false }, - "AWS_CodeBuild_SourceCredential": { + "AWS_Evidently_Segment": { "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": "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", @@ -31866,14 +31935,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeBuild::SourceCredential" + "AWS::Evidently::Segment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeBuild::SourceCredential \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.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-codebuild-sourcecredential.json" + "$ref": "resources/aws-evidently-segment.json" } }, "required": [ @@ -31887,9 +31956,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Alarm": { + "AWS_ElastiCache_SecurityGroup": { "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::ElastiCache::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroup.html)", "allOf": [ { "type": "object", @@ -31897,14 +31966,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Alarm" + "AWS::ElastiCache::SecurityGroup" ], "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::ElastiCache::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-alarm.json" + "$ref": "resources/aws-elasticache-securitygroup.json" } }, "required": [ @@ -31918,9 +31987,9 @@ ], "additionalProperties": false }, - "AWS_SimSpaceWeaver_Simulation": { + "AWS_MSK_VpcConnection": { "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": "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", @@ -31928,14 +31997,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SimSpaceWeaver::Simulation" + "AWS::MSK::VpcConnection" ], "markdownEnumDescriptions": [ - "AWS::SimSpaceWeaver::Simulation resource creates an AWS Simulation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-simspaceweaver-simulation.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-simspaceweaver-simulation.json" + "$ref": "resources/aws-msk-vpcconnection.json" } }, "required": [ @@ -31949,9 +32018,9 @@ ], "additionalProperties": false }, - "AWS_ManagedBlockchain_Member": { + "AWS_MSK_Replicator": { "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::MSK::Replicator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-replicator.html)", "allOf": [ { "type": "object", @@ -31959,14 +32028,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ManagedBlockchain::Member" + "AWS::MSK::Replicator" ], "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::MSK::Replicator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-replicator.html)" ] }, "Properties": { - "$ref": "resources/aws-managedblockchain-member.json" + "$ref": "resources/aws-msk-replicator.json" } }, "required": [ @@ -31980,9 +32049,9 @@ ], "additionalProperties": false }, - "AWS_StepFunctions_StateMachine": { + "AWS_QuickSight_Analysis": { "type": "object", - "markdownDescription": "Resource schema for StateMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.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", @@ -31990,14 +32059,14 @@ "Type": { "type": "string", "enum": [ - "AWS::StepFunctions::StateMachine" + "AWS::QuickSight::Analysis" ], "markdownEnumDescriptions": [ - "Resource schema for StateMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.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-stepfunctions-statemachine.json" + "$ref": "resources/aws-quicksight-analysis.json" } }, "required": [ @@ -32011,9 +32080,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_Campaign": { + "AWS_EMR_Studio": { "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": "Resource schema for AWS::EMR::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html)", "allOf": [ { "type": "object", @@ -32021,14 +32090,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::Campaign" + "AWS::EMR::Studio" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::Campaign \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.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-pinpoint-campaign.json" + "$ref": "resources/aws-emr-studio.json" } }, "required": [ @@ -32042,9 +32111,9 @@ ], "additionalProperties": false }, - "AWS_KMS_ReplicaKey": { + "AWS_Connect_RoutingProfile": { "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::Connect::RoutingProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-routingprofile.html)", "allOf": [ { "type": "object", @@ -32052,14 +32121,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KMS::ReplicaKey" + "AWS::Connect::RoutingProfile" ], "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::Connect::RoutingProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-routingprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-kms-replicakey.json" + "$ref": "resources/aws-connect-routingprofile.json" } }, "required": [ @@ -32073,9 +32142,9 @@ ], "additionalProperties": false }, - "AWS_Connect_SecurityProfile": { + "AWS_AmplifyUIBuilder_Theme": { "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": "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", @@ -32083,19 +32152,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::SecurityProfile" + "AWS::AmplifyUIBuilder::Theme" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::SecurityProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.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-connect-securityprofile.json" + "$ref": "resources/aws-amplifyuibuilder-theme.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -32104,9 +32172,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Trigger": { + "AWS_IoT1Click_Device": { "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 Type definition for AWS::IoT1Click::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html)", "allOf": [ { "type": "object", @@ -32114,14 +32182,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Trigger" + "AWS::IoT1Click::Device" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Trigger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html)" + "Resource Type definition for AWS::IoT1Click::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-trigger.json" + "$ref": "resources/aws-iot1click-device.json" } }, "required": [ @@ -32135,9 +32203,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_Task": { + "AWS_Chatbot_SlackChannelConfiguration": { "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::Chatbot::SlackChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html)", "allOf": [ { "type": "object", @@ -32145,14 +32213,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::Task" + "AWS::Chatbot::SlackChannelConfiguration" ], "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::Chatbot::SlackChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-task.json" + "$ref": "resources/aws-chatbot-slackchannelconfiguration.json" } }, "required": [ @@ -32166,9 +32234,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInsightsPath": { + "AWS_GameLift_Location": { "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": "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", @@ -32176,14 +32244,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInsightsPath" + "AWS::GameLift::Location" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EC2::NetworkInsightsPath \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.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-networkinsightspath.json" + "$ref": "resources/aws-gamelift-location.json" } }, "required": [ @@ -32197,9 +32265,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_Robot": { + "AWS_Macie_Session": { "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::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", @@ -32207,19 +32275,18 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::Robot" + "AWS::Macie::Session" ], "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::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-robomaker-robot.json" + "$ref": "resources/aws-macie-session.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -32228,9 +32295,9 @@ ], "additionalProperties": false }, - "AWS_SNS_TopicInlinePolicy": { + "AWS_Deadline_QueueEnvironment": { "type": "object", - "markdownDescription": "Schema for AWS::SNS::TopicInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.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", @@ -32238,14 +32305,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SNS::TopicInlinePolicy" + "AWS::Deadline::QueueEnvironment" ], "markdownEnumDescriptions": [ - "Schema for AWS::SNS::TopicInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.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-sns-topicinlinepolicy.json" + "$ref": "resources/aws-deadline-queueenvironment.json" } }, "required": [ @@ -32259,9 +32326,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_InsightRule": { + "AWS_ApiGateway_Model": { "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": "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", @@ -32269,14 +32336,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::InsightRule" + "AWS::ApiGateway::Model" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudWatch::InsightRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.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-cloudwatch-insightrule.json" + "$ref": "resources/aws-apigateway-model.json" } }, "required": [ @@ -32290,9 +32357,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationAzureBlob": { + "AWS_CloudFormation_ResourceVersion": { "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": "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", @@ -32300,14 +32367,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationAzureBlob" + "AWS::CloudFormation::ResourceVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationAzureBlob. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.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-datasync-locationazureblob.json" + "$ref": "resources/aws-cloudformation-resourceversion.json" } }, "required": [ @@ -32321,9 +32388,9 @@ ], "additionalProperties": false }, - "AWS_PaymentCryptography_Key": { + "AWS_Greengrass_ConnectorDefinitionVersion": { "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": "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", @@ -32331,14 +32398,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PaymentCryptography::Key" + "AWS::Greengrass::ConnectorDefinitionVersion" ], "markdownEnumDescriptions": [ - "Definition of AWS::PaymentCryptography::Key Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-key.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-paymentcryptography-key.json" + "$ref": "resources/aws-greengrass-connectordefinitionversion.json" } }, "required": [ @@ -32352,9 +32419,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_WebACL": { + "AWS_WorkSpacesWeb_TrustStore": { "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": "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", @@ -32362,14 +32429,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::WebACL" + "AWS::WorkSpacesWeb::TrustStore" ], "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)" + "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-wafv2-webacl.json" + "$ref": "resources/aws-workspacesweb-truststore.json" } }, "required": [ @@ -32383,9 +32450,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_StackSetConstraint": { + "AWS_PinpointEmail_DedicatedIpPool": { "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::PinpointEmail::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html)", "allOf": [ { "type": "object", @@ -32393,19 +32460,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::StackSetConstraint" + "AWS::PinpointEmail::DedicatedIpPool" ], "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::PinpointEmail::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-stacksetconstraint.json" + "$ref": "resources/aws-pinpointemail-dedicatedippool.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -32414,9 +32480,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_SecurityGroupIngress": { + "AWS_CloudFront_OriginRequestPolicy": { "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::CloudFront::OriginRequestPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html)", "allOf": [ { "type": "object", @@ -32424,14 +32490,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" + "AWS::CloudFront::OriginRequestPolicy" ], "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::CloudFront::OriginRequestPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-securitygroupingress.json" + "$ref": "resources/aws-cloudfront-originrequestpolicy.json" } }, "required": [ @@ -32445,9 +32511,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_Master": { + "AWS_NimbleStudio_StudioComponent": { "type": "object", - "markdownDescription": "GuardDuty Master resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html)", + "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)", "allOf": [ { "type": "object", @@ -32455,14 +32521,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::Master" + "AWS::NimbleStudio::StudioComponent" ], "markdownEnumDescriptions": [ - "GuardDuty Master resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html)" + "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)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-master.json" + "$ref": "resources/aws-nimblestudio-studiocomponent.json" } }, "required": [ @@ -32476,9 +32542,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Database": { + "AWS_Pinpoint_PushTemplate": { "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::Pinpoint::PushTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html)", "allOf": [ { "type": "object", @@ -32486,14 +32552,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Database" + "AWS::Pinpoint::PushTemplate" ], "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::Pinpoint::PushTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-database.json" + "$ref": "resources/aws-pinpoint-pushtemplate.json" } }, "required": [ @@ -32507,9 +32573,9 @@ ], "additionalProperties": false }, - "AWS_S3_AccessGrantsInstance": { + "AWS_Logs_Delivery": { "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": "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", @@ -32517,18 +32583,19 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::AccessGrantsInstance" + "AWS::Logs::Delivery" ], "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)" + "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-s3-accessgrantsinstance.json" + "$ref": "resources/aws-logs-delivery.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -32537,9 +32604,9 @@ ], "additionalProperties": false }, - "AWS_SSO_Assignment": { + "AWS_IoTWireless_DeviceProfile": { "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": "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", @@ -32547,19 +32614,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::Assignment" + "AWS::IoTWireless::DeviceProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for SSO assignmet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.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-sso-assignment.json" + "$ref": "resources/aws-iotwireless-deviceprofile.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -32568,9 +32634,9 @@ ], "additionalProperties": false }, - "AWS_FIS_TargetAccountConfiguration": { + "AWS_IAM_ManagedPolicy": { "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": "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", @@ -32578,14 +32644,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FIS::TargetAccountConfiguration" + "AWS::IAM::ManagedPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::FIS::TargetAccountConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.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-fis-targetaccountconfiguration.json" + "$ref": "resources/aws-iam-managedpolicy.json" } }, "required": [ @@ -32599,9 +32665,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Dashboard": { + "AWS_AppIntegrations_DataIntegration": { "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 Type definition for AWS::AppIntegrations::DataIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html)", "allOf": [ { "type": "object", @@ -32609,14 +32675,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Dashboard" + "AWS::AppIntegrations::DataIntegration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.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-iotsitewise-dashboard.json" + "$ref": "resources/aws-appintegrations-dataintegration.json" } }, "required": [ @@ -32630,9 +32696,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolUser": { + "AWS_DMS_ReplicationInstance": { "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": "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", @@ -32640,14 +32706,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolUser" + "AWS::DMS::ReplicationInstance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolUser \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.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-cognito-userpooluser.json" + "$ref": "resources/aws-dms-replicationinstance.json" } }, "required": [ @@ -32661,9 +32727,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SpotFleet": { + "AWS_Greengrass_DeviceDefinition": { "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": "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", @@ -32671,14 +32737,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SpotFleet" + "AWS::Greengrass::DeviceDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SpotFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.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-ec2-spotfleet.json" + "$ref": "resources/aws-greengrass-devicedefinition.json" } }, "required": [ @@ -32692,9 +32758,9 @@ ], "additionalProperties": false }, - "AWS_Pipes_Pipe": { + "AWS_ImageBuilder_InfrastructureConfiguration": { "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 schema for AWS::ImageBuilder::InfrastructureConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html)", "allOf": [ { "type": "object", @@ -32702,14 +32768,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pipes::Pipe" + "AWS::ImageBuilder::InfrastructureConfiguration" ], "markdownEnumDescriptions": [ - "Definition of AWS::Pipes::Pipe Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pipes-pipe.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-pipes-pipe.json" + "$ref": "resources/aws-imagebuilder-infrastructureconfiguration.json" } }, "required": [ @@ -32723,9 +32789,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_ModuleVersion": { + "AWS_KinesisAnalytics_ApplicationOutput": { "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::KinesisAnalytics::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html)", "allOf": [ { "type": "object", @@ -32733,14 +32799,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::ModuleVersion" + "AWS::KinesisAnalytics::ApplicationOutput" ], "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::KinesisAnalytics::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-moduleversion.json" + "$ref": "resources/aws-kinesisanalytics-applicationoutput.json" } }, "required": [ @@ -32754,9 +32820,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalyticsV2_ApplicationReferenceDataSource": { + "AWS_IoTFleetWise_Campaign": { "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": "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", @@ -32764,14 +32830,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" + "AWS::IoTFleetWise::Campaign" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.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-kinesisanalyticsv2-applicationreferencedatasource.json" + "$ref": "resources/aws-iotfleetwise-campaign.json" } }, "required": [ @@ -32785,9 +32851,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LocalGatewayRouteTableVPCAssociation": { + "AWS_MemoryDB_User": { "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": "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", @@ -32795,14 +32861,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + "AWS::MemoryDB::User" ], "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)" + "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-ec2-localgatewayroutetablevpcassociation.json" + "$ref": "resources/aws-memorydb-user.json" } }, "required": [ @@ -32816,9 +32882,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_Tag": { + "AWS_FraudDetector_Label": { "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": "An label for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-label.html)", "allOf": [ { "type": "object", @@ -32826,14 +32892,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::Tag" + "AWS::FraudDetector::Label" ], "markdownEnumDescriptions": [ - "A resource schema representing a Lake Formation Tag. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tag.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-lakeformation-tag.json" + "$ref": "resources/aws-frauddetector-label.json" } }, "required": [ @@ -32847,9 +32913,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_UserSettings": { + "AWS_FMS_Policy": { "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": "Creates an AWS Firewall Manager policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html)", "allOf": [ { "type": "object", @@ -32857,14 +32923,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::UserSettings" + "AWS::FMS::Policy" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::UserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.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-workspacesweb-usersettings.json" + "$ref": "resources/aws-fms-policy.json" } }, "required": [ @@ -32878,9 +32944,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolResourceServer": { + "AWS_Detective_OrganizationAdmin": { "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": "Resource schema for AWS::Detective::OrganizationAdmin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html)", "allOf": [ { "type": "object", @@ -32888,14 +32954,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolResourceServer" + "AWS::Detective::OrganizationAdmin" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolResourceServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.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-cognito-userpoolresourceserver.json" + "$ref": "resources/aws-detective-organizationadmin.json" } }, "required": [ @@ -32909,9 +32975,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_ConnectPeer": { + "AWS_Connect_View": { "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": "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", @@ -32919,14 +32985,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::ConnectPeer" + "AWS::Connect::View" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::ConnectPeer Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectpeer.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-networkmanager-connectpeer.json" + "$ref": "resources/aws-connect-view.json" } }, "required": [ @@ -32940,9 +33006,9 @@ ], "additionalProperties": false }, - "AWS_IVSChat_LoggingConfiguration": { + "AWS_IAM_VirtualMFADevice": { "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 Type definition for AWS::IAM::VirtualMFADevice \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html)", "allOf": [ { "type": "object", @@ -32950,14 +33016,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVSChat::LoggingConfiguration" + "AWS::IAM::VirtualMFADevice" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::IVSChat::LoggingConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.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-ivschat-loggingconfiguration.json" + "$ref": "resources/aws-iam-virtualmfadevice.json" } }, "required": [ @@ -32971,9 +33037,9 @@ ], "additionalProperties": false }, - "AWS_BCMDataExports_Export": { + "AWS_RoboMaker_Robot": { "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": "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", @@ -32981,14 +33047,14 @@ "Type": { "type": "string", "enum": [ - "AWS::BCMDataExports::Export" + "AWS::RoboMaker::Robot" ], "markdownEnumDescriptions": [ - "Definition of AWS::BCMDataExports::Export Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmdataexports-export.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-bcmdataexports-export.json" + "$ref": "resources/aws-robomaker-robot.json" } }, "required": [ @@ -33002,9 +33068,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_OutpostResolver": { + "AWS_VerifiedPermissions_PolicyStore": { "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": "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", @@ -33012,14 +33078,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::OutpostResolver" + "AWS::VerifiedPermissions::PolicyStore" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::OutpostResolver. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-outpostresolver.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-route53resolver-outpostresolver.json" + "$ref": "resources/aws-verifiedpermissions-policystore.json" } }, "required": [ @@ -33033,9 +33099,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_Standard": { + "AWS_Redshift_EndpointAuthorization": { "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": "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", @@ -33043,14 +33109,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::Standard" + "AWS::Redshift::EndpointAuthorization" ], "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)" + "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-securityhub-standard.json" + "$ref": "resources/aws-redshift-endpointauthorization.json" } }, "required": [ @@ -33064,9 +33130,9 @@ ], "additionalProperties": false }, - "AWS_IoTCoreDeviceAdvisor_SuiteDefinition": { + "AWS_Connect_UserHierarchyGroup": { "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": "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", @@ -33074,14 +33140,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + "AWS::Connect::UserHierarchyGroup" ], "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)" + "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-iotcoredeviceadvisor-suitedefinition.json" + "$ref": "resources/aws-connect-userhierarchygroup.json" } }, "required": [ @@ -33095,9 +33161,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Template": { + "AWS_Config_ConfigurationAggregator": { "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": "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", @@ -33105,19 +33171,18 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Template" + "AWS::Config::ConfigurationAggregator" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Template Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.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-quicksight-template.json" + "$ref": "resources/aws-config-configurationaggregator.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -33126,9 +33191,9 @@ ], "additionalProperties": false }, - "AWS_SES_DedicatedIpPool": { + "AWS_Batch_SchedulingPolicy": { "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": "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", @@ -33136,14 +33201,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::DedicatedIpPool" + "AWS::Batch::SchedulingPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.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-ses-dedicatedippool.json" + "$ref": "resources/aws-batch-schedulingpolicy.json" } }, "required": [ @@ -33156,9 +33221,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPNConnection": { + "AWS_IoTTwinMaker_Scene": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPNConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.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", @@ -33166,14 +33231,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPNConnection" + "AWS::IoTTwinMaker::Scene" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPNConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.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-ec2-vpnconnection.json" + "$ref": "resources/aws-iottwinmaker-scene.json" } }, "required": [ @@ -33187,9 +33252,9 @@ ], "additionalProperties": false }, - "AWS_SSM_MaintenanceWindowTarget": { + "AWS_Lambda_CodeSigningConfig": { "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 Type definition for AWS::Lambda::CodeSigningConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html)", "allOf": [ { "type": "object", @@ -33197,14 +33262,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::MaintenanceWindowTarget" + "AWS::Lambda::CodeSigningConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::MaintenanceWindowTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.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-ssm-maintenancewindowtarget.json" + "$ref": "resources/aws-lambda-codesigningconfig.json" } }, "required": [ @@ -33218,9 +33283,9 @@ ], "additionalProperties": false }, - "AWS_IoT_BillingGroup": { + "AWS_CloudFormation_HookDefaultVersion": { "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": "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", @@ -33228,14 +33293,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::BillingGroup" + "AWS::CloudFormation::HookDefaultVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::BillingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-billinggroup.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-iot-billinggroup.json" + "$ref": "resources/aws-cloudformation-hookdefaultversion.json" } }, "required": [ @@ -33248,9 +33313,9 @@ ], "additionalProperties": false }, - "AWS_Connect_TaskTemplate": { + "AWS_IoTEvents_Input": { "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::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)", "allOf": [ { "type": "object", @@ -33258,14 +33323,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::TaskTemplate" + "AWS::IoTEvents::Input" ], "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::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)" ] }, "Properties": { - "$ref": "resources/aws-connect-tasktemplate.json" + "$ref": "resources/aws-iotevents-input.json" } }, "required": [ @@ -33279,9 +33344,9 @@ ], "additionalProperties": false }, - "AWS_LookoutMetrics_AnomalyDetector": { + "AWS_CleanRooms_Collaboration": { "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": "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", @@ -33289,14 +33354,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LookoutMetrics::AnomalyDetector" + "AWS::CleanRooms::Collaboration" ], "markdownEnumDescriptions": [ - "An Amazon Lookout for Metrics Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-anomalydetector.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-lookoutmetrics-anomalydetector.json" + "$ref": "resources/aws-cleanrooms-collaboration.json" } }, "required": [ @@ -33310,9 +33375,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_UserGroup": { + "AWS_AmplifyUIBuilder_Form": { "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": "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", @@ -33320,19 +33385,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::UserGroup" + "AWS::AmplifyUIBuilder::Form" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::UserGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.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-elasticache-usergroup.json" + "$ref": "resources/aws-amplifyuibuilder-form.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -33341,9 +33405,9 @@ ], "additionalProperties": false }, - "AWS_Events_ApiDestination": { + "AWS_ImageBuilder_DistributionConfiguration": { "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 schema for AWS::ImageBuilder::DistributionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html)", "allOf": [ { "type": "object", @@ -33351,14 +33415,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::ApiDestination" + "AWS::ImageBuilder::DistributionConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::ApiDestination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.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-events-apidestination.json" + "$ref": "resources/aws-imagebuilder-distributionconfiguration.json" } }, "required": [ @@ -33372,9 +33436,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_IdentityPoolPrincipalTag": { + "AWS_ImageBuilder_Workflow": { "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::ImageBuilder::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html)", "allOf": [ { "type": "object", @@ -33382,14 +33446,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::IdentityPoolPrincipalTag" + "AWS::ImageBuilder::Workflow" ], "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::ImageBuilder::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-identitypoolprincipaltag.json" + "$ref": "resources/aws-imagebuilder-workflow.json" } }, "required": [ @@ -33403,9 +33467,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_Template": { + "AWS_Route53RecoveryControl_RoutingControl": { "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": "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", @@ -33413,14 +33477,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::Template" + "AWS::Route53RecoveryControl::RoutingControl" ], "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)" + "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-pcaconnectorad-template.json" + "$ref": "resources/aws-route53recoverycontrol-routingcontrol.json" } }, "required": [ @@ -33434,9 +33498,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_ResourceDefinitionVersion": { + "AWS_HealthLake_FHIRDatastore": { "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": "HealthLake FHIR Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html)", "allOf": [ { "type": "object", @@ -33444,14 +33508,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::ResourceDefinitionVersion" + "AWS::HealthLake::FHIRDatastore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::ResourceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html)" + "HealthLake FHIR Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-resourcedefinitionversion.json" + "$ref": "resources/aws-healthlake-fhirdatastore.json" } }, "required": [ @@ -33465,9 +33529,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SubnetRouteTableAssociation": { + "AWS_FraudDetector_List": { "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": "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", @@ -33475,14 +33539,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" + "AWS::FraudDetector::List" ], "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)" + "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-ec2-subnetroutetableassociation.json" + "$ref": "resources/aws-frauddetector-list.json" } }, "required": [ @@ -33496,9 +33560,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_Function": { + "AWS_SNS_TopicInlinePolicy": { "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": "Schema for AWS::SNS::TopicInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html)", "allOf": [ { "type": "object", @@ -33506,14 +33570,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::Function" + "AWS::SNS::TopicInlinePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::Function \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.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-cloudfront-function.json" + "$ref": "resources/aws-sns-topicinlinepolicy.json" } }, "required": [ @@ -33527,9 +33591,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Dataset": { + "AWS_GameLift_MatchmakingConfiguration": { "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::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", @@ -33537,14 +33601,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Dataset" + "AWS::GameLift::MatchmakingConfiguration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.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-databrew-dataset.json" + "$ref": "resources/aws-gamelift-matchmakingconfiguration.json" } }, "required": [ @@ -33558,9 +33622,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ClusterParameterGroup": { + "AWS_EC2_ClientVpnAuthorizationRule": { "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": "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", @@ -33568,14 +33632,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ClusterParameterGroup" + "AWS::EC2::ClientVpnAuthorizationRule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Redshift::ClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.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-redshift-clusterparametergroup.json" + "$ref": "resources/aws-ec2-clientvpnauthorizationrule.json" } }, "required": [ @@ -33589,9 +33653,9 @@ ], "additionalProperties": false }, - "AWS_Timestream_ScheduledQuery": { + "AWS_AccessAnalyzer_Analyzer": { "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": "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", @@ -33599,14 +33663,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Timestream::ScheduledQuery" + "AWS::AccessAnalyzer::Analyzer" ], "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)" + "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-timestream-scheduledquery.json" + "$ref": "resources/aws-accessanalyzer-analyzer.json" } }, "required": [ @@ -33620,9 +33684,9 @@ ], "additionalProperties": false }, - "AWS_ECS_Service": { + "AWS_Batch_JobQueue": { "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 Amazon ECS Service Connect ``ServiceConnectService`` 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": "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", @@ -33630,18 +33694,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::Service" + "AWS::Batch::JobQueue" ], "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 Amazon ECS Service Connect ``ServiceConnectService`` 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)" + "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-ecs-service.json" + "$ref": "resources/aws-batch-jobqueue.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -33650,9 +33715,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Theme": { + "AWS_Greengrass_LoggerDefinitionVersion": { "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": "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", @@ -33660,14 +33725,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Theme" + "AWS::Greengrass::LoggerDefinitionVersion" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Theme Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.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-quicksight-theme.json" + "$ref": "resources/aws-greengrass-loggerdefinitionversion.json" } }, "required": [ @@ -33681,9 +33746,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_Policy": { + "AWS_LakeFormation_PrincipalPermissions": { "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": "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", @@ -33691,14 +33756,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::Policy" + "AWS::LakeFormation::PrincipalPermissions" ], "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)" + "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-organizations-policy.json" + "$ref": "resources/aws-lakeformation-principalpermissions.json" } }, "required": [ @@ -33712,9 +33777,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_QueueEnvironment": { + "AWS_CloudFront_ContinuousDeploymentPolicy": { "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::CloudFront::ContinuousDeploymentPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.html)", "allOf": [ { "type": "object", @@ -33722,14 +33787,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::QueueEnvironment" + "AWS::CloudFront::ContinuousDeploymentPolicy" ], "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::CloudFront::ContinuousDeploymentPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-queueenvironment.json" + "$ref": "resources/aws-cloudfront-continuousdeploymentpolicy.json" } }, "required": [ @@ -33743,9 +33808,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Model": { + "AWS_SageMaker_ModelQualityJobDefinition": { "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 Type definition for AWS::SageMaker::ModelQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html)", "allOf": [ { "type": "object", @@ -33753,14 +33818,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Model" + "AWS::SageMaker::ModelQualityJobDefinition" ], "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 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-apigatewayv2-model.json" + "$ref": "resources/aws-sagemaker-modelqualityjobdefinition.json" } }, "required": [ @@ -33774,9 +33839,9 @@ ], "additionalProperties": false }, - "AWS_DMS_EventSubscription": { + "AWS_Athena_DataCatalog": { "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 schema for AWS::Athena::DataCatalog \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html)", "allOf": [ { "type": "object", @@ -33784,14 +33849,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::EventSubscription" + "AWS::Athena::DataCatalog" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.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-dms-eventsubscription.json" + "$ref": "resources/aws-athena-datacatalog.json" } }, "required": [ @@ -33805,9 +33870,9 @@ ], "additionalProperties": false }, - "AWS_SSO_InstanceAccessControlAttributeConfiguration": { + "AWS_VpcLattice_Rule": { "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": "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", @@ -33815,14 +33880,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::InstanceAccessControlAttributeConfiguration" + "AWS::VpcLattice::Rule" ], "markdownEnumDescriptions": [ - "Resource Type definition for SSO InstanceAccessControlAttributeConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.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-sso-instanceaccesscontrolattributeconfiguration.json" + "$ref": "resources/aws-vpclattice-rule.json" } }, "required": [ @@ -33836,9 +33901,9 @@ ], "additionalProperties": false }, - "AWS_AmplifyUIBuilder_Form": { + "AWS_LakeFormation_DataLakeSettings": { "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": "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", @@ -33846,14 +33911,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AmplifyUIBuilder::Form" + "AWS::LakeFormation::DataLakeSettings" ], "markdownEnumDescriptions": [ - "Definition of AWS::AmplifyUIBuilder::Form Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-form.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-amplifyuibuilder-form.json" + "$ref": "resources/aws-lakeformation-datalakesettings.json" } }, "required": [ @@ -33866,9 +33931,9 @@ ], "additionalProperties": false }, - "AWS_DMS_InstanceProfile": { + "AWS_SecurityHub_OrganizationConfiguration": { "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": "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", @@ -33876,18 +33941,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::InstanceProfile" + "AWS::SecurityHub::OrganizationConfiguration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DMS::InstanceProfile. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-instanceprofile.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-dms-instanceprofile.json" + "$ref": "resources/aws-securityhub-organizationconfiguration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -33896,9 +33962,9 @@ ], "additionalProperties": false }, - "AWS_Rekognition_Project": { + "AWS_IoT_RoleAlias": { "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": "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", @@ -33906,14 +33972,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Rekognition::Project" + "AWS::IoT::RoleAlias" ], "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)" + "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-rekognition-project.json" + "$ref": "resources/aws-iot-rolealias.json" } }, "required": [ @@ -33927,9 +33993,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMPoolCidr": { + "AWS_AutoScaling_WarmPool": { "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 schema for AWS::AutoScaling::WarmPool. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html)", "allOf": [ { "type": "object", @@ -33937,14 +34003,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMPoolCidr" + "AWS::AutoScaling::WarmPool" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMPoolCidr Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.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-ec2-ipampoolcidr.json" + "$ref": "resources/aws-autoscaling-warmpool.json" } }, "required": [ @@ -33958,9 +34024,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Distribution": { + "AWS_Route53_DNSSEC": { "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 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", @@ -33968,14 +34034,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Distribution" + "AWS::Route53::DNSSEC" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Distribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.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-lightsail-distribution.json" + "$ref": "resources/aws-route53-dnssec.json" } }, "required": [ @@ -33989,9 +34055,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_Segment": { + "AWS_ServiceCatalog_ServiceActionAssociation": { "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": "Resource Schema for AWS::ServiceCatalog::ServiceActionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html)", "allOf": [ { "type": "object", @@ -33999,14 +34065,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::Segment" + "AWS::ServiceCatalog::ServiceActionAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.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-pinpoint-segment.json" + "$ref": "resources/aws-servicecatalog-serviceactionassociation.json" } }, "required": [ @@ -34020,9 +34086,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMResourceDiscovery": { + "AWS_Detective_Graph": { "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": "Resource schema for AWS::Detective::Graph \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-graph.html)", "allOf": [ { "type": "object", @@ -34030,14 +34096,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMResourceDiscovery" + "AWS::Detective::Graph" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMResourceDiscovery Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.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-ec2-ipamresourcediscovery.json" + "$ref": "resources/aws-detective-graph.json" } }, "required": [ @@ -34050,9 +34116,9 @@ ], "additionalProperties": false }, - "AWS_CodeGuruProfiler_ProfilingGroup": { + "AWS_S3Outposts_Bucket": { "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": "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", @@ -34060,14 +34126,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeGuruProfiler::ProfilingGroup" + "AWS::S3Outposts::Bucket" ], "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)" + "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-codeguruprofiler-profilinggroup.json" + "$ref": "resources/aws-s3outposts-bucket.json" } }, "required": [ @@ -34081,9 +34147,9 @@ ], "additionalProperties": false }, - "AWS_Logs_ResourcePolicy": { + "AWS_SSO_Assignment": { "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 SSO assignmet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html)", "allOf": [ { "type": "object", @@ -34091,14 +34157,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::ResourcePolicy" + "AWS::SSO::Assignment" ], "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 SSO assignmet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-resourcepolicy.json" + "$ref": "resources/aws-sso-assignment.json" } }, "required": [ @@ -34112,9 +34178,9 @@ ], "additionalProperties": false }, - "AWS_Location_RouteCalculator": { + "AWS_ControlTower_LandingZone": { "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": "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", @@ -34122,14 +34188,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::RouteCalculator" + "AWS::ControlTower::LandingZone" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::RouteCalculator Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-routecalculator.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-location-routecalculator.json" + "$ref": "resources/aws-controltower-landingzone.json" } }, "required": [ @@ -34143,9 +34209,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_Flow": { + "AWS_Route53RecoveryReadiness_RecoveryGroup": { "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 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", @@ -34153,19 +34219,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::Flow" + "AWS::Route53RecoveryReadiness::RecoveryGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::Flow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.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-mediaconnect-flow.json" + "$ref": "resources/aws-route53recoveryreadiness-recoverygroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34174,9 +34239,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_WebACLAssociation": { + "AWS_EC2_SubnetRouteTableAssociation": { "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": "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", @@ -34184,14 +34249,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::WebACLAssociation" + "AWS::EC2::SubnetRouteTableAssociation" ], "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)" + "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-wafv2-webaclassociation.json" + "$ref": "resources/aws-ec2-subnetroutetableassociation.json" } }, "required": [ @@ -34205,9 +34270,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkAclEntry": { + "AWS_AppIntegrations_Application": { "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:AppIntegrations::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html)", "allOf": [ { "type": "object", @@ -34215,14 +34280,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkAclEntry" + "AWS::AppIntegrations::Application" ], "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:AppIntegrations::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkaclentry.json" + "$ref": "resources/aws-appintegrations-application.json" } }, "required": [ @@ -34236,9 +34301,9 @@ ], "additionalProperties": false }, - "AWS_InternetMonitor_Monitor": { + "AWS_KinesisFirehose_DeliveryStream": { "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": "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", @@ -34246,19 +34311,18 @@ "Type": { "type": "string", "enum": [ - "AWS::InternetMonitor::Monitor" + "AWS::KinesisFirehose::DeliveryStream" ], "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)" + "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-internetmonitor-monitor.json" + "$ref": "resources/aws-kinesisfirehose-deliverystream.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34267,9 +34331,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_ImageBuilder": { + "AWS_AppRunner_AutoScalingConfiguration": { "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": "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", @@ -34277,19 +34341,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::ImageBuilder" + "AWS::AppRunner::AutoScalingConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::ImageBuilder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.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-appstream-imagebuilder.json" + "$ref": "resources/aws-apprunner-autoscalingconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34298,9 +34361,9 @@ ], "additionalProperties": false }, - "AWS_LicenseManager_Grant": { + "AWS_SageMaker_Project": { "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::SageMaker::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html)", "allOf": [ { "type": "object", @@ -34308,18 +34371,19 @@ "Type": { "type": "string", "enum": [ - "AWS::LicenseManager::Grant" + "AWS::SageMaker::Project" ], "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::SageMaker::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html)" ] }, "Properties": { - "$ref": "resources/aws-licensemanager-grant.json" + "$ref": "resources/aws-sagemaker-project.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -34328,9 +34392,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_LifecycleHook": { + "AWS_SSM_PatchBaseline": { "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 Type definition for AWS::SSM::PatchBaseline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html)", "allOf": [ { "type": "object", @@ -34338,14 +34402,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::LifecycleHook" + "AWS::SSM::PatchBaseline" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AutoScaling::LifecycleHook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.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-autoscaling-lifecyclehook.json" + "$ref": "resources/aws-ssm-patchbaseline.json" } }, "required": [ @@ -34359,9 +34423,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_ListenerRule": { + "AWS_IAM_User": { "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": "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", @@ -34369,19 +34433,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerRule" + "AWS::IAM::User" ], "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)" + "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-elasticloadbalancingv2-listenerrule.json" + "$ref": "resources/aws-iam-user.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34390,9 +34453,9 @@ ], "additionalProperties": false }, - "AWS_AppFlow_Connector": { + "AWS_Route53_HostedZone": { "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": "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", @@ -34400,19 +34463,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppFlow::Connector" + "AWS::Route53::HostedZone" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::AppFlow::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connector.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-appflow-connector.json" + "$ref": "resources/aws-route53-hostedzone.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34421,9 +34483,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_User": { + "AWS_S3_BucketPolicy": { "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": "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", @@ -34431,14 +34493,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::User" + "AWS::S3::BucketPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.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-transfer-user.json" + "$ref": "resources/aws-s3-bucketpolicy.json" } }, "required": [ @@ -34452,9 +34514,9 @@ ], "additionalProperties": false }, - "AWS_RolesAnywhere_Profile": { + "AWS_XRay_ResourcePolicy": { "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": "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", @@ -34462,14 +34524,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RolesAnywhere::Profile" + "AWS::XRay::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Definition of AWS::RolesAnywhere::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.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-rolesanywhere-profile.json" + "$ref": "resources/aws-xray-resourcepolicy.json" } }, "required": [ @@ -34483,9 +34545,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_AppBlockBuilder": { + "AWS_DataZone_EnvironmentProfile": { "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": "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", @@ -34493,14 +34555,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::AppBlockBuilder" + "AWS::DataZone::EnvironmentProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::AppBlockBuilder. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.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-appstream-appblockbuilder.json" + "$ref": "resources/aws-datazone-environmentprofile.json" } }, "required": [ @@ -34514,9 +34576,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayAttachment": { + "AWS_EC2_TransitGatewayMulticastDomain": { "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": "The AWS::EC2::TransitGatewayMulticastDomain type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html)", "allOf": [ { "type": "object", @@ -34524,14 +34586,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayAttachment" + "AWS::EC2::TransitGatewayMulticastDomain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.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-ec2-transitgatewayattachment.json" + "$ref": "resources/aws-ec2-transitgatewaymulticastdomain.json" } }, "required": [ @@ -34545,9 +34607,9 @@ ], "additionalProperties": false }, - "AWS_RDS_GlobalCluster": { + "AWS_DLM_LifecyclePolicy": { "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::DLM::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html)", "allOf": [ { "type": "object", @@ -34555,14 +34617,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::GlobalCluster" + "AWS::DLM::LifecyclePolicy" ], "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::DLM::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-globalcluster.json" + "$ref": "resources/aws-dlm-lifecyclepolicy.json" } }, "required": [ @@ -34575,9 +34637,9 @@ ], "additionalProperties": false }, - "AWS_DMS_Certificate": { + "AWS_Personalize_Dataset": { "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": "Resource schema for AWS::Personalize::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-dataset.html)", "allOf": [ { "type": "object", @@ -34585,18 +34647,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::Certificate" + "AWS::Personalize::Dataset" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.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-dms-certificate.json" + "$ref": "resources/aws-personalize-dataset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -34605,9 +34668,9 @@ ], "additionalProperties": false }, - "AWS_Panorama_ApplicationInstance": { + "AWS_IoTSiteWise_Asset": { "type": "object", - "markdownDescription": "Schema for ApplicationInstance CloudFormation Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-applicationinstance.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", @@ -34615,14 +34678,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Panorama::ApplicationInstance" + "AWS::IoTSiteWise::Asset" ], "markdownEnumDescriptions": [ - "Schema for ApplicationInstance CloudFormation Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-applicationinstance.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-panorama-applicationinstance.json" + "$ref": "resources/aws-iotsitewise-asset.json" } }, "required": [ @@ -34636,9 +34699,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_QueueFleetAssociation": { + "AWS_DMS_MigrationProject": { "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": "Resource schema for AWS::DMS::MigrationProject \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-migrationproject.html)", "allOf": [ { "type": "object", @@ -34646,19 +34709,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::QueueFleetAssociation" + "AWS::DMS::MigrationProject" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::QueueFleetAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.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-deadline-queuefleetassociation.json" + "$ref": "resources/aws-dms-migrationproject.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34667,9 +34729,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_Collaboration": { + "AWS_IoT_ThingType": { "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": "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", @@ -34677,19 +34739,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::Collaboration" + "AWS::IoT::ThingType" ], "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)" + "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-cleanrooms-collaboration.json" + "$ref": "resources/aws-iot-thingtype.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34698,9 +34759,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBSubnetGroup": { + "AWS_WAFv2_RuleGroup": { "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": "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", @@ -34708,14 +34769,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBSubnetGroup" + "AWS::WAFv2::RuleGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Neptune::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.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-neptune-dbsubnetgroup.json" + "$ref": "resources/aws-wafv2-rulegroup.json" } }, "required": [ @@ -34729,9 +34790,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_Volume": { + "AWS_AppIntegrations_EventIntegration": { "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": "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", @@ -34739,14 +34800,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::Volume" + "AWS::AppIntegrations::EventIntegration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.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-opsworks-volume.json" + "$ref": "resources/aws-appintegrations-eventintegration.json" } }, "required": [ @@ -34760,9 +34821,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Thing": { + "AWS_DataSync_LocationFSxONTAP": { "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": "Resource schema for AWS::DataSync::LocationFSxONTAP. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxontap.html)", "allOf": [ { "type": "object", @@ -34770,18 +34831,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Thing" + "AWS::DataSync::LocationFSxONTAP" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::Thing \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.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-iot-thing.json" + "$ref": "resources/aws-datasync-locationfsxontap.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -34790,9 +34852,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VerifiedAccessTrustProvider": { + "AWS_SSM_ResourcePolicy": { "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": "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", @@ -34800,14 +34862,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VerifiedAccessTrustProvider" + "AWS::SSM::ResourcePolicy" ], "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)" + "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-ec2-verifiedaccesstrustprovider.json" + "$ref": "resources/aws-ssm-resourcepolicy.json" } }, "required": [ @@ -34821,9 +34883,9 @@ ], "additionalProperties": false }, - "AWS_ResourceExplorer2_View": { + "AWS_IoT_BillingGroup": { "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::IoT::BillingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-billinggroup.html)", "allOf": [ { "type": "object", @@ -34831,19 +34893,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ResourceExplorer2::View" + "AWS::IoT::BillingGroup" ], "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::IoT::BillingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-billinggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-resourceexplorer2-view.json" + "$ref": "resources/aws-iot-billinggroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34852,9 +34913,9 @@ ], "additionalProperties": false }, - "AWS_IVS_Stage": { + "AWS_RDS_Integration": { "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": "Creates 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", @@ -34862,18 +34923,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::Stage" + "AWS::RDS::Integration" ], "markdownEnumDescriptions": [ - "Resource Definition for type AWS::IVS::Stage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-stage.html)" + "Creates 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-ivs-stage.json" + "$ref": "resources/aws-rds-integration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -34882,9 +34944,9 @@ ], "additionalProperties": false }, - "AWS_CertificateManager_Account": { + "AWS_KMS_ReplicaKey": { "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": "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", @@ -34892,14 +34954,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CertificateManager::Account" + "AWS::KMS::ReplicaKey" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::CertificateManager::Account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-account.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-certificatemanager-account.json" + "$ref": "resources/aws-kms-replicakey.json" } }, "required": [ @@ -34913,9 +34975,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_Variable": { + "AWS_IoT_SoftwarePackage": { "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 definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html)", "allOf": [ { "type": "object", @@ -34923,19 +34985,18 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::Variable" + "AWS::IoT::SoftwarePackage" ], "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 definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-variable.json" + "$ref": "resources/aws-iot-softwarepackage.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34944,9 +35005,9 @@ ], "additionalProperties": false }, - "AWS_Location_APIKey": { + "AWS_EC2_Subnet": { "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": "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", @@ -34954,14 +35015,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::APIKey" + "AWS::EC2::Subnet" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::APIKey Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-apikey.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-location-apikey.json" + "$ref": "resources/aws-ec2-subnet.json" } }, "required": [ @@ -34975,9 +35036,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalyticsV2_Application": { + "AWS_AppStream_ImageBuilder": { "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::AppStream::ImageBuilder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html)", "allOf": [ { "type": "object", @@ -34985,14 +35046,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalyticsV2::Application" + "AWS::AppStream::ImageBuilder" ], "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::AppStream::ImageBuilder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalyticsv2-application.json" + "$ref": "resources/aws-appstream-imagebuilder.json" } }, "required": [ @@ -35006,9 +35067,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverRuleAssociation": { + "AWS_SSM_MaintenanceWindowTarget": { "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": "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", @@ -35016,14 +35077,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" + "AWS::SSM::MaintenanceWindowTarget" ], "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)" + "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-route53resolver-resolverruleassociation.json" + "$ref": "resources/aws-ssm-maintenancewindowtarget.json" } }, "required": [ @@ -35037,9 +35098,9 @@ ], "additionalProperties": false }, - "AWS_S3_BucketPolicy": { + "AWS_Pinpoint_Campaign": { "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::Pinpoint::Campaign \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html)", "allOf": [ { "type": "object", @@ -35047,14 +35108,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::BucketPolicy" + "AWS::Pinpoint::Campaign" ], "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::Pinpoint::Campaign \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-bucketpolicy.json" + "$ref": "resources/aws-pinpoint-campaign.json" } }, "required": [ @@ -35068,9 +35129,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_LaunchRoleConstraint": { + "AWS_Config_ConfigurationRecorder": { "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::Config::ConfigurationRecorder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html)", "allOf": [ { "type": "object", @@ -35078,14 +35139,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::LaunchRoleConstraint" + "AWS::Config::ConfigurationRecorder" ], "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::Config::ConfigurationRecorder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-launchroleconstraint.json" + "$ref": "resources/aws-config-configurationrecorder.json" } }, "required": [ @@ -35099,9 +35160,9 @@ ], "additionalProperties": false }, - "AWS_EKS_Addon": { + "AWS_SecurityHub_Standard": { "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": "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", @@ -35109,14 +35170,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::Addon" + "AWS::SecurityHub::Standard" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::EKS::Addon \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.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-eks-addon.json" + "$ref": "resources/aws-securityhub-standard.json" } }, "required": [ @@ -35130,9 +35191,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_ScheduledAction": { + "AWS_ElasticLoadBalancingV2_TrustStoreRevocation": { "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::ElasticLoadBalancingV2::TrustStoreRevocation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.html)", "allOf": [ { "type": "object", @@ -35140,19 +35201,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::ScheduledAction" + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" ], "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::ElasticLoadBalancingV2::TrustStoreRevocation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-scheduledaction.json" + "$ref": "resources/aws-elasticloadbalancingv2-truststorerevocation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -35161,9 +35221,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_VpcLink": { + "AWS_EC2_EgressOnlyInternetGateway": { "type": "object", - "markdownDescription": "Schema for AWS ApiGateway VpcLink \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.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", @@ -35171,14 +35231,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::VpcLink" + "AWS::EC2::EgressOnlyInternetGateway" ], "markdownEnumDescriptions": [ - "Schema for AWS ApiGateway VpcLink \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.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-apigateway-vpclink.json" + "$ref": "resources/aws-ec2-egressonlyinternetgateway.json" } }, "required": [ @@ -35192,9 +35252,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPC": { + "AWS_CloudFront_Function": { "type": "object", - "markdownDescription": "Specifies a virtual private cloud (VPC).\n You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).\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": "Resource Type definition for AWS::CloudFront::Function \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html)", "allOf": [ { "type": "object", @@ -35202,18 +35262,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPC" + "AWS::CloudFront::Function" ], "markdownEnumDescriptions": [ - "Specifies a virtual private cloud (VPC).\n You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).\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)" + "Resource Type definition for AWS::CloudFront::Function \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpc.json" + "$ref": "resources/aws-cloudfront-function.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35222,9 +35283,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_IdMappingWorkflow": { + "AWS_AppStream_AppBlock": { "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::AppStream::AppBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html)", "allOf": [ { "type": "object", @@ -35232,14 +35293,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::IdMappingWorkflow" + "AWS::AppStream::AppBlock" ], "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::AppStream::AppBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html)" ] }, "Properties": { - "$ref": "resources/aws-entityresolution-idmappingworkflow.json" + "$ref": "resources/aws-appstream-appblock.json" } }, "required": [ @@ -35253,9 +35314,9 @@ ], "additionalProperties": false }, - "AWS_Synthetics_Canary": { + "AWS_Lightsail_Container": { "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": "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", @@ -35263,14 +35324,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Synthetics::Canary" + "AWS::Lightsail::Container" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Synthetics::Canary \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.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-synthetics-canary.json" + "$ref": "resources/aws-lightsail-container.json" } }, "required": [ @@ -35284,9 +35345,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_Application": { + "AWS_CustomerProfiles_EventStream": { "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": "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", @@ -35294,14 +35355,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::Application" + "AWS::CustomerProfiles::EventStream" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.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-appconfig-application.json" + "$ref": "resources/aws-customerprofiles-eventstream.json" } }, "required": [ @@ -35315,9 +35376,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_EmailTemplate": { + "AWS_IoTSiteWise_AccessPolicy": { "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 schema for AWS::IoTSiteWise::AccessPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html)", "allOf": [ { "type": "object", @@ -35325,14 +35386,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::EmailTemplate" + "AWS::IoTSiteWise::AccessPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::EmailTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html)" + "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-pinpoint-emailtemplate.json" + "$ref": "resources/aws-iotsitewise-accesspolicy.json" } }, "required": [ @@ -35346,9 +35407,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_ElasticLoadBalancerAttachment": { + "AWS_ElastiCache_ParameterGroup": { "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 Type definition for AWS::ElastiCache::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html)", "allOf": [ { "type": "object", @@ -35356,14 +35417,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::ElasticLoadBalancerAttachment" + "AWS::ElastiCache::ParameterGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::ElasticLoadBalancerAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elasticloadbalancerattachment.html)" + "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-opsworks-elasticloadbalancerattachment.json" + "$ref": "resources/aws-elasticache-parametergroup.json" } }, "required": [ @@ -35377,9 +35438,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCEndpoint": { + "AWS_GlobalAccelerator_Listener": { "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 [W \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.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", @@ -35387,14 +35448,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCEndpoint" + "AWS::GlobalAccelerator::Listener" ], "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 [W \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.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-ec2-vpcendpoint.json" + "$ref": "resources/aws-globalaccelerator-listener.json" } }, "required": [ @@ -35408,9 +35469,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalogAppRegistry_AttributeGroup": { + "AWS_EC2_NetworkPerformanceMetricSubscription": { "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": "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", @@ -35418,14 +35479,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroup" + "AWS::EC2::NetworkPerformanceMetricSubscription" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.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-servicecatalogappregistry-attributegroup.json" + "$ref": "resources/aws-ec2-networkperformancemetricsubscription.json" } }, "required": [ @@ -35439,9 +35500,9 @@ ], "additionalProperties": false }, - "AWS_Omics_VariantStore": { + "AWS_CodeDeploy_DeploymentGroup": { "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::CodeDeploy::DeploymentGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)", "allOf": [ { "type": "object", @@ -35449,14 +35510,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::VariantStore" + "AWS::CodeDeploy::DeploymentGroup" ], "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::CodeDeploy::DeploymentGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-variantstore.json" + "$ref": "resources/aws-codedeploy-deploymentgroup.json" } }, "required": [ @@ -35470,9 +35531,9 @@ ], "additionalProperties": false }, - "AWS_MSK_ClusterPolicy": { + "AWS_AppMesh_GatewayRoute": { "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": "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", @@ -35480,14 +35541,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::ClusterPolicy" + "AWS::AppMesh::GatewayRoute" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::ClusterPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.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-msk-clusterpolicy.json" + "$ref": "resources/aws-appmesh-gatewayroute.json" } }, "required": [ @@ -35501,9 +35562,9 @@ ], "additionalProperties": false }, - "AWS_EC2_ClientVpnAuthorizationRule": { + "AWS_MediaStore_Container": { "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": "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", @@ -35511,14 +35572,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::ClientVpnAuthorizationRule" + "AWS::MediaStore::Container" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::ClientVpnAuthorizationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.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-ec2-clientvpnauthorizationrule.json" + "$ref": "resources/aws-mediastore-container.json" } }, "required": [ @@ -35532,9 +35593,9 @@ ], "additionalProperties": false }, - "AWS_FMS_Policy": { + "AWS_Deadline_QueueFleetAssociation": { "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": "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", @@ -35542,14 +35603,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FMS::Policy" + "AWS::Deadline::QueueFleetAssociation" ], "markdownEnumDescriptions": [ - "Creates an AWS Firewall Manager policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.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-fms-policy.json" + "$ref": "resources/aws-deadline-queuefleetassociation.json" } }, "required": [ @@ -35563,9 +35624,9 @@ ], "additionalProperties": false }, - "AWS_Budgets_Budget": { + "AWS_InspectorV2_Filter": { "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": "Inspector Filter resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-filter.html)", "allOf": [ { "type": "object", @@ -35573,14 +35634,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Budgets::Budget" + "AWS::InspectorV2::Filter" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Budgets::Budget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html)" + "Inspector Filter resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-filter.html)" ] }, "Properties": { - "$ref": "resources/aws-budgets-budget.json" + "$ref": "resources/aws-inspectorv2-filter.json" } }, "required": [ @@ -35594,9 +35655,9 @@ ], "additionalProperties": false }, - "AWS_Rekognition_StreamProcessor": { + "AWS_Route53Resolver_ResolverRuleAssociation": { "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": "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", @@ -35604,14 +35665,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Rekognition::StreamProcessor" + "AWS::Route53Resolver::ResolverRuleAssociation" ], "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)" + "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-rekognition-streamprocessor.json" + "$ref": "resources/aws-route53resolver-resolverruleassociation.json" } }, "required": [ @@ -35625,9 +35686,9 @@ ], "additionalProperties": false }, - "AWS_DMS_ReplicationSubnetGroup": { + "AWS_MediaLive_Channel": { "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": "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", @@ -35635,19 +35696,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::ReplicationSubnetGroup" + "AWS::MediaLive::Channel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::ReplicationSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.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-dms-replicationsubnetgroup.json" + "$ref": "resources/aws-medialive-channel.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -35656,9 +35716,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryReadiness_ReadinessCheck": { + "AWS_VerifiedPermissions_Policy": { "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": "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", @@ -35666,18 +35726,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryReadiness::ReadinessCheck" + "AWS::VerifiedPermissions::Policy" ], "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)" + "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-route53recoveryreadiness-readinesscheck.json" + "$ref": "resources/aws-verifiedpermissions-policy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35686,9 +35747,9 @@ ], "additionalProperties": false }, - "AWS_CloudTrail_Channel": { + "AWS_EC2_TransitGatewayRouteTableAssociation": { "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": "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", @@ -35696,18 +35757,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudTrail::Channel" + "AWS::EC2::TransitGatewayRouteTableAssociation" ], "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)" + "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-cloudtrail-channel.json" + "$ref": "resources/aws-ec2-transitgatewayroutetableassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35716,9 +35778,9 @@ ], "additionalProperties": false }, - "AWS_IoTEvents_DetectorModel": { + "AWS_DataSync_LocationS3": { "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 schema for AWS::DataSync::LocationS3 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html)", "allOf": [ { "type": "object", @@ -35726,14 +35788,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTEvents::DetectorModel" + "AWS::DataSync::LocationS3" ], "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 schema for AWS::DataSync::LocationS3 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html)" ] }, "Properties": { - "$ref": "resources/aws-iotevents-detectormodel.json" + "$ref": "resources/aws-datasync-locations3.json" } }, "required": [ @@ -35747,9 +35809,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_SubnetGroup": { + "AWS_AppSync_DataSource": { "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::AppSync::DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html)", "allOf": [ { "type": "object", @@ -35757,14 +35819,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::SubnetGroup" + "AWS::AppSync::DataSource" ], "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::AppSync::DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-subnetgroup.json" + "$ref": "resources/aws-appsync-datasource.json" } }, "required": [ @@ -35778,9 +35840,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_CoreDefinitionVersion": { + "AWS_Glue_MLTransform": { "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": "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", @@ -35788,14 +35850,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::CoreDefinitionVersion" + "AWS::Glue::MLTransform" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::CoreDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.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-greengrass-coredefinitionversion.json" + "$ref": "resources/aws-glue-mltransform.json" } }, "required": [ @@ -35809,9 +35871,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Image": { + "AWS_Kinesis_Stream": { "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": "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", @@ -35819,19 +35881,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Image" + "AWS::Kinesis::Stream" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.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-sagemaker-image.json" + "$ref": "resources/aws-kinesis-stream.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -35840,9 +35901,9 @@ ], "additionalProperties": false }, - "AWS_IoTAnalytics_Datastore": { + "AWS_WAFRegional_GeoMatchSet": { "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": "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", @@ -35850,18 +35911,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTAnalytics::Datastore" + "AWS::WAFRegional::GeoMatchSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTAnalytics::Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.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-iotanalytics-datastore.json" + "$ref": "resources/aws-wafregional-geomatchset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35870,9 +35932,9 @@ ], "additionalProperties": false }, - "AWS_MediaConvert_Queue": { + "AWS_NetworkManager_VpcAttachment": { "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": "AWS::NetworkManager::VpcAttachment Resoruce Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-vpcattachment.html)", "allOf": [ { "type": "object", @@ -35880,18 +35942,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConvert::Queue" + "AWS::NetworkManager::VpcAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaConvert::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.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-mediaconvert-queue.json" + "$ref": "resources/aws-networkmanager-vpcattachment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35900,9 +35963,9 @@ ], "additionalProperties": false }, - "AWS_Cloud9_EnvironmentEC2": { + "AWS_VpcLattice_ServiceNetwork": { "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": "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", @@ -35910,19 +35973,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Cloud9::EnvironmentEC2" + "AWS::VpcLattice::ServiceNetwork" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cloud9::EnvironmentEC2 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.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-cloud9-environmentec2.json" + "$ref": "resources/aws-vpclattice-servicenetwork.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -35931,9 +35993,9 @@ ], "additionalProperties": false }, - "AWS_CodeStarConnections_SyncConfiguration": { + "AWS_IoTEvents_DetectorModel": { "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": "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)", "allOf": [ { "type": "object", @@ -35941,14 +36003,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStarConnections::SyncConfiguration" + "AWS::IoTEvents::DetectorModel" ], "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)" + "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)" ] }, "Properties": { - "$ref": "resources/aws-codestarconnections-syncconfiguration.json" + "$ref": "resources/aws-iotevents-detectormodel.json" } }, "required": [ @@ -35962,9 +36024,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_RefreshSchedule": { + "AWS_FraudDetector_Variable": { "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)", + "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", @@ -35972,18 +36034,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::RefreshSchedule" + "AWS::FraudDetector::Variable" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::RefreshSchedule Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.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-quicksight-refreshschedule.json" + "$ref": "resources/aws-frauddetector-variable.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35992,9 +36055,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_ConfiguredTable": { + "AWS_Proton_EnvironmentAccountConnection": { "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 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", @@ -36002,19 +36065,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::ConfiguredTable" + "AWS::Proton::EnvironmentAccountConnection" ], "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 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-cleanrooms-configuredtable.json" + "$ref": "resources/aws-proton-environmentaccountconnection.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -36023,9 +36085,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TrafficMirrorFilter": { + "AWS_Greengrass_FunctionDefinition": { "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": "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", @@ -36033,18 +36095,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TrafficMirrorFilter" + "AWS::Greengrass::FunctionDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TrafficMirrorFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.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-ec2-trafficmirrorfilter.json" + "$ref": "resources/aws-greengrass-functiondefinition.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -36053,9 +36116,9 @@ ], "additionalProperties": false }, - "AWS_SQS_Queue": { + "AWS_Logs_Destination": { "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": "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", @@ -36063,18 +36126,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SQS::Queue" + "AWS::Logs::Destination" ], "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)" + "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-sqs-queue.json" + "$ref": "resources/aws-logs-destination.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -36083,9 +36147,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationSMB": { + "AWS_AutoScaling_LaunchConfiguration": { "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::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", @@ -36093,14 +36157,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationSMB" + "AWS::AutoScaling::LaunchConfiguration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationSMB. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.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-datasync-locationsmb.json" + "$ref": "resources/aws-autoscaling-launchconfiguration.json" } }, "required": [ @@ -36114,9 +36178,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_EntityType": { + "AWS_GreengrassV2_ComponentVersion": { "type": "object", - "markdownDescription": "An entity type for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-entitytype.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", @@ -36124,19 +36188,18 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::EntityType" + "AWS::GreengrassV2::ComponentVersion" ], "markdownEnumDescriptions": [ - "An entity type for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-entitytype.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-frauddetector-entitytype.json" + "$ref": "resources/aws-greengrassv2-componentversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -36145,9 +36208,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_DocumentationPart": { + "AWS_IoT_ResourceSpecificLogging": { "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": "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", @@ -36155,14 +36218,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::DocumentationPart" + "AWS::IoT::ResourceSpecificLogging" ], "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)" + "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-apigateway-documentationpart.json" + "$ref": "resources/aws-iot-resourcespecificlogging.json" } }, "required": [ @@ -36176,9 +36239,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_SecurityPolicy": { + "AWS_SecurityHub_ProductSubscription": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless security policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.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", @@ -36186,14 +36249,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::SecurityPolicy" + "AWS::SecurityHub::ProductSubscription" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless security policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.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-opensearchserverless-securitypolicy.json" + "$ref": "resources/aws-securityhub-productsubscription.json" } }, "required": [ @@ -36207,9 +36270,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_MatchmakingConfiguration": { + "AWS_SES_MailManagerTrafficPolicy": { "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": "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", @@ -36217,14 +36280,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::MatchmakingConfiguration" + "AWS::SES::MailManagerTrafficPolicy" ], "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)" + "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-gamelift-matchmakingconfiguration.json" + "$ref": "resources/aws-ses-mailmanagertrafficpolicy.json" } }, "required": [ @@ -36238,9 +36301,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_DomainName": { + "AWS_ApiGateway_UsagePlanKey": { "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": "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", @@ -36248,18 +36311,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::DomainName" + "AWS::ApiGateway::UsagePlanKey" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ApiGateway::DomainName. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.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-apigateway-domainname.json" + "$ref": "resources/aws-apigateway-usageplankey.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -36268,9 +36332,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInsightsAnalysis": { + "AWS_Route53RecoveryControl_ControlPanel": { "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": "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", @@ -36278,14 +36342,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInsightsAnalysis" + "AWS::Route53RecoveryControl::ControlPanel" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EC2::NetworkInsightsAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.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-networkinsightsanalysis.json" + "$ref": "resources/aws-route53recoverycontrol-controlpanel.json" } }, "required": [ @@ -36299,9 +36363,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_ConnectorDefinitionVersion": { + "AWS_QBusiness_WebExperience": { "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": "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", @@ -36309,14 +36373,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::ConnectorDefinitionVersion" + "AWS::QBusiness::WebExperience" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::ConnectorDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.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-greengrass-connectordefinitionversion.json" + "$ref": "resources/aws-qbusiness-webexperience.json" } }, "required": [ @@ -36330,9 +36394,9 @@ ], "additionalProperties": false }, - "AWS_IoT_CertificateProvider": { + "AWS_MediaLive_InputSecurityGroup": { "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::MediaLive::InputSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html)", "allOf": [ { "type": "object", @@ -36340,19 +36404,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::CertificateProvider" + "AWS::MediaLive::InputSecurityGroup" ], "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::MediaLive::InputSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-certificateprovider.json" + "$ref": "resources/aws-medialive-inputsecuritygroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -36361,9 +36424,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_OriginEndpoint": { + "AWS_OpenSearchServerless_LifecyclePolicy": { "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": "Amazon OpenSearchServerless lifecycle policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html)", "allOf": [ { "type": "object", @@ -36371,14 +36434,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::OriginEndpoint" + "AWS::OpenSearchServerless::LifecyclePolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaPackage::OriginEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.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-mediapackage-originendpoint.json" + "$ref": "resources/aws-opensearchserverless-lifecyclepolicy.json" } }, "required": [ @@ -36392,9 +36455,9 @@ ], "additionalProperties": false }, - "AWS_ResilienceHub_App": { + "AWS_ServiceCatalog_StackSetConstraint": { "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 Type definition for AWS::ServiceCatalog::StackSetConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html)", "allOf": [ { "type": "object", @@ -36402,14 +36465,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResilienceHub::App" + "AWS::ServiceCatalog::StackSetConstraint" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::ResilienceHub::App. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.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-resiliencehub-app.json" + "$ref": "resources/aws-servicecatalog-stacksetconstraint.json" } }, "required": [ @@ -36423,9 +36486,9 @@ ], "additionalProperties": false }, - "AWS_AmplifyUIBuilder_Component": { + "AWS_Deadline_Monitor": { "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": "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", @@ -36433,18 +36496,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AmplifyUIBuilder::Component" + "AWS::Deadline::Monitor" ], "markdownEnumDescriptions": [ - "Definition of AWS::AmplifyUIBuilder::Component Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-component.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-amplifyuibuilder-component.json" + "$ref": "resources/aws-deadline-monitor.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -36453,9 +36517,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCEndpointConnectionNotification": { + "AWS_VerifiedPermissions_IdentitySource": { "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": "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", @@ -36463,14 +36527,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCEndpointConnectionNotification" + "AWS::VerifiedPermissions::IdentitySource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCEndpointConnectionNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.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-ec2-vpcendpointconnectionnotification.json" + "$ref": "resources/aws-verifiedpermissions-identitysource.json" } }, "required": [ @@ -36484,9 +36548,9 @@ ], "additionalProperties": false }, - "AWS_Oam_Link": { + "AWS_Lambda_EventInvokeConfig": { "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": "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", @@ -36494,14 +36558,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Oam::Link" + "AWS::Lambda::EventInvokeConfig" ], "markdownEnumDescriptions": [ - "Definition of AWS::Oam::Link Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-link.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-oam-link.json" + "$ref": "resources/aws-lambda-eventinvokeconfig.json" } }, "required": [ @@ -36515,9 +36579,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_LoggingConfiguration": { + "AWS_Cognito_UserPoolClient": { "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": "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", @@ -36525,14 +36589,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::LoggingConfiguration" + "AWS::Cognito::UserPoolClient" ], "markdownEnumDescriptions": [ - "A WAFv2 Logging Configuration Resource Provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.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-wafv2-loggingconfiguration.json" + "$ref": "resources/aws-cognito-userpoolclient.json" } }, "required": [ @@ -36546,9 +36610,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Topic": { + "AWS_SQS_QueueInlinePolicy": { "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": "Schema for SQS QueueInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html)", "allOf": [ { "type": "object", @@ -36556,18 +36620,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Topic" + "AWS::SQS::QueueInlinePolicy" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Topic Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-topic.html)" + "Schema for SQS QueueInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-topic.json" + "$ref": "resources/aws-sqs-queueinlinepolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -36576,9 +36641,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_Farm": { + "AWS_Connect_SecurityKey": { "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": "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", @@ -36586,14 +36651,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::Farm" + "AWS::Connect::SecurityKey" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::Farm Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.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-deadline-farm.json" + "$ref": "resources/aws-connect-securitykey.json" } }, "required": [ @@ -36607,9 +36672,9 @@ ], "additionalProperties": false }, - "AWS_EC2_KeyPair": { + "AWS_CloudFormation_ResourceDefaultVersion": { "type": "object", - "markdownDescription": "The AWS::EC2::KeyPair creates an SSH key pair \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.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", @@ -36617,19 +36682,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::KeyPair" + "AWS::CloudFormation::ResourceDefaultVersion" ], "markdownEnumDescriptions": [ - "The AWS::EC2::KeyPair creates an SSH key pair \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.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-ec2-keypair.json" + "$ref": "resources/aws-cloudformation-resourcedefaultversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -36638,9 +36702,9 @@ ], "additionalProperties": false }, - "AWS_PinpointEmail_DedicatedIpPool": { + "AWS_CodeBuild_Project": { "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": "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", @@ -36648,18 +36712,19 @@ "Type": { "type": "string", "enum": [ - "AWS::PinpointEmail::DedicatedIpPool" + "AWS::CodeBuild::Project" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::PinpointEmail::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.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-pinpointemail-dedicatedippool.json" + "$ref": "resources/aws-codebuild-project.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -36668,9 +36733,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_Member": { + "AWS_RolesAnywhere_Profile": { "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": "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", @@ -36678,14 +36743,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::Member" + "AWS::RolesAnywhere::Profile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.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-guardduty-member.json" + "$ref": "resources/aws-rolesanywhere-profile.json" } }, "required": [ @@ -36699,9 +36764,9 @@ ], "additionalProperties": false }, - "AWS_Detective_MemberInvitation": { + "AWS_ElastiCache_ReplicationGroup": { "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": "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", @@ -36709,14 +36774,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Detective::MemberInvitation" + "AWS::ElastiCache::ReplicationGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Detective::MemberInvitation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.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-detective-memberinvitation.json" + "$ref": "resources/aws-elasticache-replicationgroup.json" } }, "required": [ @@ -36730,9 +36795,9 @@ ], "additionalProperties": false }, - "AWS_EC2_ClientVpnEndpoint": { + "AWS_MemoryDB_ACL": { "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::MemoryDB::ACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html)", "allOf": [ { "type": "object", @@ -36740,14 +36805,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::ClientVpnEndpoint" + "AWS::MemoryDB::ACL" ], "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::MemoryDB::ACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-clientvpnendpoint.json" + "$ref": "resources/aws-memorydb-acl.json" } }, "required": [ @@ -36761,9 +36826,9 @@ ], "additionalProperties": false }, - "AWS_IoT_CustomMetric": { + "AWS_Config_OrganizationConformancePack": { "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 schema for AWS::Config::OrganizationConformancePack. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html)", "allOf": [ { "type": "object", @@ -36771,14 +36836,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::CustomMetric" + "AWS::Config::OrganizationConformancePack" ], "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 schema for AWS::Config::OrganizationConformancePack. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-custommetric.json" + "$ref": "resources/aws-config-organizationconformancepack.json" } }, "required": [ @@ -36792,9 +36857,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_ResourcePolicy": { + "AWS_EC2_VPNGatewayRoutePropagation": { "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": "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", @@ -36802,14 +36867,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::ResourcePolicy" + "AWS::EC2::VPNGatewayRoutePropagation" ], "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)" + "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-vpclattice-resourcepolicy.json" + "$ref": "resources/aws-ec2-vpngatewayroutepropagation.json" } }, "required": [ @@ -36823,9 +36888,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBCluster": { + "AWS_AppStream_DirectoryConfig": { "type": "object", - "markdownDescription": "The AWS::RDS::DBCluster resource creates an Amazon Aurora DB cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.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", @@ -36833,18 +36898,19 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBCluster" + "AWS::AppStream::DirectoryConfig" ], "markdownEnumDescriptions": [ - "The AWS::RDS::DBCluster resource creates an Amazon Aurora DB cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.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-rds-dbcluster.json" + "$ref": "resources/aws-appstream-directoryconfig.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -36853,9 +36919,9 @@ ], "additionalProperties": false }, - "AWS_IoT_SoftwarePackageVersion": { + "AWS_CE_AnomalyMonitor": { "type": "object", - "markdownDescription": "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.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", @@ -36863,14 +36929,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::SoftwarePackageVersion" + "AWS::CE::AnomalyMonitor" ], "markdownEnumDescriptions": [ - "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.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-iot-softwarepackageversion.json" + "$ref": "resources/aws-ce-anomalymonitor.json" } }, "required": [ @@ -36884,9 +36950,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_EndpointAccess": { + "AWS_EventSchemas_RegistryPolicy": { "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": "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", @@ -36894,14 +36960,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::EndpointAccess" + "AWS::EventSchemas::RegistryPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for a Redshift-managed VPC endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointaccess.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-redshift-endpointaccess.json" + "$ref": "resources/aws-eventschemas-registrypolicy.json" } }, "required": [ @@ -36915,9 +36981,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayRouteTablePropagation": { + "AWS_ImageBuilder_ImagePipeline": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayRouteTablePropagation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.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", @@ -36925,19 +36991,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayRouteTablePropagation" + "AWS::ImageBuilder::ImagePipeline" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayRouteTablePropagation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.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-ec2-transitgatewayroutetablepropagation.json" + "$ref": "resources/aws-imagebuilder-imagepipeline.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -36946,9 +37011,9 @@ ], "additionalProperties": false }, - "AWS_CodeArtifact_Domain": { + "AWS_Greengrass_CoreDefinition": { "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": "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", @@ -36956,14 +37021,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeArtifact::Domain" + "AWS::Greengrass::CoreDefinition" ], "markdownEnumDescriptions": [ - "The resource schema to create a CodeArtifact domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.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-codeartifact-domain.json" + "$ref": "resources/aws-greengrass-coredefinition.json" } }, "required": [ @@ -36977,9 +37042,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ClusterSubnetGroup": { + "AWS_GuardDuty_Member": { "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 Type definition for AWS::GuardDuty::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html)", "allOf": [ { "type": "object", @@ -36987,14 +37052,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ClusterSubnetGroup" + "AWS::GuardDuty::Member" ], "markdownEnumDescriptions": [ - "Specifies an Amazon Redshift subnet group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.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-redshift-clustersubnetgroup.json" + "$ref": "resources/aws-guardduty-member.json" } }, "required": [ @@ -37008,9 +37073,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInterfaceAttachment": { + "AWS_AutoScalingPlans_ScalingPlan": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::NetworkInterfaceAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.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", @@ -37018,14 +37083,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInterfaceAttachment" + "AWS::AutoScalingPlans::ScalingPlan" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::NetworkInterfaceAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.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-ec2-networkinterfaceattachment.json" + "$ref": "resources/aws-autoscalingplans-scalingplan.json" } }, "required": [ @@ -37039,9 +37104,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_Outcome": { + "AWS_EC2_TrafficMirrorTarget": { "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::EC2::TrafficMirrorTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html)", "allOf": [ { "type": "object", @@ -37049,19 +37114,18 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::Outcome" + "AWS::EC2::TrafficMirrorTarget" ], "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::EC2::TrafficMirrorTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-outcome.json" + "$ref": "resources/aws-ec2-trafficmirrortarget.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -37070,9 +37134,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_AuthPolicy": { + "AWS_Greengrass_ResourceDefinition": { "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": "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", @@ -37080,14 +37144,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::AuthPolicy" + "AWS::Greengrass::ResourceDefinition" ], "markdownEnumDescriptions": [ - "Creates or updates the auth policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.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-vpclattice-authpolicy.json" + "$ref": "resources/aws-greengrass-resourcedefinition.json" } }, "required": [ @@ -37101,9 +37165,9 @@ ], "additionalProperties": false }, - "AWS_SSM_ResourcePolicy": { + "AWS_MediaPackageV2_ChannelGroup": { "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": "

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", @@ -37111,14 +37175,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::ResourcePolicy" + "AWS::MediaPackageV2::ChannelGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcepolicy.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-ssm-resourcepolicy.json" + "$ref": "resources/aws-mediapackagev2-channelgroup.json" } }, "required": [ @@ -37132,9 +37196,9 @@ ], "additionalProperties": false }, - "AWS_EMR_Studio": { + "AWS_Bedrock_Agent": { "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": "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", @@ -37142,14 +37206,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::Studio" + "AWS::Bedrock::Agent" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EMR::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.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-emr-studio.json" + "$ref": "resources/aws-bedrock-agent.json" } }, "required": [ @@ -37163,9 +37227,9 @@ ], "additionalProperties": false }, - "AWS_IVS_PlaybackKeyPair": { + "AWS_Greengrass_CoreDefinitionVersion": { "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": "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", @@ -37173,18 +37237,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::PlaybackKeyPair" + "AWS::Greengrass::CoreDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::PlaybackKeyPair \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.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-ivs-playbackkeypair.json" + "$ref": "resources/aws-greengrass-coredefinitionversion.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37193,9 +37258,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_User": { + "AWS_Route53RecoveryReadiness_Cell": { "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": "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", @@ -37203,19 +37268,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::User" + "AWS::Route53RecoveryReadiness::Cell" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MemoryDB::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.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-memorydb-user.json" + "$ref": "resources/aws-route53recoveryreadiness-cell.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -37224,9 +37288,9 @@ ], "additionalProperties": false }, - "AWS_S3_AccessGrant": { + "AWS_CertificateManager_Account": { "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::CertificateManager::Account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-account.html)", "allOf": [ { "type": "object", @@ -37234,14 +37298,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::AccessGrant" + "AWS::CertificateManager::Account" ], "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::CertificateManager::Account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-account.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-accessgrant.json" + "$ref": "resources/aws-certificatemanager-account.json" } }, "required": [ @@ -37255,9 +37319,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_ConnectorDefinition": { + "AWS_SimSpaceWeaver_Simulation": { "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": "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", @@ -37265,14 +37329,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::ConnectorDefinition" + "AWS::SimSpaceWeaver::Simulation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::ConnectorDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.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-greengrass-connectordefinition.json" + "$ref": "resources/aws-simspaceweaver-simulation.json" } }, "required": [ @@ -37286,9 +37350,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalogAppRegistry_Application": { + "AWS_Lambda_Function": { "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": "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)", "allOf": [ { "type": "object", @@ -37296,14 +37360,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalogAppRegistry::Application" + "AWS::Lambda::Function" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalogAppRegistry::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.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 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)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalogappregistry-application.json" + "$ref": "resources/aws-lambda-function.json" } }, "required": [ @@ -37317,9 +37381,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_ServiceNetworkVpcAssociation": { + "AWS_NetworkManager_CustomerGatewayAssociation": { "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::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", @@ -37327,18 +37391,19 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::ServiceNetworkVpcAssociation" + "AWS::NetworkManager::CustomerGatewayAssociation" ], "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::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-vpclattice-servicenetworkvpcassociation.json" + "$ref": "resources/aws-networkmanager-customergatewayassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37347,9 +37412,9 @@ ], "additionalProperties": false }, - "AWS_CodeStarNotifications_NotificationRule": { + "AWS_SSM_Association": { "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": "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", @@ -37357,14 +37422,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStarNotifications::NotificationRule" + "AWS::SSM::Association" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeStarNotifications::NotificationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.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-codestarnotifications-notificationrule.json" + "$ref": "resources/aws-ssm-association.json" } }, "required": [ @@ -37378,9 +37443,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_GameSessionQueue": { + "AWS_IoTAnalytics_Datastore": { "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": "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", @@ -37388,19 +37453,18 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::GameSessionQueue" + "AWS::IoTAnalytics::Datastore" ], "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)" + "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-gamelift-gamesessionqueue.json" + "$ref": "resources/aws-iotanalytics-datastore.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -37409,9 +37473,9 @@ ], "additionalProperties": false }, - "AWS_Connect_InstanceStorageConfig": { + "AWS_CodeStarConnections_Connection": { "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": "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", @@ -37419,14 +37483,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::InstanceStorageConfig" + "AWS::CodeStarConnections::Connection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::InstanceStorageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instancestorageconfig.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-connect-instancestorageconfig.json" + "$ref": "resources/aws-codestarconnections-connection.json" } }, "required": [ @@ -37440,9 +37504,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_DataSet": { + "AWS_WorkSpacesWeb_UserSettings": { "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": "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", @@ -37450,18 +37514,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::DataSet" + "AWS::WorkSpacesWeb::UserSettings" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::DataSet Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.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-quicksight-dataset.json" + "$ref": "resources/aws-workspacesweb-usersettings.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37470,9 +37535,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayMulticastDomainAssociation": { + "AWS_Cognito_IdentityPoolPrincipalTag": { "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 Type definition for AWS::Cognito::IdentityPoolPrincipalTag \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html)", "allOf": [ { "type": "object", @@ -37480,14 +37545,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayMulticastDomainAssociation" + "AWS::Cognito::IdentityPoolPrincipalTag" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayMulticastDomainAssociation type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.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-ec2-transitgatewaymulticastdomainassociation.json" + "$ref": "resources/aws-cognito-identitypoolprincipaltag.json" } }, "required": [ @@ -37501,9 +37566,9 @@ ], "additionalProperties": false }, - "AWS_SNS_Topic": { + "AWS_Lightsail_Alarm": { "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::Lightsail::Alarm \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html)", "allOf": [ { "type": "object", @@ -37511,18 +37576,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SNS::Topic" + "AWS::Lightsail::Alarm" ], "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::Lightsail::Alarm \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html)" ] }, "Properties": { - "$ref": "resources/aws-sns-topic.json" + "$ref": "resources/aws-lightsail-alarm.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37531,9 +37597,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_Service": { + "AWS_Evidently_Launch": { "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::Evidently::Launch. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-launch.html)", "allOf": [ { "type": "object", @@ -37541,18 +37607,19 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::Service" + "AWS::Evidently::Launch" ], "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::Evidently::Launch. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-launch.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-service.json" + "$ref": "resources/aws-evidently-launch.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37561,9 +37628,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_FirewallDomainList": { + "AWS_LookoutVision_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": "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", @@ -37571,18 +37638,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::FirewallDomainList" + "AWS::LookoutVision::Project" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::FirewallDomainList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewalldomainlist.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-route53resolver-firewalldomainlist.json" + "$ref": "resources/aws-lookoutvision-project.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37591,9 +37659,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_ApiKey": { + "AWS_EC2_IPAMResourceDiscoveryAssociation": { "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 of AWS::EC2::IPAMResourceDiscoveryAssociation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html)", "allOf": [ { "type": "object", @@ -37601,14 +37669,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::ApiKey" + "AWS::EC2::IPAMResourceDiscoveryAssociation" ], "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 of AWS::EC2::IPAMResourceDiscoveryAssociation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-apikey.json" + "$ref": "resources/aws-ec2-ipamresourcediscoveryassociation.json" } }, "required": [ @@ -37622,9 +37690,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_Listener": { + "AWS_GuardDuty_IPSet": { "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": "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", @@ -37632,14 +37700,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::Listener" + "AWS::GuardDuty::IPSet" ], "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)" + "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-elasticloadbalancingv2-listener.json" + "$ref": "resources/aws-guardduty-ipset.json" } }, "required": [ @@ -37653,9 +37721,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInterfacePermission": { + "AWS_Deadline_Queue": { "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": "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", @@ -37663,14 +37731,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInterfacePermission" + "AWS::Deadline::Queue" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::NetworkInterfacePermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.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-ec2-networkinterfacepermission.json" + "$ref": "resources/aws-deadline-queue.json" } }, "required": [ @@ -37684,9 +37752,9 @@ ], "additionalProperties": false }, - "AWS_CleanRoomsML_TrainingDataset": { + "AWS_CodePipeline_Webhook": { "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 Type definition for AWS::CodePipeline::Webhook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html)", "allOf": [ { "type": "object", @@ -37694,14 +37762,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRoomsML::TrainingDataset" + "AWS::CodePipeline::Webhook" ], "markdownEnumDescriptions": [ - "Definition of AWS::CleanRoomsML::TrainingDataset Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.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-cleanroomsml-trainingdataset.json" + "$ref": "resources/aws-codepipeline-webhook.json" } }, "required": [ @@ -37715,9 +37783,9 @@ ], "additionalProperties": false }, - "AWS_NimbleStudio_Studio": { + "AWS_ElasticBeanstalk_ConfigurationTemplate": { "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": "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", @@ -37725,14 +37793,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NimbleStudio::Studio" + "AWS::ElasticBeanstalk::ConfigurationTemplate" ], "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)" + "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-nimblestudio-studio.json" + "$ref": "resources/aws-elasticbeanstalk-configurationtemplate.json" } }, "required": [ @@ -37746,9 +37814,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationEFS": { + "AWS_Route53RecoveryControl_SafetyRule": { "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 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", @@ -37756,19 +37824,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationEFS" + "AWS::Route53RecoveryControl::SafetyRule" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationEFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.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-datasync-locationefs.json" + "$ref": "resources/aws-route53recoverycontrol-safetyrule.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -37777,9 +37844,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverQueryLoggingConfigAssociation": { + "AWS_SageMaker_AppImageConfig": { "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::SageMaker::AppImageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html)", "allOf": [ { "type": "object", @@ -37787,18 +37854,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + "AWS::SageMaker::AppImageConfig" ], "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::SageMaker::AppImageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverqueryloggingconfigassociation.json" + "$ref": "resources/aws-sagemaker-appimageconfig.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37807,9 +37875,9 @@ ], "additionalProperties": false }, - "AWS_Macie_CustomDataIdentifier": { + "AWS_Organizations_OrganizationalUnit": { "type": "object", - "markdownDescription": "Macie CustomDataIdentifier resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.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", @@ -37817,14 +37885,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Macie::CustomDataIdentifier" + "AWS::Organizations::OrganizationalUnit" ], "markdownEnumDescriptions": [ - "Macie CustomDataIdentifier resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.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-macie-customdataidentifier.json" + "$ref": "resources/aws-organizations-organizationalunit.json" } }, "required": [ @@ -37838,9 +37906,9 @@ ], "additionalProperties": false }, - "AWS_Route53_RecordSet": { + "AWS_Glue_Connection": { "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::Glue::Connection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html)", "allOf": [ { "type": "object", @@ -37848,14 +37916,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::RecordSet" + "AWS::Glue::Connection" ], "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::Glue::Connection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-recordset.json" + "$ref": "resources/aws-glue-connection.json" } }, "required": [ @@ -37869,9 +37937,9 @@ ], "additionalProperties": false }, - "AWS_Amplify_Domain": { + "AWS_S3Outposts_BucketPolicy": { "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::S3Outposts::BucketPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html)", "allOf": [ { "type": "object", @@ -37879,14 +37947,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Amplify::Domain" + "AWS::S3Outposts::BucketPolicy" ], "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::S3Outposts::BucketPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-amplify-domain.json" + "$ref": "resources/aws-s3outposts-bucketpolicy.json" } }, "required": [ @@ -37900,9 +37968,9 @@ ], "additionalProperties": false }, - "AWS_S3_AccessPoint": { + "AWS_Amplify_Branch": { "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::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", @@ -37910,14 +37978,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::AccessPoint" + "AWS::Amplify::Branch" ], "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::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-s3-accesspoint.json" + "$ref": "resources/aws-amplify-branch.json" } }, "required": [ @@ -37931,9 +37999,9 @@ ], "additionalProperties": false }, - "AWS_IoT_RoleAlias": { + "AWS_IAM_AccessKey": { "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": "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", @@ -37941,14 +38009,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::RoleAlias" + "AWS::IAM::AccessKey" ], "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)" + "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-iot-rolealias.json" + "$ref": "resources/aws-iam-accesskey.json" } }, "required": [ @@ -37962,9 +38030,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_Campaign": { + "AWS_Timestream_InfluxDBInstance": { "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": "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", @@ -37972,14 +38040,44 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::Campaign" + "AWS::Timestream::InfluxDBInstance" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-campaign.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-iotfleetwise-campaign.json" + "$ref": "resources/aws-timestream-influxdbinstance.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_IoT_PolicyPrincipalAttachment": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::IoT::PolicyPrincipalAttachment" + ], + "markdownEnumDescriptions": [ + "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-iot-policyprincipalattachment.json" } }, "required": [ @@ -37993,9 +38091,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_Fleet": { + "AWS_ECR_PublicRepository": { "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": "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", @@ -38003,14 +38101,44 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::Fleet" + "AWS::ECR::PublicRepository" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.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-deadline-fleet.json" + "$ref": "resources/aws-ecr-publicrepository.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Route53Resolver_OutpostResolver": { + "type": "object", + "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", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Route53Resolver::OutpostResolver" + ], + "markdownEnumDescriptions": [ + "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-route53resolver-outpostresolver.json" } }, "required": [ @@ -38024,9 +38152,9 @@ ], "additionalProperties": false }, - "AWS_MSK_Configuration": { + "AWS_MediaConnect_BridgeOutput": { "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 schema for AWS::MediaConnect::BridgeOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html)", "allOf": [ { "type": "object", @@ -38034,14 +38162,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::Configuration" + "AWS::MediaConnect::BridgeOutput" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.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-msk-configuration.json" + "$ref": "resources/aws-mediaconnect-bridgeoutput.json" } }, "required": [ @@ -38055,9 +38183,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_StackFleetAssociation": { + "AWS_EC2_TransitGatewayPeeringAttachment": { "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": "The AWS::EC2::TransitGatewayPeeringAttachment type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html)", "allOf": [ { "type": "object", @@ -38065,14 +38193,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::StackFleetAssociation" + "AWS::EC2::TransitGatewayPeeringAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::StackFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.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-appstream-stackfleetassociation.json" + "$ref": "resources/aws-ec2-transitgatewaypeeringattachment.json" } }, "required": [ @@ -38086,9 +38214,9 @@ ], "additionalProperties": false }, - "AWS_CUR_ReportDefinition": { + "AWS_Lightsail_Disk": { "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::Lightsail::Disk \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disk.html)", "allOf": [ { "type": "object", @@ -38096,14 +38224,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CUR::ReportDefinition" + "AWS::Lightsail::Disk" ], "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::Lightsail::Disk \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disk.html)" ] }, "Properties": { - "$ref": "resources/aws-cur-reportdefinition.json" + "$ref": "resources/aws-lightsail-disk.json" } }, "required": [ @@ -38117,9 +38245,9 @@ ], "additionalProperties": false }, - "AWS_SupportApp_SlackChannelConfiguration": { + "AWS_Athena_NamedQuery": { "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": "Resource schema for AWS::Athena::NamedQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html)", "allOf": [ { "type": "object", @@ -38127,14 +38255,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SupportApp::SlackChannelConfiguration" + "AWS::Athena::NamedQuery" ], "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)" + "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-supportapp-slackchannelconfiguration.json" + "$ref": "resources/aws-athena-namedquery.json" } }, "required": [ @@ -38148,9 +38276,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_IdentityProvider": { + "AWS_IAM_InstanceProfile": { "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": "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", @@ -38158,14 +38286,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::IdentityProvider" + "AWS::IAM::InstanceProfile" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::IdentityProvider Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.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-workspacesweb-identityprovider.json" + "$ref": "resources/aws-iam-instanceprofile.json" } }, "required": [ @@ -38179,9 +38307,9 @@ ], "additionalProperties": false }, - "AWS_Logs_SubscriptionFilter": { + "AWS_MediaPackage_PackagingGroup": { "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": "Resource schema for AWS::MediaPackage::PackagingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html)", "allOf": [ { "type": "object", @@ -38189,14 +38317,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::SubscriptionFilter" + "AWS::MediaPackage::PackagingGroup" ], "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)" + "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-logs-subscriptionfilter.json" + "$ref": "resources/aws-mediapackage-packaginggroup.json" } }, "required": [ @@ -38210,9 +38338,9 @@ ], "additionalProperties": false }, - "AWS_Connect_IntegrationAssociation": { + "AWS_SecretsManager_ResourcePolicy": { "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::SecretsManager::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -38220,14 +38348,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::IntegrationAssociation" + "AWS::SecretsManager::ResourcePolicy" ], "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::SecretsManager::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-integrationassociation.json" + "$ref": "resources/aws-secretsmanager-resourcepolicy.json" } }, "required": [ @@ -38241,9 +38369,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationFSxOpenZFS": { + "AWS_ECS_TaskDefinition": { "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": "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. The available network modes correspond to those described in [Network settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#/network-settings) in the Docker run reference. If you specify the ``awsvpc`` network mode, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration 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", @@ -38251,14 +38379,74 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationFSxOpenZFS" + "AWS::ECS::TaskDefinition" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationFSxOpenZFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.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. The available network modes correspond to those described in [Network settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#/network-settings) in the Docker run reference. If you specify the ``awsvpc`` network mode, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration 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-datasync-locationfsxopenzfs.json" + "$ref": "resources/aws-ecs-taskdefinition.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_RDS_DBCluster": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::RDS::DBCluster" + ], + "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)" + ] + }, + "Properties": { + "$ref": "resources/aws-rds-dbcluster.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_WAFRegional_RegexPatternSet": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::WAFRegional::RegexPatternSet" + ], + "markdownEnumDescriptions": [ + "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-wafregional-regexpatternset.json" } }, "required": [ @@ -38272,9 +38460,9 @@ ], "additionalProperties": false }, - "AWS_M2_Environment": { + "AWS_GameLift_Alias": { "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": "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", @@ -38282,14 +38470,14 @@ "Type": { "type": "string", "enum": [ - "AWS::M2::Environment" + "AWS::GameLift::Alias" ], "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)" + "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-m2-environment.json" + "$ref": "resources/aws-gamelift-alias.json" } }, "required": [ @@ -38303,9 +38491,9 @@ ], "additionalProperties": false }, - "AWS_APS_Workspace": { + "AWS_AppStream_StackFleetAssociation": { "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::AppStream::StackFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html)", "allOf": [ { "type": "object", @@ -38313,18 +38501,19 @@ "Type": { "type": "string", "enum": [ - "AWS::APS::Workspace" + "AWS::AppStream::StackFleetAssociation" ], "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::AppStream::StackFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-aps-workspace.json" + "$ref": "resources/aws-appstream-stackfleetassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38333,9 +38522,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Gateway": { + "AWS_S3ObjectLambda_AccessPointPolicy": { "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": "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", @@ -38343,14 +38532,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Gateway" + "AWS::S3ObjectLambda::AccessPointPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.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-iotsitewise-gateway.json" + "$ref": "resources/aws-s3objectlambda-accesspointpolicy.json" } }, "required": [ @@ -38364,6 +38553,36 @@ ], "additionalProperties": false }, + "AWS_QuickSight_Topic": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::QuickSight::Topic" + ], + "markdownEnumDescriptions": [ + "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-quicksight-topic.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, "AWS_Glue_Job": { "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)", @@ -38395,9 +38614,9 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_DevicePool": { + "AWS_Logs_ResourcePolicy": { "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": "The resource schema for AWSLogs ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -38405,14 +38624,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::DevicePool" + "AWS::Logs::ResourcePolicy" ], "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)" + "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-devicefarm-devicepool.json" + "$ref": "resources/aws-logs-resourcepolicy.json" } }, "required": [ @@ -38426,9 +38645,9 @@ ], "additionalProperties": false }, - "AWS_Route53Profiles_Profile": { + "AWS_Lightsail_Instance": { "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::Lightsail::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instance.html)", "allOf": [ { "type": "object", @@ -38436,14 +38655,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Profiles::Profile" + "AWS::Lightsail::Instance" ], "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::Lightsail::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instance.html)" ] }, "Properties": { - "$ref": "resources/aws-route53profiles-profile.json" + "$ref": "resources/aws-lightsail-instance.json" } }, "required": [ @@ -38457,9 +38676,9 @@ ], "additionalProperties": false }, - "AWS_Route53Profiles_ProfileAssociation": { + "AWS_Lambda_Permission": { "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": "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", @@ -38467,14 +38686,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Profiles::ProfileAssociation" + "AWS::Lambda::Permission" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Profiles::ProfileAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileassociation.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-route53profiles-profileassociation.json" + "$ref": "resources/aws-lambda-permission.json" } }, "required": [ @@ -38488,9 +38707,9 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_InstanceProfile": { + "AWS_GuardDuty_Master": { "type": "object", - "markdownDescription": "AWS::DeviceFarm::InstanceProfile creates a new Device Farm Instance Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-instanceprofile.html)", + "markdownDescription": "GuardDuty Master resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html)", "allOf": [ { "type": "object", @@ -38498,14 +38717,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::InstanceProfile" + "AWS::GuardDuty::Master" ], "markdownEnumDescriptions": [ - "AWS::DeviceFarm::InstanceProfile creates a new Device Farm Instance Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-instanceprofile.html)" + "GuardDuty Master resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html)" ] }, "Properties": { - "$ref": "resources/aws-devicefarm-instanceprofile.json" + "$ref": "resources/aws-guardduty-master.json" } }, "required": [ @@ -38519,9 +38738,9 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_Project": { + "AWS_Lambda_Version": { "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::Lambda::Version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)", "allOf": [ { "type": "object", @@ -38529,14 +38748,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::Project" + "AWS::Lambda::Version" ], "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::Lambda::Version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)" ] }, "Properties": { - "$ref": "resources/aws-devicefarm-project.json" + "$ref": "resources/aws-lambda-version.json" } }, "required": [ @@ -38550,9 +38769,9 @@ ], "additionalProperties": false }, - "AWS_Route53Profiles_ProfileResourceAssociation": { + "AWS_IoT_MitigationAction": { "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": "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", @@ -38560,14 +38779,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Profiles::ProfileResourceAssociation" + "AWS::IoT::MitigationAction" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Profiles::ProfileResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileresourceassociation.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-route53profiles-profileresourceassociation.json" + "$ref": "resources/aws-iot-mitigationaction.json" } }, "required": [ @@ -38581,9 +38800,9 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_TestGridProject": { + "AWS_Personalize_Solution": { "type": "object", - "markdownDescription": "AWS::DeviceFarm::TestGridProject creates a new TestGrid Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-testgridproject.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", @@ -38591,14 +38810,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::TestGridProject" + "AWS::Personalize::Solution" ], "markdownEnumDescriptions": [ - "AWS::DeviceFarm::TestGridProject creates a new TestGrid Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-testgridproject.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-devicefarm-testgridproject.json" + "$ref": "resources/aws-personalize-solution.json" } }, "required": [ @@ -38612,9 +38831,9 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_NetworkProfile": { + "AWS_SSO_PermissionSet": { "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": "Resource Type definition for SSO PermissionSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html)", "allOf": [ { "type": "object", @@ -38622,14 +38841,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::NetworkProfile" + "AWS::SSO::PermissionSet" ], "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)" + "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-devicefarm-networkprofile.json" + "$ref": "resources/aws-sso-permissionset.json" } }, "required": [ @@ -38643,9 +38862,9 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_VPCEConfiguration": { + "AWS_KinesisAnalyticsV2_ApplicationCloudWatchLoggingOption": { "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": "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", @@ -38653,14 +38872,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::VPCEConfiguration" + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" ], "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)" + "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-devicefarm-vpceconfiguration.json" + "$ref": "resources/aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.json" } }, "required": [ @@ -38673,3777 +38892,4710 @@ } ], "additionalProperties": false - } - }, - "properties": { - "Resources": { + }, + "AWS_ECS_Cluster": { "type": "object", - "additionalProperties": false, - "minProperties": 1, - "patternProperties": { - "^[a-zA-Z0-9]{1,255}$": { - "oneOf": [ - { - "$ref": "#/definitions/CustomResource" + "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", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ECS::Cluster" + ], + "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)" + ] }, - { - "$ref": "#/definitions/AWS_Cognito_UserPoolIdentityProvider" + "Properties": { + "$ref": "resources/aws-ecs-cluster.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_QBusiness_Retriever": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::QBusiness::Retriever" + ], + "markdownEnumDescriptions": [ + "Definition of AWS::QBusiness::Retriever Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html)" + ] }, - { - "$ref": "#/definitions/AWS_AppSync_DataSource" + "Properties": { + "$ref": "resources/aws-qbusiness-retriever.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_SecretsManager_Secret": { + "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 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 A common scenario is to first create a secret with ``GenerateSecretString``, which generates a password, and then use a dynamic reference to retrieve the username and password from the secret to use as credentials for a new database. See the example *Creating a Redshift cluster and a secret for the admin credentials*.\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", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::SecretsManager::Secret" + ], + "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 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 A common scenario is to first create a secret with ``GenerateSecretString``, which generates a password, and then use a dynamic reference to retrieve the username and password from the secret to use as credentials for a new database. See the example *Creating a Redshift cluster and a secret for the admin credentials*.\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-secretsmanager-secret.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_MediaConnect_FlowSource": { + "type": "object", + "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", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::MediaConnect::FlowSource" + ], + "markdownEnumDescriptions": [ + "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-mediaconnect-flowsource.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_QBusiness_Plugin": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::QBusiness::Plugin" + ], + "markdownEnumDescriptions": [ + "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-qbusiness-plugin.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_RDS_DBProxy": { + "type": "object", + "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", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::RDS::DBProxy" + ], + "markdownEnumDescriptions": [ + "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-rds-dbproxy.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Kendra_DataSource": { + "type": "object", + "markdownDescription": "Kendra DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Kendra::DataSource" + ], + "markdownEnumDescriptions": [ + "Kendra DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-kendra-datasource.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_AutoScaling_LifecycleHook": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::AutoScaling::LifecycleHook" + ], + "markdownEnumDescriptions": [ + "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-autoscaling-lifecyclehook.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_EKS_Addon": { + "type": "object", + "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", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::EKS::Addon" + ], + "markdownEnumDescriptions": [ + "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-eks-addon.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ElastiCache_ServerlessCache": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ElastiCache::ServerlessCache" + ], + "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)" + ] + }, + "Properties": { + "$ref": "resources/aws-elasticache-serverlesscache.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_EC2_TrafficMirrorFilter": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::EC2::TrafficMirrorFilter" + ], + "markdownEnumDescriptions": [ + "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-ec2-trafficmirrorfilter.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_CodeStarNotifications_NotificationRule": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::CodeStarNotifications::NotificationRule" + ], + "markdownEnumDescriptions": [ + "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-codestarnotifications-notificationrule.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_CodeBuild_Fleet": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::CodeBuild::Fleet" + ], + "markdownEnumDescriptions": [ + "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-codebuild-fleet.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Bedrock_GuardrailVersion": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Bedrock::GuardrailVersion" + ], + "markdownEnumDescriptions": [ + "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-bedrock-guardrailversion.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_SSM_ResourceDataSync": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::SSM::ResourceDataSync" + ], + "markdownEnumDescriptions": [ + "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-ssm-resourcedatasync.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Logs_LogGroup": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Logs::LogGroup" + ], + "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)" + ] + }, + "Properties": { + "$ref": "resources/aws-logs-loggroup.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_IVS_PlaybackKeyPair": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::IVS::PlaybackKeyPair" + ], + "markdownEnumDescriptions": [ + "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-ivs-playbackkeypair.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_AppSync_GraphQLSchema": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::AppSync::GraphQLSchema" + ], + "markdownEnumDescriptions": [ + "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-appsync-graphqlschema.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_DataPipeline_Pipeline": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::DataPipeline::Pipeline" + ], + "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)" + ] + }, + "Properties": { + "$ref": "resources/aws-datapipeline-pipeline.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_SES_EmailIdentity": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::SES::EmailIdentity" + ], + "markdownEnumDescriptions": [ + "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-ses-emailidentity.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_LakeFormation_Permissions": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::LakeFormation::Permissions" + ], + "markdownEnumDescriptions": [ + "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-lakeformation-permissions.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_DeviceFarm_TestGridProject": { + "type": "object", + "markdownDescription": "AWS::DeviceFarm::TestGridProject creates a new TestGrid Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-testgridproject.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::DeviceFarm::TestGridProject" + ], + "markdownEnumDescriptions": [ + "AWS::DeviceFarm::TestGridProject creates a new TestGrid Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-testgridproject.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-devicefarm-testgridproject.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_DeviceFarm_Project": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::DeviceFarm::Project" + ], + "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)" + ] + }, + "Properties": { + "$ref": "resources/aws-devicefarm-project.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_DeviceFarm_InstanceProfile": { + "type": "object", + "markdownDescription": "AWS::DeviceFarm::InstanceProfile creates a new Device Farm Instance Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-instanceprofile.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::DeviceFarm::InstanceProfile" + ], + "markdownEnumDescriptions": [ + "AWS::DeviceFarm::InstanceProfile creates a new Device Farm Instance Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-instanceprofile.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-devicefarm-instanceprofile.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": [ + "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_DevicePool": { + "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)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::DeviceFarm::DevicePool" + ], + "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)" + ] + }, + "Properties": { + "$ref": "resources/aws-devicefarm-devicepool.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + } + }, + "properties": { + "Resources": { + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "patternProperties": { + "^[a-zA-Z0-9]{1,255}$": { + "oneOf": [ + { + "$ref": "#/definitions/CustomResource" + }, + { + "$ref": "#/definitions/AWS_SageMaker_DeviceFleet" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_TagOption" + "$ref": "#/definitions/AWS_PCAConnectorAD_Connector" }, { - "$ref": "#/definitions/AWS_FraudDetector_EventType" + "$ref": "#/definitions/AWS_GuardDuty_MalwareProtectionPlan" }, { - "$ref": "#/definitions/AWS_AppRunner_ObservabilityConfiguration" + "$ref": "#/definitions/AWS_S3_MultiRegionAccessPoint" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverConfig" + "$ref": "#/definitions/AWS_AppSync_DomainNameApiAssociation" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_PrivateDnsNamespace" + "$ref": "#/definitions/AWS_RolesAnywhere_TrustAnchor" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_VpcEndpoint" + "$ref": "#/definitions/AWS_WAFRegional_ByteMatchSet" }, { - "$ref": "#/definitions/AWS_SecurityHub_DelegatedAdmin" + "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTableVPCAssociation" }, { - "$ref": "#/definitions/AWS_SageMaker_Domain" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_ListenerCertificate" }, { - "$ref": "#/definitions/AWS_DynamoDB_Table" + "$ref": "#/definitions/AWS_DataSync_LocationFSxLustre" }, { - "$ref": "#/definitions/AWS_AppSync_SourceApiAssociation" + "$ref": "#/definitions/AWS_EC2_IPAMPool" }, { - "$ref": "#/definitions/AWS_Redshift_ScheduledAction" + "$ref": "#/definitions/AWS_EC2_NetworkInsightsPath" }, { - "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayPeering" + "$ref": "#/definitions/AWS_RoboMaker_SimulationApplication" }, { - "$ref": "#/definitions/AWS_SES_ReceiptRule" + "$ref": "#/definitions/AWS_IAM_Role" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioPrincipalAssociation" + "$ref": "#/definitions/AWS_CloudFormation_CustomResource" }, { - "$ref": "#/definitions/AWS_ElastiCache_ServerlessCache" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverEndpoint" }, { - "$ref": "#/definitions/AWS_QLDB_Ledger" + "$ref": "#/definitions/AWS_Connect_User" }, { - "$ref": "#/definitions/AWS_AppIntegrations_DataIntegration" + "$ref": "#/definitions/AWS_Inspector_AssessmentTarget" }, { - "$ref": "#/definitions/AWS_APS_Scraper" + "$ref": "#/definitions/AWS_IAM_SAMLProvider" }, { - "$ref": "#/definitions/AWS_DataSync_LocationObjectStorage" + "$ref": "#/definitions/AWS_EntityResolution_PolicyStatement" }, { - "$ref": "#/definitions/AWS_Logs_DeliveryDestination" + "$ref": "#/definitions/AWS_RDS_EventSubscription" }, { - "$ref": "#/definitions/AWS_RefactorSpaces_Application" + "$ref": "#/definitions/AWS_S3_StorageLens" }, { - "$ref": "#/definitions/AWS_AppStream_DirectoryConfig" + "$ref": "#/definitions/AWS_CodeBuild_SourceCredential" }, { - "$ref": "#/definitions/AWS_WAF_SizeConstraintSet" + "$ref": "#/definitions/AWS_IAM_GroupPolicy" }, { - "$ref": "#/definitions/AWS_SSMContacts_Rotation" + "$ref": "#/definitions/AWS_KafkaConnect_WorkerConfiguration" }, { - "$ref": "#/definitions/AWS_PinpointEmail_Identity" + "$ref": "#/definitions/AWS_EKS_PodIdentityAssociation" }, { - "$ref": "#/definitions/AWS_Greengrass_Group" + "$ref": "#/definitions/AWS_MediaPackageV2_OriginEndpoint" }, { - "$ref": "#/definitions/AWS_KendraRanking_ExecutionPlan" + "$ref": "#/definitions/AWS_DocDB_DBSubnetGroup" }, { - "$ref": "#/definitions/AWS_Lambda_EventSourceMapping" + "$ref": "#/definitions/AWS_VpcLattice_AccessLogSubscription" }, { - "$ref": "#/definitions/AWS_AppSync_GraphQLApi" + "$ref": "#/definitions/AWS_Lex_BotVersion" }, { - "$ref": "#/definitions/AWS_SageMaker_EndpointConfig" + "$ref": "#/definitions/AWS_RDS_CustomDBEngineVersion" }, { - "$ref": "#/definitions/AWS_Glue_DevEndpoint" + "$ref": "#/definitions/AWS_AppRunner_VpcIngressConnection" }, { - "$ref": "#/definitions/AWS_ControlTower_EnabledControl" + "$ref": "#/definitions/AWS_Lightsail_LoadBalancer" }, { - "$ref": "#/definitions/AWS_EMR_SecurityConfiguration" + "$ref": "#/definitions/AWS_Redshift_EndpointAccess" }, { - "$ref": "#/definitions/AWS_CloudFront_KeyValueStore" + "$ref": "#/definitions/AWS_PCAConnectorAD_ServicePrincipalName" }, { - "$ref": "#/definitions/AWS_CE_CostCategory" + "$ref": "#/definitions/AWS_S3Express_DirectoryBucket" }, { - "$ref": "#/definitions/AWS_SageMaker_DataQualityJobDefinition" + "$ref": "#/definitions/AWS_ApiGatewayV2_ApiMapping" }, { - "$ref": "#/definitions/AWS_DataSync_LocationFSxLustre" + "$ref": "#/definitions/AWS_OpsWorks_Volume" }, { - "$ref": "#/definitions/AWS_Config_OrganizationConformancePack" + "$ref": "#/definitions/AWS_Transfer_User" }, { - "$ref": "#/definitions/AWS_SageMaker_Project" + "$ref": "#/definitions/AWS_OpenSearchServerless_AccessPolicy" }, { - "$ref": "#/definitions/AWS_SSMContacts_Plan" + "$ref": "#/definitions/AWS_GameLift_Fleet" }, { - "$ref": "#/definitions/AWS_RolesAnywhere_CRL" + "$ref": "#/definitions/AWS_CodeArtifact_PackageGroup" }, { - "$ref": "#/definitions/AWS_GroundStation_MissionProfile" + "$ref": "#/definitions/AWS_OpsWorks_App" }, { - "$ref": "#/definitions/AWS_IoTAnalytics_Pipeline" + "$ref": "#/definitions/AWS_InternetMonitor_Monitor" }, { - "$ref": "#/definitions/AWS_SSMIncidents_ReplicationSet" + "$ref": "#/definitions/AWS_MSK_Configuration" }, { - "$ref": "#/definitions/AWS_AppRunner_AutoScalingConfiguration" + "$ref": "#/definitions/AWS_RoboMaker_RobotApplication" }, { - "$ref": "#/definitions/AWS_IVSChat_Room" + "$ref": "#/definitions/AWS_IoT_Certificate" }, { - "$ref": "#/definitions/AWS_Config_ConformancePack" + "$ref": "#/definitions/AWS_KMS_Key" }, { - "$ref": "#/definitions/AWS_IoTWireless_TaskDefinition" + "$ref": "#/definitions/AWS_Panorama_ApplicationInstance" }, { - "$ref": "#/definitions/AWS_NetworkManager_GlobalNetwork" + "$ref": "#/definitions/AWS_CloudTrail_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_WAFRegional_GeoMatchSet" + "$ref": "#/definitions/AWS_AppRunner_VpcConnector" }, { - "$ref": "#/definitions/AWS_ImageBuilder_ImagePipeline" + "$ref": "#/definitions/AWS_IAM_ServerCertificate" }, { - "$ref": "#/definitions/AWS_MediaTailor_ChannelPolicy" + "$ref": "#/definitions/AWS_ECR_PullThroughCacheRule" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_FirewallPolicy" + "$ref": "#/definitions/AWS_CloudFront_KeyValueStore" }, { - "$ref": "#/definitions/AWS_AppRunner_Service" + "$ref": "#/definitions/AWS_Config_ConfigRule" }, { - "$ref": "#/definitions/AWS_AutoScaling_LaunchConfiguration" + "$ref": "#/definitions/AWS_Logs_DeliverySource" }, { - "$ref": "#/definitions/AWS_Pinpoint_APNSVoipSandboxChannel" + "$ref": "#/definitions/AWS_CodeCommit_Repository" }, { - "$ref": "#/definitions/AWS_ECS_TaskSet" + "$ref": "#/definitions/AWS_RUM_AppMonitor" }, { - "$ref": "#/definitions/AWS_SageMaker_Device" + "$ref": "#/definitions/AWS_SSM_MaintenanceWindow" }, { - "$ref": "#/definitions/AWS_IoT_DomainConfiguration" + "$ref": "#/definitions/AWS_LakeFormation_TagAssociation" }, { - "$ref": "#/definitions/AWS_S3_MultiRegionAccessPoint" + "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioProductAssociation" }, { - "$ref": "#/definitions/AWS_EventSchemas_RegistryPolicy" + "$ref": "#/definitions/AWS_RedshiftServerless_Workgroup" }, { - "$ref": "#/definitions/AWS_Connect_Queue" + "$ref": "#/definitions/AWS_EC2_PlacementGroup" }, { - "$ref": "#/definitions/AWS_AutoScaling_AutoScalingGroup" + "$ref": "#/definitions/AWS_AppStream_Stack" }, { - "$ref": "#/definitions/AWS_Pinpoint_ADMChannel" + "$ref": "#/definitions/AWS_QLDB_Ledger" }, { - "$ref": "#/definitions/AWS_DMS_ReplicationConfig" + "$ref": "#/definitions/AWS_MSK_ClusterPolicy" }, { - "$ref": "#/definitions/AWS_ECR_ReplicationConfiguration" + "$ref": "#/definitions/AWS_BillingConductor_BillingGroup" }, { - "$ref": "#/definitions/AWS_ApiGateway_Method" + "$ref": "#/definitions/AWS_NetworkManager_Device" }, { - "$ref": "#/definitions/AWS_AccessAnalyzer_Analyzer" + "$ref": "#/definitions/AWS_DynamoDB_Table" }, { - "$ref": "#/definitions/AWS_BillingConductor_PricingPlan" + "$ref": "#/definitions/AWS_Glue_SchemaVersion" }, { - "$ref": "#/definitions/AWS_CloudTrail_ResourcePolicy" + "$ref": "#/definitions/AWS_CloudFront_KeyGroup" }, { - "$ref": "#/definitions/AWS_DMS_ReplicationInstance" + "$ref": "#/definitions/AWS_GuardDuty_ThreatIntelSet" }, { - "$ref": "#/definitions/AWS_WAF_XssMatchSet" + "$ref": "#/definitions/AWS_DataZone_Environment" }, { - "$ref": "#/definitions/AWS_AppSync_FunctionConfiguration" + "$ref": "#/definitions/AWS_EC2_ClientVpnRoute" }, { - "$ref": "#/definitions/AWS_Transfer_Server" + "$ref": "#/definitions/AWS_IoTFleetWise_SignalCatalog" }, { - "$ref": "#/definitions/AWS_SES_ConfigurationSet" + "$ref": "#/definitions/AWS_RoboMaker_Fleet" }, { - "$ref": "#/definitions/AWS_RoboMaker_SimulationApplicationVersion" + "$ref": "#/definitions/AWS_ApiGateway_Method" }, { - "$ref": "#/definitions/AWS_FSx_StorageVirtualMachine" + "$ref": "#/definitions/AWS_Cognito_UserPoolUserToGroupAttachment" }, { - "$ref": "#/definitions/AWS_Config_OrganizationConfigRule" + "$ref": "#/definitions/AWS_B2BI_Capability" }, { - "$ref": "#/definitions/AWS_Neptune_DBParameterGroup" + "$ref": "#/definitions/AWS_QBusiness_Index" }, { - "$ref": "#/definitions/AWS_Panorama_PackageVersion" + "$ref": "#/definitions/AWS_SageMaker_Space" }, { - "$ref": "#/definitions/AWS_KafkaConnect_WorkerConfiguration" + "$ref": "#/definitions/AWS_SupportApp_AccountAlias" }, { - "$ref": "#/definitions/AWS_ElasticBeanstalk_ApplicationVersion" + "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioPrincipalAssociation" }, { - "$ref": "#/definitions/AWS_ElastiCache_GlobalReplicationGroup" + "$ref": "#/definitions/AWS_ResourceExplorer2_DefaultViewAssociation" }, { - "$ref": "#/definitions/AWS_Proton_EnvironmentTemplate" + "$ref": "#/definitions/AWS_Route53Profiles_ProfileAssociation" }, { - "$ref": "#/definitions/AWS_Timestream_Database" + "$ref": "#/definitions/AWS_ApiGateway_Stage" }, { - "$ref": "#/definitions/AWS_EC2_VPCGatewayAttachment" + "$ref": "#/definitions/AWS_Config_AggregationAuthorization" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_Service" + "$ref": "#/definitions/AWS_IAM_ServiceLinkedRole" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolRiskConfigurationAttachment" + "$ref": "#/definitions/AWS_ApiGateway_VpcLink" }, { - "$ref": "#/definitions/AWS_SNS_Subscription" + "$ref": "#/definitions/AWS_IoTSiteWise_AssetModel" }, { - "$ref": "#/definitions/AWS_Redshift_Cluster" + "$ref": "#/definitions/AWS_Detective_MemberInvitation" }, { - "$ref": "#/definitions/AWS_LakeFormation_DataLakeSettings" + "$ref": "#/definitions/AWS_Cognito_UserPoolUser" }, { - "$ref": "#/definitions/AWS_ApiGateway_Account" + "$ref": "#/definitions/AWS_Deadline_Farm" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Deployment" + "$ref": "#/definitions/AWS_DevOpsGuru_ResourceCollection" }, { - "$ref": "#/definitions/AWS_Inspector_AssessmentTemplate" + "$ref": "#/definitions/AWS_SystemsManagerSAP_Application" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelCard" + "$ref": "#/definitions/AWS_DataBrew_Schedule" }, { - "$ref": "#/definitions/AWS_KinesisAnalytics_ApplicationReferenceDataSource" + "$ref": "#/definitions/AWS_Logs_QueryDefinition" }, { - "$ref": "#/definitions/AWS_ConnectCampaigns_Campaign" + "$ref": "#/definitions/AWS_Budgets_Budget" }, { - "$ref": "#/definitions/AWS_Logs_QueryDefinition" + "$ref": "#/definitions/AWS_Evidently_Project" }, { - "$ref": "#/definitions/AWS_Connect_EvaluationForm" + "$ref": "#/definitions/AWS_CodeStar_GitHubRepository" }, { - "$ref": "#/definitions/AWS_DataZone_Domain" + "$ref": "#/definitions/AWS_CertificateManager_Certificate" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayVpcAttachment" + "$ref": "#/definitions/AWS_IoT_ScheduledAudit" + }, + { + "$ref": "#/definitions/AWS_ApiGateway_DocumentationPart" + }, + { + "$ref": "#/definitions/AWS_EntityResolution_IdMappingWorkflow" + }, + { + "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationOutput" + }, + { + "$ref": "#/definitions/AWS_Lambda_Alias" + }, + { + "$ref": "#/definitions/AWS_Route53Resolver_ResolverDNSSECConfig" + }, + { + "$ref": "#/definitions/AWS_Config_RemediationConfiguration" }, { "$ref": "#/definitions/AWS_Chatbot_MicrosoftTeamsChannelConfiguration" }, { - "$ref": "#/definitions/AWS_Athena_NamedQuery" + "$ref": "#/definitions/AWS_Cognito_UserPoolUICustomizationAttachment" }, { - "$ref": "#/definitions/AWS_EventSchemas_Discoverer" + "$ref": "#/definitions/AWS_AppConfig_DeploymentStrategy" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioShare" + "$ref": "#/definitions/AWS_CodeArtifact_Domain" }, { - "$ref": "#/definitions/AWS_DataBrew_Schedule" + "$ref": "#/definitions/AWS_Glue_Database" }, { - "$ref": "#/definitions/AWS_Cognito_IdentityPool" + "$ref": "#/definitions/AWS_RDS_DBSecurityGroupIngress" }, { - "$ref": "#/definitions/AWS_OSIS_Pipeline" + "$ref": "#/definitions/AWS_SageMaker_Domain" }, { - "$ref": "#/definitions/AWS_S3_StorageLensGroup" + "$ref": "#/definitions/AWS_B2BI_Partnership" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_UserAccessLoggingSettings" + "$ref": "#/definitions/AWS_Bedrock_KnowledgeBase" }, { - "$ref": "#/definitions/AWS_MediaConnect_Bridge" + "$ref": "#/definitions/AWS_PinpointEmail_Identity" }, { - "$ref": "#/definitions/AWS_B2BI_Profile" + "$ref": "#/definitions/AWS_ApiGatewayV2_Model" }, { - "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationCloudWatchLoggingOption" + "$ref": "#/definitions/AWS_Athena_PreparedStatement" }, { - "$ref": "#/definitions/AWS_XRay_Group" + "$ref": "#/definitions/AWS_Lambda_LayerVersion" }, { - "$ref": "#/definitions/AWS_GameLift_Alias" + "$ref": "#/definitions/AWS_RedshiftServerless_Namespace" }, { - "$ref": "#/definitions/AWS_CleanRooms_Membership" + "$ref": "#/definitions/AWS_EC2_CapacityReservationFleet" }, { - "$ref": "#/definitions/AWS_DocDBElastic_Cluster" + "$ref": "#/definitions/AWS_Connect_HoursOfOperation" }, { - "$ref": "#/definitions/AWS_QuickSight_Analysis" + "$ref": "#/definitions/AWS_Events_Rule" }, { - "$ref": "#/definitions/AWS_MSK_ServerlessCluster" + "$ref": "#/definitions/AWS_WorkSpacesWeb_IpAccessSettings" }, { - "$ref": "#/definitions/AWS_EC2_SnapshotBlockPublicAccess" + "$ref": "#/definitions/AWS_CleanRooms_ConfiguredTable" }, { - "$ref": "#/definitions/AWS_ECS_CapacityProvider" + "$ref": "#/definitions/AWS_CloudFormation_StackSet" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelPackage" + "$ref": "#/definitions/AWS_CleanRoomsML_TrainingDataset" }, { - "$ref": "#/definitions/AWS_Omics_SequenceStore" + "$ref": "#/definitions/AWS_AmazonMQ_Broker" }, { - "$ref": "#/definitions/AWS_AppStream_StackUserAssociation" + "$ref": "#/definitions/AWS_Lex_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_SQS_QueueInlinePolicy" + "$ref": "#/definitions/AWS_Macie_FindingsFilter" }, { - "$ref": "#/definitions/AWS_B2BI_Transformer" + "$ref": "#/definitions/AWS_Config_OrganizationConfigRule" }, { - "$ref": "#/definitions/AWS_VpcLattice_Listener" + "$ref": "#/definitions/AWS_AppSync_ApiKey" }, { - "$ref": "#/definitions/AWS_EC2_DHCPOptions" + "$ref": "#/definitions/AWS_Pinpoint_SmsTemplate" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelExplainabilityJobDefinition" + "$ref": "#/definitions/AWS_Pinpoint_BaiduChannel" }, { - "$ref": "#/definitions/AWS_ApiGateway_Deployment" + "$ref": "#/definitions/AWS_IoT_Thing" }, { - "$ref": "#/definitions/AWS_Connect_Prompt" + "$ref": "#/definitions/AWS_Pinpoint_APNSChannel" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelBiasJobDefinition" + "$ref": "#/definitions/AWS_GameLift_GameSessionQueue" }, { - "$ref": "#/definitions/AWS_IoTWireless_NetworkAnalyzerConfiguration" + "$ref": "#/definitions/AWS_IoTAnalytics_Dataset" }, { - "$ref": "#/definitions/AWS_MediaPackage_PackagingGroup" + "$ref": "#/definitions/AWS_CloudFormation_Macro" }, { - "$ref": "#/definitions/AWS_MediaTailor_VodSource" + "$ref": "#/definitions/AWS_ManagedBlockchain_Node" }, { - "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationOutput" + "$ref": "#/definitions/AWS_DataZone_SubscriptionTarget" }, { - "$ref": "#/definitions/AWS_ApiGateway_Model" + "$ref": "#/definitions/AWS_ApiGatewayV2_IntegrationResponse" }, { - "$ref": "#/definitions/AWS_KinesisAnalytics_ApplicationOutput" + "$ref": "#/definitions/AWS_ServiceCatalog_Portfolio" }, { - "$ref": "#/definitions/AWS_IVS_EncoderConfiguration" + "$ref": "#/definitions/AWS_ConnectCampaigns_Campaign" }, { - "$ref": "#/definitions/AWS_KafkaConnect_Connector" + "$ref": "#/definitions/AWS_IoTFleetWise_ModelManifest" }, { - "$ref": "#/definitions/AWS_DocDB_DBInstance" + "$ref": "#/definitions/AWS_WorkSpaces_ConnectionAlias" }, { - "$ref": "#/definitions/AWS_ImageBuilder_Image" + "$ref": "#/definitions/AWS_CloudFront_PublicKey" }, { - "$ref": "#/definitions/AWS_Config_AggregationAuthorization" + "$ref": "#/definitions/AWS_MediaConnect_Flow" }, { - "$ref": "#/definitions/AWS_CloudFormation_Stack" + "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTablePropagation" }, { - "$ref": "#/definitions/AWS_SSM_Parameter" + "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayRegistration" + }, + { + "$ref": "#/definitions/AWS_PaymentCryptography_Key" + }, + { + "$ref": "#/definitions/AWS_ServiceCatalog_CloudFormationProduct" }, { "$ref": "#/definitions/AWS_IoTAnalytics_Channel" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_SyncJob" + "$ref": "#/definitions/AWS_EC2_EC2Fleet" }, { - "$ref": "#/definitions/AWS_ApiGateway_Resource" + "$ref": "#/definitions/AWS_EntityResolution_IdNamespace" }, { - "$ref": "#/definitions/AWS_Config_DeliveryChannel" + "$ref": "#/definitions/AWS_ECS_Service" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolDomain" + "$ref": "#/definitions/AWS_GroundStation_MissionProfile" }, { - "$ref": "#/definitions/AWS_FraudDetector_Label" + "$ref": "#/definitions/AWS_IoT_FleetMetric" }, { - "$ref": "#/definitions/AWS_ApiGateway_RequestValidator" + "$ref": "#/definitions/AWS_Transfer_Agreement" }, { - "$ref": "#/definitions/AWS_Logs_Delivery" + "$ref": "#/definitions/AWS_NetworkManager_LinkAssociation" }, { - "$ref": "#/definitions/AWS_MSK_Cluster" + "$ref": "#/definitions/AWS_RAM_Permission" }, { - "$ref": "#/definitions/AWS_Forecast_DatasetGroup" + "$ref": "#/definitions/AWS_IoTAnalytics_Pipeline" }, { - "$ref": "#/definitions/AWS_AppSync_Resolver" + "$ref": "#/definitions/AWS_S3_AccessGrantsInstance" }, { - "$ref": "#/definitions/AWS_CloudFormation_CustomResource" + "$ref": "#/definitions/AWS_IoTWireless_ServiceProfile" }, { - "$ref": "#/definitions/AWS_Inspector_ResourceGroup" + "$ref": "#/definitions/AWS_APS_Scraper" }, { - "$ref": "#/definitions/AWS_EntityResolution_PolicyStatement" + "$ref": "#/definitions/AWS_ServiceCatalog_AcceptedPortfolioShare" }, { - "$ref": "#/definitions/AWS_CodeBuild_Project" + "$ref": "#/definitions/AWS_QLDB_Stream" }, { - "$ref": "#/definitions/AWS_VerifiedPermissions_IdentitySource" + "$ref": "#/definitions/AWS_SES_VdmAttributes" }, { - "$ref": "#/definitions/AWS_LakeFormation_DataCellsFilter" + "$ref": "#/definitions/AWS_DataZone_ProjectMembership" }, { - "$ref": "#/definitions/AWS_IoT_SecurityProfile" + "$ref": "#/definitions/AWS_Redshift_ClusterSecurityGroupIngress" }, { - "$ref": "#/definitions/AWS_MemoryDB_Cluster" + "$ref": "#/definitions/AWS_XRay_SamplingRule" }, { - "$ref": "#/definitions/AWS_Evidently_Launch" + "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_ResourceAssociation" }, { - "$ref": "#/definitions/AWS_Pinpoint_PushTemplate" + "$ref": "#/definitions/AWS_EC2_Instance" }, { - "$ref": "#/definitions/AWS_GuardDuty_Filter" + "$ref": "#/definitions/AWS_EC2_SubnetCidrBlock" }, { - "$ref": "#/definitions/AWS_AppMesh_VirtualGateway" + "$ref": "#/definitions/AWS_WAFv2_IPSet" }, { - "$ref": "#/definitions/AWS_BillingConductor_CustomLineItem" + "$ref": "#/definitions/AWS_Redshift_EventSubscription" }, { - "$ref": "#/definitions/AWS_Bedrock_AgentAlias" + "$ref": "#/definitions/AWS_EC2_VPCEndpointService" }, { - "$ref": "#/definitions/AWS_IoTWireless_FuotaTask" + "$ref": "#/definitions/AWS_KafkaConnect_CustomPlugin" }, { - "$ref": "#/definitions/AWS_Cognito_LogDeliveryConfiguration" + "$ref": "#/definitions/AWS_LaunchWizard_Deployment" }, { - "$ref": "#/definitions/AWS_NimbleStudio_StudioComponent" + "$ref": "#/definitions/AWS_ElastiCache_GlobalReplicationGroup" }, { - "$ref": "#/definitions/AWS_Connect_QuickConnect" + "$ref": "#/definitions/AWS_SES_ContactList" }, { - "$ref": "#/definitions/AWS_Pinpoint_GCMChannel" + "$ref": "#/definitions/AWS_AuditManager_Assessment" }, { - "$ref": "#/definitions/AWS_Shield_Protection" + "$ref": "#/definitions/AWS_IVS_StorageConfiguration" }, { - "$ref": "#/definitions/AWS_CloudFormation_HookVersion" + "$ref": "#/definitions/AWS_DataSync_LocationFSxWindows" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_OriginEndpoint" + "$ref": "#/definitions/AWS_KinesisAnalytics_Application" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_ApiGatewayManagedOverrides" + "$ref": "#/definitions/AWS_RAM_ResourceShare" }, { - "$ref": "#/definitions/AWS_QuickSight_Dashboard" + "$ref": "#/definitions/AWS_CodeConnections_Connection" }, { - "$ref": "#/definitions/AWS_DocDB_DBCluster" + "$ref": "#/definitions/AWS_CloudFront_CloudFrontOriginAccessIdentity" }, { - "$ref": "#/definitions/AWS_EMRContainers_VirtualCluster" + "$ref": "#/definitions/AWS_MediaLive_Input" }, { - "$ref": "#/definitions/AWS_CloudFormation_HookTypeConfig" + "$ref": "#/definitions/AWS_Connect_TrafficDistributionGroup" }, { - "$ref": "#/definitions/AWS_EC2_SecurityGroupIngress" + "$ref": "#/definitions/AWS_DataBrew_Dataset" }, { - "$ref": "#/definitions/AWS_Pinpoint_EventStream" + "$ref": "#/definitions/AWS_Route53RecoveryControl_Cluster" }, { - "$ref": "#/definitions/AWS_AppConfig_DeploymentStrategy" + "$ref": "#/definitions/AWS_FSx_Snapshot" }, { - "$ref": "#/definitions/AWS_EC2_VPCCidrBlock" + "$ref": "#/definitions/AWS_Redshift_ClusterParameterGroup" }, { - "$ref": "#/definitions/AWS_EC2_InstanceConnectEndpoint" + "$ref": "#/definitions/AWS_Events_EventBusPolicy" }, { - "$ref": "#/definitions/AWS_RoboMaker_Fleet" + "$ref": "#/definitions/AWS_M2_Environment" }, { - "$ref": "#/definitions/AWS_CloudFormation_StackSet" + "$ref": "#/definitions/AWS_Backup_BackupVault" }, { - "$ref": "#/definitions/AWS_Pinpoint_BaiduChannel" + "$ref": "#/definitions/AWS_CodeArtifact_Repository" }, { - "$ref": "#/definitions/AWS_IoTAnalytics_Dataset" + "$ref": "#/definitions/AWS_EC2_TransitGatewayVpcAttachment" }, { - "$ref": "#/definitions/AWS_ECR_PullThroughCacheRule" + "$ref": "#/definitions/AWS_SecurityLake_SubscriberNotification" }, { - "$ref": "#/definitions/AWS_EKS_Cluster" + "$ref": "#/definitions/AWS_Location_GeofenceCollection" }, { - "$ref": "#/definitions/AWS_Logs_AccountPolicy" + "$ref": "#/definitions/AWS_ApiGateway_Deployment" }, { - "$ref": "#/definitions/AWS_AutoScalingPlans_ScalingPlan" + "$ref": "#/definitions/AWS_ECS_CapacityProvider" }, { - "$ref": "#/definitions/AWS_IAM_Role" + "$ref": "#/definitions/AWS_Greengrass_SubscriptionDefinition" }, { - "$ref": "#/definitions/AWS_MediaLive_Multiplexprogram" + "$ref": "#/definitions/AWS_EFS_MountTarget" }, { - "$ref": "#/definitions/AWS_Location_Tracker" + "$ref": "#/definitions/AWS_Athena_CapacityReservation" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_CloudFormationProduct" + "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationReferenceDataSource" }, { - "$ref": "#/definitions/AWS_WAF_Rule" + "$ref": "#/definitions/AWS_Neptune_EventSubscription" }, { - "$ref": "#/definitions/AWS_Elasticsearch_Domain" + "$ref": "#/definitions/AWS_EC2_EIPAssociation" }, { - "$ref": "#/definitions/AWS_FraudDetector_Detector" + "$ref": "#/definitions/AWS_Backup_RestoreTestingSelection" }, { - "$ref": "#/definitions/AWS_SSMContacts_Contact" + "$ref": "#/definitions/AWS_Greengrass_LoggerDefinition" }, { - "$ref": "#/definitions/AWS_DMS_MigrationProject" + "$ref": "#/definitions/AWS_ImageBuilder_ImageRecipe" }, { - "$ref": "#/definitions/AWS_VerifiedPermissions_Policy" + "$ref": "#/definitions/AWS_Greengrass_FunctionDefinitionVersion" }, { - "$ref": "#/definitions/AWS_Logs_Destination" + "$ref": "#/definitions/AWS_AppRunner_ObservabilityConfiguration" }, { - "$ref": "#/definitions/AWS_Shield_ProtectionGroup" + "$ref": "#/definitions/AWS_Cognito_UserPoolDomain" }, { - "$ref": "#/definitions/AWS_Route53_CidrCollection" + "$ref": "#/definitions/AWS_Glue_SecurityConfiguration" }, { - "$ref": "#/definitions/AWS_SES_ReceiptFilter" + "$ref": "#/definitions/AWS_FSx_FileSystem" }, { - "$ref": "#/definitions/AWS_Athena_WorkGroup" + "$ref": "#/definitions/AWS_EC2_VerifiedAccessTrustProvider" }, { - "$ref": "#/definitions/AWS_ResourceGroups_Group" + "$ref": "#/definitions/AWS_QuickSight_Template" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTableAssociation" + "$ref": "#/definitions/AWS_CloudWatch_InsightRule" + }, + { + "$ref": "#/definitions/AWS_IoTWireless_MulticastGroup" + }, + { + "$ref": "#/definitions/AWS_ControlTower_EnabledBaseline" + }, + { + "$ref": "#/definitions/AWS_RoboMaker_SimulationApplicationVersion" + }, + { + "$ref": "#/definitions/AWS_CloudWatch_Alarm" + }, + { + "$ref": "#/definitions/AWS_GameLift_Build" + }, + { + "$ref": "#/definitions/AWS_CloudFormation_PublicTypeVersion" + }, + { + "$ref": "#/definitions/AWS_LicenseManager_Grant" + }, + { + "$ref": "#/definitions/AWS_EC2_VPCEndpointConnectionNotification" + }, + { + "$ref": "#/definitions/AWS_QuickSight_DataSource" + }, + { + "$ref": "#/definitions/AWS_IoT_ThingGroup" + }, + { + "$ref": "#/definitions/AWS_IoTSiteWise_Gateway" + }, + { + "$ref": "#/definitions/AWS_IoT_Policy" + }, + { + "$ref": "#/definitions/AWS_CloudFormation_ModuleVersion" + }, + { + "$ref": "#/definitions/AWS_ServiceDiscovery_PublicDnsNamespace" + }, + { + "$ref": "#/definitions/AWS_Proton_ServiceTemplate" + }, + { + "$ref": "#/definitions/AWS_ElasticLoadBalancing_LoadBalancer" + }, + { + "$ref": "#/definitions/AWS_RoboMaker_RobotApplicationVersion" + }, + { + "$ref": "#/definitions/AWS_EMR_InstanceGroupConfig" + }, + { + "$ref": "#/definitions/AWS_WorkSpacesWeb_BrowserSettings" + }, + { + "$ref": "#/definitions/AWS_KendraRanking_ExecutionPlan" + }, + { + "$ref": "#/definitions/AWS_Rekognition_Collection" + }, + { + "$ref": "#/definitions/AWS_CodeBuild_ReportGroup" + }, + { + "$ref": "#/definitions/AWS_AutoScaling_AutoScalingGroup" + }, + { + "$ref": "#/definitions/AWS_Pinpoint_APNSVoipChannel" }, { - "$ref": "#/definitions/AWS_CodeArtifact_PackageGroup" + "$ref": "#/definitions/AWS_Route53RecoveryReadiness_ResourceSet" }, { - "$ref": "#/definitions/AWS_CloudWatch_MetricStream" + "$ref": "#/definitions/AWS_Glue_Crawler" }, { - "$ref": "#/definitions/AWS_CodeCommit_Repository" + "$ref": "#/definitions/AWS_APS_Workspace" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverEndpoint" + "$ref": "#/definitions/AWS_DataZone_EnvironmentBlueprintConfiguration" }, { - "$ref": "#/definitions/AWS_CodeBuild_Fleet" + "$ref": "#/definitions/AWS_IoTFleetWise_DecoderManifest" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_RuleGroup" + "$ref": "#/definitions/AWS_Synthetics_Group" }, { - "$ref": "#/definitions/AWS_OpenSearchService_Domain" + "$ref": "#/definitions/AWS_MediaPackageV2_ChannelPolicy" }, { - "$ref": "#/definitions/AWS_LicenseManager_License" + "$ref": "#/definitions/AWS_EC2_InternetGateway" }, { - "$ref": "#/definitions/AWS_BillingConductor_PricingRule" + "$ref": "#/definitions/AWS_Connect_SecurityProfile" }, { - "$ref": "#/definitions/AWS_Kendra_Index" + "$ref": "#/definitions/AWS_DAX_Cluster" }, { - "$ref": "#/definitions/AWS_Route53_HealthCheck" + "$ref": "#/definitions/AWS_Oam_Sink" }, { - "$ref": "#/definitions/AWS_CloudFormation_HookDefaultVersion" + "$ref": "#/definitions/AWS_Logs_DeliveryDestination" }, { - "$ref": "#/definitions/AWS_Bedrock_KnowledgeBase" + "$ref": "#/definitions/AWS_ServiceCatalog_CloudFormationProvisionedProduct" }, { - "$ref": "#/definitions/AWS_CodePipeline_Pipeline" + "$ref": "#/definitions/AWS_DataBrew_Recipe" }, { - "$ref": "#/definitions/AWS_MediaConnect_FlowEntitlement" + "$ref": "#/definitions/AWS_S3_MultiRegionAccessPointPolicy" }, { - "$ref": "#/definitions/AWS_Pinpoint_APNSChannel" + "$ref": "#/definitions/AWS_IVS_Stage" }, { - "$ref": "#/definitions/AWS_Batch_JobQueue" + "$ref": "#/definitions/AWS_MemoryDB_SubnetGroup" }, { - "$ref": "#/definitions/AWS_ControlTower_LandingZone" + "$ref": "#/definitions/AWS_SSMIncidents_ReplicationSet" }, { - "$ref": "#/definitions/AWS_DataSync_StorageSystem" + "$ref": "#/definitions/AWS_EC2_SnapshotBlockPublicAccess" }, { - "$ref": "#/definitions/AWS_DMS_DataProvider" + "$ref": "#/definitions/AWS_Neptune_DBInstance" }, { - "$ref": "#/definitions/AWS_DataBrew_Ruleset" + "$ref": "#/definitions/AWS_Pinpoint_InAppTemplate" }, { - "$ref": "#/definitions/AWS_DocDB_DBClusterParameterGroup" + "$ref": "#/definitions/AWS_QuickSight_DataSet" }, { - "$ref": "#/definitions/AWS_WorkSpaces_Workspace" + "$ref": "#/definitions/AWS_WAFRegional_WebACL" }, { - "$ref": "#/definitions/AWS_EC2_IPAMPool" + "$ref": "#/definitions/AWS_AppConfig_Extension" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolUICustomizationAttachment" + "$ref": "#/definitions/AWS_DocDB_DBInstance" }, { - "$ref": "#/definitions/AWS_DataBrew_Project" + "$ref": "#/definitions/AWS_IAM_RolePolicy" }, { - "$ref": "#/definitions/AWS_LookoutMetrics_Alert" + "$ref": "#/definitions/AWS_Lightsail_Database" }, { - "$ref": "#/definitions/AWS_Backup_ReportPlan" + "$ref": "#/definitions/AWS_MWAA_Environment" }, { - "$ref": "#/definitions/AWS_RAM_Permission" + "$ref": "#/definitions/AWS_EC2_CustomerGateway" }, { - "$ref": "#/definitions/AWS_Greengrass_SubscriptionDefinition" + "$ref": "#/definitions/AWS_ApiGateway_DocumentationVersion" }, { - "$ref": "#/definitions/AWS_EC2_IPAMScope" + "$ref": "#/definitions/AWS_DMS_ReplicationTask" }, { - "$ref": "#/definitions/AWS_EKS_PodIdentityAssociation" + "$ref": "#/definitions/AWS_EC2_IPAM" }, { - "$ref": "#/definitions/AWS_CloudFront_CachePolicy" + "$ref": "#/definitions/AWS_IoTEvents_AlarmModel" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_PublicDnsNamespace" + "$ref": "#/definitions/AWS_IdentityStore_Group" }, { - "$ref": "#/definitions/AWS_WAFv2_RuleGroup" + "$ref": "#/definitions/AWS_CloudWatch_AnomalyDetector" }, { - "$ref": "#/definitions/AWS_DMS_Endpoint" + "$ref": "#/definitions/AWS_KinesisVideo_SignalingChannel" }, { - "$ref": "#/definitions/AWS_CodeStarConnections_RepositoryLink" + "$ref": "#/definitions/AWS_DocDBElastic_Cluster" }, { - "$ref": "#/definitions/AWS_DataZone_SubscriptionTarget" + "$ref": "#/definitions/AWS_SecurityHub_AutomationRule" }, { - "$ref": "#/definitions/AWS_XRay_SamplingRule" + "$ref": "#/definitions/AWS_IoT_CACertificate" }, { - "$ref": "#/definitions/AWS_IoTFleetHub_Application" + "$ref": "#/definitions/AWS_Lightsail_StaticIp" }, { - "$ref": "#/definitions/AWS_IoT_CACertificate" + "$ref": "#/definitions/AWS_Cognito_UserPoolGroup" }, { - "$ref": "#/definitions/AWS_EKS_IdentityProviderConfig" + "$ref": "#/definitions/AWS_WAF_IPSet" }, { - "$ref": "#/definitions/AWS_IoT_ThingGroup" + "$ref": "#/definitions/AWS_AppSync_ApiCache" }, { - "$ref": "#/definitions/AWS_Route53RecoveryReadiness_RecoveryGroup" + "$ref": "#/definitions/AWS_CustomerProfiles_Integration" }, { - "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTableVirtualInterfaceGroupAssociation" + "$ref": "#/definitions/AWS_SES_MailManagerAddonInstance" }, { - "$ref": "#/definitions/AWS_CloudFront_RealtimeLogConfig" + "$ref": "#/definitions/AWS_SageMaker_Model" }, { - "$ref": "#/definitions/AWS_IAM_GroupPolicy" + "$ref": "#/definitions/AWS_IoTTwinMaker_Workspace" }, { - "$ref": "#/definitions/AWS_EC2_CapacityReservation" + "$ref": "#/definitions/AWS_Location_RouteCalculator" }, { - "$ref": "#/definitions/AWS_IdentityStore_Group" + "$ref": "#/definitions/AWS_EC2_LocalGatewayRoute" }, { - "$ref": "#/definitions/AWS_GameLift_Build" + "$ref": "#/definitions/AWS_EC2_ClientVpnEndpoint" }, { - "$ref": "#/definitions/AWS_IoTWireless_DeviceProfile" + "$ref": "#/definitions/AWS_Pinpoint_ADMChannel" }, { - "$ref": "#/definitions/AWS_EC2_EC2Fleet" + "$ref": "#/definitions/AWS_RefactorSpaces_Route" }, { - "$ref": "#/definitions/AWS_Personalize_DatasetGroup" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverQueryLoggingConfigAssociation" }, { - "$ref": "#/definitions/AWS_Location_TrackerConsumer" + "$ref": "#/definitions/AWS_AppMesh_Mesh" }, { - "$ref": "#/definitions/AWS_EC2_VerifiedAccessInstance" + "$ref": "#/definitions/AWS_SSM_MaintenanceWindowTask" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TrustStoreRevocation" + "$ref": "#/definitions/AWS_DataSync_LocationHDFS" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInsightsAccessScope" + "$ref": "#/definitions/AWS_OpenSearchServerless_SecurityConfig" }, { - "$ref": "#/definitions/AWS_DataZone_EnvironmentBlueprintConfiguration" + "$ref": "#/definitions/AWS_CleanRooms_Membership" }, { - "$ref": "#/definitions/AWS_Glue_Partition" + "$ref": "#/definitions/AWS_OpsWorks_Layer" }, { - "$ref": "#/definitions/AWS_CleanRooms_ConfiguredTableAssociation" + "$ref": "#/definitions/AWS_CloudTrail_Trail" }, { - "$ref": "#/definitions/AWS_Lightsail_Certificate" + "$ref": "#/definitions/AWS_SageMaker_Device" }, { - "$ref": "#/definitions/AWS_Scheduler_ScheduleGroup" + "$ref": "#/definitions/AWS_SecretsManager_RotationSchedule" }, { - "$ref": "#/definitions/AWS_GameLift_Fleet" + "$ref": "#/definitions/AWS_DMS_InstanceProfile" }, { - "$ref": "#/definitions/AWS_OpsWorks_Instance" + "$ref": "#/definitions/AWS_IoT_TopicRuleDestination" }, { - "$ref": "#/definitions/AWS_EC2_NetworkAcl" + "$ref": "#/definitions/AWS_EMRContainers_VirtualCluster" }, { - "$ref": "#/definitions/AWS_Connect_ApprovedOrigin" + "$ref": "#/definitions/AWS_NetworkFirewall_LoggingConfiguration" }, { - "$ref": "#/definitions/AWS_Lambda_Permission" + "$ref": "#/definitions/AWS_SSMContacts_Rotation" }, { - "$ref": "#/definitions/AWS_EC2_LocalGatewayRoute" + "$ref": "#/definitions/AWS_Lambda_LayerVersionPermission" }, { - "$ref": "#/definitions/AWS_SecurityHub_Hub" + "$ref": "#/definitions/AWS_Location_APIKey" }, { - "$ref": "#/definitions/AWS_IoTEvents_AlarmModel" + "$ref": "#/definitions/AWS_LakeFormation_DataCellsFilter" }, { - "$ref": "#/definitions/AWS_Logs_MetricFilter" + "$ref": "#/definitions/AWS_Backup_ReportPlan" }, { - "$ref": "#/definitions/AWS_Deadline_Queue" + "$ref": "#/definitions/AWS_ElasticBeanstalk_Application" }, { - "$ref": "#/definitions/AWS_Kinesis_StreamConsumer" + "$ref": "#/definitions/AWS_Glue_Classifier" }, { - "$ref": "#/definitions/AWS_VpcLattice_Rule" + "$ref": "#/definitions/AWS_DataSync_LocationAzureBlob" }, { - "$ref": "#/definitions/AWS_Transfer_Profile" + "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_AttributeGroupAssociation" }, { - "$ref": "#/definitions/AWS_StepFunctions_StateMachineAlias" + "$ref": "#/definitions/AWS_Logs_LogAnomalyDetector" }, { - "$ref": "#/definitions/AWS_IVS_StorageConfiguration" + "$ref": "#/definitions/AWS_CE_AnomalySubscription" }, { - "$ref": "#/definitions/AWS_SageMaker_InferenceComponent" + "$ref": "#/definitions/AWS_Scheduler_Schedule" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_LaunchTemplateConstraint" + "$ref": "#/definitions/AWS_AmplifyUIBuilder_Component" }, { - "$ref": "#/definitions/AWS_GlobalAccelerator_CrossAccountAttachment" + "$ref": "#/definitions/AWS_PCAConnectorAD_TemplateGroupAccessControlEntry" }, { - "$ref": "#/definitions/AWS_Batch_SchedulingPolicy" + "$ref": "#/definitions/AWS_Route53_RecordSetGroup" }, { - "$ref": "#/definitions/AWS_EventSchemas_Registry" + "$ref": "#/definitions/AWS_AppFlow_ConnectorProfile" }, { - "$ref": "#/definitions/AWS_RoboMaker_RobotApplicationVersion" + "$ref": "#/definitions/AWS_Config_DeliveryChannel" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_ServiceAction" + "$ref": "#/definitions/AWS_SageMaker_CodeRepository" }, { - "$ref": "#/definitions/AWS_Route53RecoveryControl_Cluster" + "$ref": "#/definitions/AWS_DataBrew_Project" }, { - "$ref": "#/definitions/AWS_ApiGateway_UsagePlan" + "$ref": "#/definitions/AWS_EC2_NatGateway" }, { - "$ref": "#/definitions/AWS_GameLift_GameServerGroup" + "$ref": "#/definitions/AWS_ECR_RepositoryCreationTemplate" }, { - "$ref": "#/definitions/AWS_RoboMaker_RobotApplication" + "$ref": "#/definitions/AWS_IoT_Logging" }, { - "$ref": "#/definitions/AWS_QLDB_Stream" + "$ref": "#/definitions/AWS_Inspector_ResourceGroup" }, { - "$ref": "#/definitions/AWS_ACMPCA_CertificateAuthority" + "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioShare" }, { - "$ref": "#/definitions/AWS_DocDB_DBSubnetGroup" + "$ref": "#/definitions/AWS_ECR_Repository" }, { - "$ref": "#/definitions/AWS_Lambda_CodeSigningConfig" + "$ref": "#/definitions/AWS_ServiceCatalog_LaunchTemplateConstraint" }, { - "$ref": "#/definitions/AWS_Connect_HoursOfOperation" + "$ref": "#/definitions/AWS_RDS_DBParameterGroup" }, { - "$ref": "#/definitions/AWS_FSx_DataRepositoryAssociation" + "$ref": "#/definitions/AWS_ApplicationAutoScaling_ScalingPolicy" }, { - "$ref": "#/definitions/AWS_Connect_Instance" + "$ref": "#/definitions/AWS_SageMaker_ModelPackageGroup" }, { - "$ref": "#/definitions/AWS_IAM_RolePolicy" + "$ref": "#/definitions/AWS_EC2_NetworkInsightsAnalysis" }, { - "$ref": "#/definitions/AWS_CloudFront_KeyGroup" + "$ref": "#/definitions/AWS_ApiGatewayV2_VpcLink" }, { - "$ref": "#/definitions/AWS_Batch_ComputeEnvironment" + "$ref": "#/definitions/AWS_DevOpsGuru_LogAnomalyDetectionIntegration" }, { - "$ref": "#/definitions/AWS_OpsWorks_Layer" + "$ref": "#/definitions/AWS_DataSync_LocationEFS" }, { - "$ref": "#/definitions/AWS_DirectoryService_SimpleAD" + "$ref": "#/definitions/AWS_Events_ApiDestination" }, { - "$ref": "#/definitions/AWS_EC2_EnclaveCertificateIamRoleAssociation" + "$ref": "#/definitions/AWS_Pinpoint_Segment" }, { - "$ref": "#/definitions/AWS_EMR_Cluster" + "$ref": "#/definitions/AWS_Glue_TableOptimizer" }, { - "$ref": "#/definitions/AWS_DataSync_LocationS3" + "$ref": "#/definitions/AWS_IoTWireless_NetworkAnalyzerConfiguration" }, { - "$ref": "#/definitions/AWS_ApiGateway_Stage" + "$ref": "#/definitions/AWS_SSMContacts_Plan" }, { - "$ref": "#/definitions/AWS_Deadline_MeteredProduct" + "$ref": "#/definitions/AWS_Connect_ContactFlow" }, { - "$ref": "#/definitions/AWS_EntityResolution_IdNamespace" + "$ref": "#/definitions/AWS_SageMaker_ModelBiasJobDefinition" }, { - "$ref": "#/definitions/AWS_AmazonMQ_Broker" + "$ref": "#/definitions/AWS_S3_StorageLensGroup" }, { - "$ref": "#/definitions/AWS_Bedrock_Guardrail" + "$ref": "#/definitions/AWS_MediaPackageV2_OriginEndpointPolicy" }, { - "$ref": "#/definitions/AWS_Glue_TableOptimizer" + "$ref": "#/definitions/AWS_Panorama_PackageVersion" }, { - "$ref": "#/definitions/AWS_SageMaker_App" + "$ref": "#/definitions/AWS_IVSChat_LoggingConfiguration" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverRule" + "$ref": "#/definitions/AWS_CloudFormation_WaitCondition" }, { - "$ref": "#/definitions/AWS_SupportApp_AccountAlias" + "$ref": "#/definitions/AWS_IoT_DomainConfiguration" }, { - "$ref": "#/definitions/AWS_Connect_UserHierarchyGroup" + "$ref": "#/definitions/AWS_Timestream_Table" }, { - "$ref": "#/definitions/AWS_Connect_View" + "$ref": "#/definitions/AWS_MediaConnect_FlowEntitlement" }, { - "$ref": "#/definitions/AWS_CertificateManager_Certificate" + "$ref": "#/definitions/AWS_BillingConductor_PricingPlan" }, { - "$ref": "#/definitions/AWS_ApiGateway_UsagePlanKey" + "$ref": "#/definitions/AWS_Connect_ApprovedOrigin" }, { - "$ref": "#/definitions/AWS_B2BI_Capability" + "$ref": "#/definitions/AWS_EC2_NetworkAclEntry" }, { - "$ref": "#/definitions/AWS_RefactorSpaces_Environment" + "$ref": "#/definitions/AWS_WAFRegional_SqlInjectionMatchSet" }, { - "$ref": "#/definitions/AWS_Greengrass_ResourceDefinition" + "$ref": "#/definitions/AWS_AppStream_AppBlockBuilder" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_BrowserSettings" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverConfig" }, { - "$ref": "#/definitions/AWS_AppFlow_ConnectorProfile" + "$ref": "#/definitions/AWS_IVS_Channel" }, { - "$ref": "#/definitions/AWS_Personalize_Schema" + "$ref": "#/definitions/AWS_S3_AccessPoint" }, { - "$ref": "#/definitions/AWS_ElastiCache_User" + "$ref": "#/definitions/AWS_CloudFormation_HookVersion" }, { - "$ref": "#/definitions/AWS_AppConfig_Extension" + "$ref": "#/definitions/AWS_QBusiness_DataSource" }, { - "$ref": "#/definitions/AWS_ECR_RepositoryCreationTemplate" + "$ref": "#/definitions/AWS_Omics_ReferenceStore" }, { - "$ref": "#/definitions/AWS_NetworkManager_CoreNetwork" + "$ref": "#/definitions/AWS_ECS_TaskSet" }, { - "$ref": "#/definitions/AWS_Transfer_Certificate" + "$ref": "#/definitions/AWS_AutoScaling_ScheduledAction" }, { - "$ref": "#/definitions/AWS_ApiGateway_GatewayResponse" + "$ref": "#/definitions/AWS_WorkSpacesWeb_IdentityProvider" }, { - "$ref": "#/definitions/AWS_WAFRegional_SizeConstraintSet" + "$ref": "#/definitions/AWS_Route53Resolver_FirewallDomainList" }, { - "$ref": "#/definitions/AWS_Connect_ContactFlowModule" + "$ref": "#/definitions/AWS_ApiGateway_UsagePlan" }, { - "$ref": "#/definitions/AWS_SageMaker_NotebookInstanceLifecycleConfig" + "$ref": "#/definitions/AWS_AppFlow_Flow" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Integration" + "$ref": "#/definitions/AWS_S3Outposts_AccessPoint" }, { - "$ref": "#/definitions/AWS_GameLift_Location" + "$ref": "#/definitions/AWS_EventSchemas_Registry" }, { - "$ref": "#/definitions/AWS_Lex_ResourcePolicy" + "$ref": "#/definitions/AWS_EC2_EnclaveCertificateIamRoleAssociation" }, { - "$ref": "#/definitions/AWS_Transfer_Workflow" + "$ref": "#/definitions/AWS_IoTWireless_TaskDefinition" }, { - "$ref": "#/definitions/AWS_Batch_JobDefinition" + "$ref": "#/definitions/AWS_SSM_Document" }, { - "$ref": "#/definitions/AWS_S3_MultiRegionAccessPointPolicy" + "$ref": "#/definitions/AWS_Glue_DataCatalogEncryptionSettings" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Asset" + "$ref": "#/definitions/AWS_CloudFront_OriginAccessControl" }, { - "$ref": "#/definitions/AWS_SES_EmailIdentity" + "$ref": "#/definitions/AWS_Glue_CustomEntityType" }, { - "$ref": "#/definitions/AWS_AppStream_AppBlock" + "$ref": "#/definitions/AWS_Transfer_Profile" }, { - "$ref": "#/definitions/AWS_MediaTailor_Channel" + "$ref": "#/definitions/AWS_GroundStation_Config" }, { - "$ref": "#/definitions/AWS_Neptune_DBCluster" + "$ref": "#/definitions/AWS_AppStream_StackUserAssociation" }, { - "$ref": "#/definitions/AWS_DataZone_EnvironmentProfile" + "$ref": "#/definitions/AWS_Glue_Table" }, { - "$ref": "#/definitions/AWS_RedshiftServerless_Workgroup" + "$ref": "#/definitions/AWS_EC2_TransitGateway" }, { - "$ref": "#/definitions/AWS_CloudWatch_AnomalyDetector" + "$ref": "#/definitions/AWS_EC2_NetworkInterfacePermission" }, { - "$ref": "#/definitions/AWS_CloudWatch_Alarm" + "$ref": "#/definitions/AWS_EC2_TrafficMirrorFilterRule" }, { - "$ref": "#/definitions/AWS_MemoryDB_ParameterGroup" + "$ref": "#/definitions/AWS_Connect_PredefinedAttribute" }, { - "$ref": "#/definitions/AWS_EC2_ClientVpnRoute" + "$ref": "#/definitions/AWS_NeptuneGraph_Graph" }, { - "$ref": "#/definitions/AWS_Backup_BackupPlan" + "$ref": "#/definitions/AWS_Forecast_Dataset" }, { - "$ref": "#/definitions/AWS_GreengrassV2_ComponentVersion" + "$ref": "#/definitions/AWS_ApiGateway_ApiKey" }, { - "$ref": "#/definitions/AWS_SES_VdmAttributes" + "$ref": "#/definitions/AWS_RDS_OptionGroup" }, { - "$ref": "#/definitions/AWS_WAF_IPSet" + "$ref": "#/definitions/AWS_Shield_Protection" }, { - "$ref": "#/definitions/AWS_LookoutEquipment_InferenceScheduler" + "$ref": "#/definitions/AWS_CustomerProfiles_CalculatedAttributeDefinition" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_Instance" + "$ref": "#/definitions/AWS_DataSync_Task" }, { - "$ref": "#/definitions/AWS_EC2_PlacementGroup" + "$ref": "#/definitions/AWS_APS_RuleGroupsNamespace" }, { - "$ref": "#/definitions/AWS_WorkSpacesThinClient_Environment" + "$ref": "#/definitions/AWS_EC2_DHCPOptions" }, { - "$ref": "#/definitions/AWS_DataBrew_Job" + "$ref": "#/definitions/AWS_SES_MailManagerAddonSubscription" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayConnect" + "$ref": "#/definitions/AWS_AppStream_ApplicationEntitlementAssociation" }, { - "$ref": "#/definitions/AWS_ACMPCA_Certificate" + "$ref": "#/definitions/AWS_EC2_Route" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastDomain" + "$ref": "#/definitions/AWS_DataZone_Project" }, { - "$ref": "#/definitions/AWS_MediaTailor_LiveSource" + "$ref": "#/definitions/AWS_AppConfig_Environment" }, { - "$ref": "#/definitions/AWS_SSM_MaintenanceWindow" + "$ref": "#/definitions/AWS_PinpointEmail_ConfigurationSetEventDestination" }, { - "$ref": "#/definitions/AWS_AppIntegrations_EventIntegration" + "$ref": "#/definitions/AWS_ApiGatewayV2_RouteResponse" }, { - "$ref": "#/definitions/AWS_CloudTrail_Trail" + "$ref": "#/definitions/AWS_Kinesis_StreamConsumer" }, { - "$ref": "#/definitions/AWS_WAFRegional_SqlInjectionMatchSet" + "$ref": "#/definitions/AWS_Cognito_UserPoolResourceServer" }, { - "$ref": "#/definitions/AWS_ApiGateway_RestApi" + "$ref": "#/definitions/AWS_GroundStation_DataflowEndpointGroup" }, { - "$ref": "#/definitions/AWS_IVS_RecordingConfiguration" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverRule" }, { - "$ref": "#/definitions/AWS_NetworkManager_Device" + "$ref": "#/definitions/AWS_NetworkManager_ConnectAttachment" }, { - "$ref": "#/definitions/AWS_EC2_EIPAssociation" + "$ref": "#/definitions/AWS_PaymentCryptography_Alias" }, { - "$ref": "#/definitions/AWS_GlobalAccelerator_EndpointGroup" + "$ref": "#/definitions/AWS_QuickSight_VPCConnection" }, { - "$ref": "#/definitions/AWS_NeptuneGraph_Graph" + "$ref": "#/definitions/AWS_ApplicationAutoScaling_ScalableTarget" }, { - "$ref": "#/definitions/AWS_FinSpace_Environment" + "$ref": "#/definitions/AWS_SNS_Subscription" }, { - "$ref": "#/definitions/AWS_MediaConnect_BridgeOutput" + "$ref": "#/definitions/AWS_GuardDuty_Filter" }, { - "$ref": "#/definitions/AWS_SQS_QueuePolicy" + "$ref": "#/definitions/AWS_DevOpsGuru_NotificationChannel" }, { - "$ref": "#/definitions/AWS_SSMContacts_ContactChannel" + "$ref": "#/definitions/AWS_Synthetics_Canary" }, { - "$ref": "#/definitions/AWS_HealthImaging_Datastore" + "$ref": "#/definitions/AWS_OpsWorksCM_Server" }, { "$ref": "#/definitions/AWS_MSK_BatchScramSecret" }, { - "$ref": "#/definitions/AWS_EC2_CapacityReservationFleet" + "$ref": "#/definitions/AWS_MediaPackage_Asset" }, { - "$ref": "#/definitions/AWS_AppStream_Application" + "$ref": "#/definitions/AWS_Omics_AnnotationStore" }, { - "$ref": "#/definitions/AWS_SES_Template" + "$ref": "#/definitions/AWS_CleanRooms_PrivacyBudgetTemplate" }, { - "$ref": "#/definitions/AWS_Glue_Registry" + "$ref": "#/definitions/AWS_ServiceCatalog_LaunchNotificationConstraint" }, { - "$ref": "#/definitions/AWS_Comprehend_DocumentClassifier" + "$ref": "#/definitions/AWS_GameLift_Script" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_Connector" + "$ref": "#/definitions/AWS_Transfer_Certificate" }, { - "$ref": "#/definitions/AWS_MSK_Replicator" + "$ref": "#/definitions/AWS_CUR_ReportDefinition" }, { - "$ref": "#/definitions/AWS_EC2_ClientVpnTargetNetworkAssociation" + "$ref": "#/definitions/AWS_ApiGatewayV2_Stage" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_LoadBalancer" + "$ref": "#/definitions/AWS_CloudTrail_EventDataStore" }, { - "$ref": "#/definitions/AWS_S3ObjectLambda_AccessPoint" + "$ref": "#/definitions/AWS_DAX_SubnetGroup" }, { - "$ref": "#/definitions/AWS_SSMIncidents_ResponsePlan" + "$ref": "#/definitions/AWS_NetworkManager_SiteToSiteVpnAttachment" }, { - "$ref": "#/definitions/AWS_GlobalAccelerator_Accelerator" + "$ref": "#/definitions/AWS_IoTSiteWise_Project" }, { - "$ref": "#/definitions/AWS_IoT_FleetMetric" + "$ref": "#/definitions/AWS_OpsWorks_Instance" }, { - "$ref": "#/definitions/AWS_CloudFront_MonitoringSubscription" + "$ref": "#/definitions/AWS_CleanRooms_AnalysisTemplate" }, { - "$ref": "#/definitions/AWS_EC2_InternetGateway" + "$ref": "#/definitions/AWS_AppStream_ApplicationFleetAssociation" }, { - "$ref": "#/definitions/AWS_IVS_PlaybackRestrictionPolicy" + "$ref": "#/definitions/AWS_ECS_PrimaryTaskSet" }, { - "$ref": "#/definitions/AWS_Comprehend_Flywheel" + "$ref": "#/definitions/AWS_MemoryDB_Cluster" }, { - "$ref": "#/definitions/AWS_Logs_LogGroup" + "$ref": "#/definitions/AWS_DataSync_Agent" }, { - "$ref": "#/definitions/AWS_DataZone_DataSource" + "$ref": "#/definitions/AWS_SQS_QueuePolicy" }, { - "$ref": "#/definitions/AWS_Lambda_Function" + "$ref": "#/definitions/AWS_EC2_RouteTable" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_AccessPolicy" + "$ref": "#/definitions/AWS_EC2_TransitGatewayAttachment" }, { - "$ref": "#/definitions/AWS_EC2_Volume" + "$ref": "#/definitions/AWS_IoTWireless_PartnerAccount" }, { - "$ref": "#/definitions/AWS_AppMesh_Mesh" + "$ref": "#/definitions/AWS_EMR_Cluster" }, { - "$ref": "#/definitions/AWS_Route53_KeySigningKey" + "$ref": "#/definitions/AWS_WAFv2_RegexPatternSet" }, { - "$ref": "#/definitions/AWS_CloudFormation_PublicTypeVersion" + "$ref": "#/definitions/Alexa_ASK_Skill" }, { - "$ref": "#/definitions/AWS_EC2_PrefixList" + "$ref": "#/definitions/AWS_Oam_Link" }, { - "$ref": "#/definitions/AWS_Logs_LogStream" + "$ref": "#/definitions/AWS_IoT_Dimension" }, { - "$ref": "#/definitions/AWS_DataZone_Environment" + "$ref": "#/definitions/AWS_Wisdom_Assistant" }, { - "$ref": "#/definitions/AWS_PinpointEmail_ConfigurationSetEventDestination" + "$ref": "#/definitions/AWS_AppSync_Resolver" }, { - "$ref": "#/definitions/AWS_Connect_RoutingProfile" + "$ref": "#/definitions/AWS_SSO_InstanceAccessControlAttributeConfiguration" }, { - "$ref": "#/definitions/AWS_LakeFormation_PrincipalPermissions" + "$ref": "#/definitions/AWS_CloudFront_StreamingDistribution" }, { - "$ref": "#/definitions/AWS_QuickSight_DataSource" + "$ref": "#/definitions/AWS_SageMaker_FeatureGroup" }, { - "$ref": "#/definitions/AWS_Connect_PhoneNumber" + "$ref": "#/definitions/AWS_SecurityLake_Subscriber" }, { - "$ref": "#/definitions/AWS_Backup_RestoreTestingPlan" + "$ref": "#/definitions/AWS_WAFRegional_Rule" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_TagOptionAssociation" + "$ref": "#/definitions/AWS_DirectoryService_MicrosoftAD" }, { - "$ref": "#/definitions/AWS_Signer_SigningProfile" + "$ref": "#/definitions/AWS_DataSync_StorageSystem" }, { - "$ref": "#/definitions/AWS_RDS_DBSecurityGroupIngress" + "$ref": "#/definitions/AWS_CodeStarConnections_SyncConfiguration" }, { - "$ref": "#/definitions/AWS_Location_GeofenceCollection" + "$ref": "#/definitions/AWS_EC2_SecurityGroupIngress" }, { - "$ref": "#/definitions/AWS_RefactorSpaces_Service" + "$ref": "#/definitions/AWS_WorkSpacesWeb_Portal" }, { - "$ref": "#/definitions/AWS_S3_AccessGrantsLocation" + "$ref": "#/definitions/AWS_RefactorSpaces_Environment" }, { - "$ref": "#/definitions/AWS_EC2_TrafficMirrorFilterRule" + "$ref": "#/definitions/AWS_EKS_IdentityProviderConfig" }, { - "$ref": "#/definitions/AWS_EMR_WALWorkspace" + "$ref": "#/definitions/AWS_Events_Connection" }, { - "$ref": "#/definitions/AWS_Kinesis_Stream" + "$ref": "#/definitions/AWS_ImageBuilder_LifecyclePolicy" }, { - "$ref": "#/definitions/AWS_Proton_ServiceTemplate" + "$ref": "#/definitions/AWS_IoTFleetHub_Application" }, { - "$ref": "#/definitions/AWS_RolesAnywhere_TrustAnchor" + "$ref": "#/definitions/AWS_IoTWireless_WirelessDeviceImportTask" }, { - "$ref": "#/definitions/AWS_Pinpoint_APNSSandboxChannel" + "$ref": "#/definitions/AWS_SageMaker_Pipeline" }, { - "$ref": "#/definitions/AWS_MediaConnect_FlowVpcInterface" + "$ref": "#/definitions/AWS_ApiGatewayV2_Route" }, { - "$ref": "#/definitions/AWS_DataZone_Project" + "$ref": "#/definitions/AWS_EC2_TransitGatewayConnect" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_Portal" + "$ref": "#/definitions/AWS_EMR_WALWorkspace" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolGroup" + "$ref": "#/definitions/AWS_SecretsManager_SecretTargetAttachment" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverDNSSECConfig" + "$ref": "#/definitions/AWS_IVS_RecordingConfiguration" }, { - "$ref": "#/definitions/AWS_CloudFormation_ModuleDefaultVersion" + "$ref": "#/definitions/AWS_SES_MailManagerRuleSet" }, { - "$ref": "#/definitions/AWS_IAM_ServiceLinkedRole" + "$ref": "#/definitions/AWS_Connect_Queue" }, { - "$ref": "#/definitions/AWS_CodeDeploy_Application" + "$ref": "#/definitions/AWS_MediaLive_Multiplexprogram" }, { - "$ref": "#/definitions/AWS_RDS_DBProxyTargetGroup" + "$ref": "#/definitions/AWS_ApiGatewayV2_Integration" }, { - "$ref": "#/definitions/AWS_IoT_PolicyPrincipalAttachment" + "$ref": "#/definitions/AWS_Pinpoint_GCMChannel" }, { - "$ref": "#/definitions/AWS_Route53_DNSSEC" + "$ref": "#/definitions/AWS_Redshift_ClusterSecurityGroup" }, { - "$ref": "#/definitions/AWS_IoT_TopicRule" + "$ref": "#/definitions/AWS_CloudFormation_WaitConditionHandle" }, { - "$ref": "#/definitions/AWS_Route53_RecordSetGroup" + "$ref": "#/definitions/AWS_SecurityHub_Insight" }, { - "$ref": "#/definitions/AWS_ECR_Repository" + "$ref": "#/definitions/AWS_EFS_FileSystem" }, { - "$ref": "#/definitions/AWS_Route53RecoveryReadiness_Cell" + "$ref": "#/definitions/AWS_IdentityStore_GroupMembership" }, { - "$ref": "#/definitions/AWS_AppConfig_Deployment" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_LoadBalancer" }, { - "$ref": "#/definitions/AWS_GameLift_MatchmakingRuleSet" + "$ref": "#/definitions/AWS_DataZone_Domain" }, { - "$ref": "#/definitions/AWS_Lightsail_StaticIp" + "$ref": "#/definitions/AWS_NetworkManager_Link" }, { - "$ref": "#/definitions/AWS_EC2_NetworkPerformanceMetricSubscription" + "$ref": "#/definitions/AWS_EC2_InstanceConnectEndpoint" }, { - "$ref": "#/definitions/AWS_EC2_LaunchTemplate" + "$ref": "#/definitions/AWS_DynamoDB_GlobalTable" }, { - "$ref": "#/definitions/AWS_CodeDeploy_DeploymentConfig" + "$ref": "#/definitions/AWS_CloudWatch_Dashboard" }, { - "$ref": "#/definitions/AWS_Pinpoint_APNSVoipChannel" + "$ref": "#/definitions/AWS_SageMaker_App" }, { - "$ref": "#/definitions/AWS_MediaLive_Input" + "$ref": "#/definitions/AWS_Connect_ViewVersion" }, { - "$ref": "#/definitions/AWS_CloudFormation_Publisher" + "$ref": "#/definitions/AWS_WorkSpaces_WorkspacesPool" }, { - "$ref": "#/definitions/AWS_CloudFront_PublicKey" + "$ref": "#/definitions/AWS_NetworkManager_ConnectPeer" }, { - "$ref": "#/definitions/AWS_SecretsManager_SecretTargetAttachment" + "$ref": "#/definitions/AWS_GameLift_MatchmakingRuleSet" }, { - "$ref": "#/definitions/AWS_IoT_Policy" + "$ref": "#/definitions/AWS_ApiGateway_Account" }, { - "$ref": "#/definitions/AWS_DataSync_Agent" + "$ref": "#/definitions/AWS_SecurityHub_Hub" }, { - "$ref": "#/definitions/AWS_EC2_TransitGateway" + "$ref": "#/definitions/AWS_Transfer_Connector" }, { - "$ref": "#/definitions/AWS_Evidently_Segment" + "$ref": "#/definitions/AWS_FinSpace_Environment" }, { - "$ref": "#/definitions/AWS_CleanRooms_PrivacyBudgetTemplate" + "$ref": "#/definitions/AWS_Events_Archive" }, { - "$ref": "#/definitions/AWS_ECS_Cluster" + "$ref": "#/definitions/AWS_ApiGatewayV2_Authorizer" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_ServiceActionAssociation" + "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTable" }, { - "$ref": "#/definitions/AWS_NimbleStudio_LaunchProfile" + "$ref": "#/definitions/AWS_IAM_UserToGroupAddition" }, { - "$ref": "#/definitions/AWS_S3Express_DirectoryBucket" + "$ref": "#/definitions/AWS_RDS_DBClusterParameterGroup" }, { - "$ref": "#/definitions/AWS_IoT_ProvisioningTemplate" + "$ref": "#/definitions/AWS_VpcLattice_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_ResourceExplorer2_Index" + "$ref": "#/definitions/AWS_Pinpoint_EmailTemplate" }, { - "$ref": "#/definitions/AWS_ImageBuilder_ContainerRecipe" + "$ref": "#/definitions/AWS_CodePipeline_CustomActionType" }, { - "$ref": "#/definitions/AWS_FMS_NotificationChannel" + "$ref": "#/definitions/AWS_SSO_ApplicationAssignment" }, { - "$ref": "#/definitions/AWS_IAM_UserPolicy" + "$ref": "#/definitions/AWS_SecurityHub_FindingAggregator" }, { - "$ref": "#/definitions/AWS_Events_EventBus" + "$ref": "#/definitions/AWS_Deadline_LicenseEndpoint" }, { - "$ref": "#/definitions/AWS_SageMaker_MonitoringSchedule" + "$ref": "#/definitions/AWS_SES_MailManagerArchive" }, { - "$ref": "#/definitions/AWS_Pinpoint_SmsTemplate" + "$ref": "#/definitions/AWS_ResilienceHub_App" }, { - "$ref": "#/definitions/AWS_Evidently_Experiment" + "$ref": "#/definitions/AWS_WAF_XssMatchSet" }, { - "$ref": "#/definitions/AWS_Connect_PredefinedAttribute" + "$ref": "#/definitions/AWS_KafkaConnect_Connector" }, { - "$ref": "#/definitions/AWS_Inspector_AssessmentTarget" + "$ref": "#/definitions/AWS_SecurityHub_DelegatedAdmin" }, { - "$ref": "#/definitions/AWS_KinesisAnalytics_Application" + "$ref": "#/definitions/AWS_OpsWorks_ElasticLoadBalancerAttachment" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_Scene" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TargetGroup" }, { - "$ref": "#/definitions/AWS_GuardDuty_ThreatIntelSet" + "$ref": "#/definitions/AWS_Shield_DRTAccess" }, { - "$ref": "#/definitions/AWS_Lightsail_Disk" + "$ref": "#/definitions/AWS_Deadline_Fleet" }, { - "$ref": "#/definitions/AWS_Config_StoredQuery" + "$ref": "#/definitions/AWS_Connect_EvaluationForm" }, { - "$ref": "#/definitions/AWS_CloudFront_OriginRequestPolicy" + "$ref": "#/definitions/AWS_DocDB_DBCluster" }, { - "$ref": "#/definitions/AWS_SageMaker_CodeRepository" + "$ref": "#/definitions/AWS_RDS_GlobalCluster" }, { - "$ref": "#/definitions/AWS_VoiceID_Domain" + "$ref": "#/definitions/AWS_WAFv2_WebACL" }, { - "$ref": "#/definitions/AWS_ImageBuilder_InfrastructureConfiguration" + "$ref": "#/definitions/AWS_SES_ReceiptRule" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Api" + "$ref": "#/definitions/AWS_Connect_IntegrationAssociation" }, { - "$ref": "#/definitions/AWS_IoT_ThingType" + "$ref": "#/definitions/AWS_IoTThingsGraph_FlowTemplate" }, { - "$ref": "#/definitions/AWS_ManagedBlockchain_Node" + "$ref": "#/definitions/AWS_Route53_KeySigningKey" }, { - "$ref": "#/definitions/AWS_AppMesh_VirtualNode" + "$ref": "#/definitions/AWS_Greengrass_DeviceDefinitionVersion" }, { - "$ref": "#/definitions/AWS_ManagedBlockchain_Accessor" + "$ref": "#/definitions/AWS_DataSync_LocationSMB" }, { - "$ref": "#/definitions/AWS_Redshift_ClusterSecurityGroupIngress" + "$ref": "#/definitions/AWS_WAFRegional_WebACLAssociation" }, { - "$ref": "#/definitions/AWS_VerifiedPermissions_PolicyStore" + "$ref": "#/definitions/AWS_EC2_CarrierGateway" }, { - "$ref": "#/definitions/AWS_IoT_MitigationAction" + "$ref": "#/definitions/AWS_AppMesh_VirtualRouter" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_Firewall" + "$ref": "#/definitions/AWS_FSx_DataRepositoryAssociation" }, { - "$ref": "#/definitions/AWS_RAM_ResourceShare" + "$ref": "#/definitions/AWS_MemoryDB_ParameterGroup" }, { - "$ref": "#/definitions/AWS_Greengrass_LoggerDefinition" + "$ref": "#/definitions/AWS_NetworkFirewall_Firewall" }, { - "$ref": "#/definitions/AWS_EC2_IPAMAllocation" + "$ref": "#/definitions/AWS_Inspector_AssessmentTemplate" }, { - "$ref": "#/definitions/AWS_EC2_VPCEndpointService" + "$ref": "#/definitions/AWS_EKS_AccessEntry" }, { - "$ref": "#/definitions/AWS_IAM_AccessKey" + "$ref": "#/definitions/AWS_EventSchemas_Schema" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_HttpNamespace" + "$ref": "#/definitions/AWS_Omics_RunGroup" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayRoute" + "$ref": "#/definitions/AWS_Route53RecoveryReadiness_ReadinessCheck" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_AcceptedPortfolioShare" + "$ref": "#/definitions/AWS_ManagedBlockchain_Member" }, { - "$ref": "#/definitions/AWS_Glue_SecurityConfiguration" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverQueryLoggingConfig" }, { - "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_ResourceAssociation" + "$ref": "#/definitions/AWS_RDS_DBProxyTargetGroup" }, { - "$ref": "#/definitions/AWS_Route53_HostedZone" + "$ref": "#/definitions/AWS_WorkSpacesWeb_UserAccessLoggingSettings" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_VpcLink" + "$ref": "#/definitions/AWS_Grafana_Workspace" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_LifecyclePolicy" + "$ref": "#/definitions/AWS_DocDB_EventSubscription" }, { - "$ref": "#/definitions/AWS_SecurityLake_Subscriber" + "$ref": "#/definitions/AWS_MediaConvert_Queue" }, { - "$ref": "#/definitions/AWS_LakeFormation_Resource" + "$ref": "#/definitions/AWS_SecurityHub_ConfigurationPolicy" }, { - "$ref": "#/definitions/AWS_EKS_FargateProfile" + "$ref": "#/definitions/AWS_LicenseManager_License" }, { - "$ref": "#/definitions/AWS_ApiGateway_DocumentationVersion" + "$ref": "#/definitions/AWS_Connect_Rule" }, { - "$ref": "#/definitions/AWS_InspectorV2_CisScanConfiguration" + "$ref": "#/definitions/AWS_Pinpoint_APNSSandboxChannel" }, { - "$ref": "#/definitions/AWS_StepFunctions_Activity" + "$ref": "#/definitions/AWS_Pinpoint_EmailChannel" }, { - "$ref": "#/definitions/AWS_Omics_RunGroup" + "$ref": "#/definitions/AWS_Location_Map" }, { - "$ref": "#/definitions/AWS_DAX_Cluster" + "$ref": "#/definitions/AWS_Neptune_DBSubnetGroup" }, { - "$ref": "#/definitions/AWS_EC2_CustomerGateway" + "$ref": "#/definitions/AWS_EC2_LaunchTemplate" }, { - "$ref": "#/definitions/AWS_RDS_DBInstance" + "$ref": "#/definitions/AWS_EC2_KeyPair" }, { - "$ref": "#/definitions/AWS_ElastiCache_CacheCluster" + "$ref": "#/definitions/AWS_EC2_VolumeAttachment" }, { - "$ref": "#/definitions/AWS_SES_ReceiptRuleSet" + "$ref": "#/definitions/AWS_EKS_Cluster" }, { - "$ref": "#/definitions/AWS_Pinpoint_VoiceChannel" + "$ref": "#/definitions/AWS_Pinpoint_APNSVoipSandboxChannel" }, { - "$ref": "#/definitions/AWS_OpsWorks_Stack" + "$ref": "#/definitions/AWS_EC2_NetworkInsightsAccessScopeAnalysis" }, { - "$ref": "#/definitions/AWS_WAFRegional_RateBasedRule" + "$ref": "#/definitions/AWS_KinesisVideo_Stream" }, { - "$ref": "#/definitions/AWS_DirectoryService_MicrosoftAD" + "$ref": "#/definitions/AWS_IoT_AccountAuditConfiguration" }, { - "$ref": "#/definitions/AWS_EC2_Subnet" + "$ref": "#/definitions/AWS_B2BI_Profile" }, { - "$ref": "#/definitions/AWS_IoT_SoftwarePackage" + "$ref": "#/definitions/AWS_RDS_DBInstance" }, { - "$ref": "#/definitions/AWS_SageMaker_DeviceFleet" + "$ref": "#/definitions/AWS_IAM_OIDCProvider" }, { - "$ref": "#/definitions/AWS_GuardDuty_IPSet" + "$ref": "#/definitions/AWS_SageMaker_UserProfile" }, { - "$ref": "#/definitions/AWS_Kendra_DataSource" + "$ref": "#/definitions/AWS_Deadline_StorageProfile" }, { - "$ref": "#/definitions/AWS_Omics_ReferenceStore" + "$ref": "#/definitions/AWS_SecurityLake_AwsLogSource" }, { - "$ref": "#/definitions/AWS_RefactorSpaces_Route" + "$ref": "#/definitions/AWS_IAM_UserPolicy" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_ListenerCertificate" + "$ref": "#/definitions/AWS_Kendra_Index" }, { - "$ref": "#/definitions/AWS_StepFunctions_StateMachineVersion" + "$ref": "#/definitions/AWS_CleanRooms_ConfiguredTableAssociation" }, { - "$ref": "#/definitions/AWS_DataSync_LocationHDFS" + "$ref": "#/definitions/AWS_EC2_EIP" }, { - "$ref": "#/definitions/AWS_ElastiCache_ParameterGroup" + "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_Application" }, { - "$ref": "#/definitions/AWS_Organizations_Account" + "$ref": "#/definitions/AWS_Lex_BotAlias" }, { - "$ref": "#/definitions/AWS_Glue_CustomEntityType" + "$ref": "#/definitions/AWS_Amplify_Domain" }, { - "$ref": "#/definitions/AWS_FSx_Snapshot" + "$ref": "#/definitions/AWS_ApiGateway_DomainName" }, { - "$ref": "#/definitions/AWS_CodePipeline_CustomActionType" + "$ref": "#/definitions/AWS_Cognito_IdentityPool" }, { - "$ref": "#/definitions/AWS_Location_Map" + "$ref": "#/definitions/AWS_ElastiCache_User" }, { - "$ref": "#/definitions/AWS_AppMesh_VirtualRouter" + "$ref": "#/definitions/AWS_MediaPackage_OriginEndpoint" }, { - "$ref": "#/definitions/AWS_Redshift_EndpointAuthorization" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TrustStore" }, { - "$ref": "#/definitions/AWS_LakeFormation_Permissions" + "$ref": "#/definitions/AWS_Logs_LogStream" }, { - "$ref": "#/definitions/AWS_CodeGuruReviewer_RepositoryAssociation" + "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTable" }, { - "$ref": "#/definitions/AWS_EC2_EIP" + "$ref": "#/definitions/AWS_FraudDetector_EventType" }, { - "$ref": "#/definitions/AWS_AppStream_Stack" + "$ref": "#/definitions/AWS_ECR_RegistryPolicy" }, { - "$ref": "#/definitions/AWS_EC2_VPCPeeringConnection" + "$ref": "#/definitions/AWS_WAF_SqlInjectionMatchSet" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_Domain" + "$ref": "#/definitions/AWS_MediaTailor_PlaybackConfiguration" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_Vehicle" + "$ref": "#/definitions/AWS_IVS_EncoderConfiguration" }, { - "$ref": "#/definitions/AWS_SystemsManagerSAP_Application" + "$ref": "#/definitions/AWS_Transfer_Server" }, { - "$ref": "#/definitions/AWS_ECR_RegistryPolicy" + "$ref": "#/definitions/AWS_Route53Profiles_Profile" }, { - "$ref": "#/definitions/AWS_RDS_DBClusterParameterGroup" + "$ref": "#/definitions/AWS_Pipes_Pipe" }, { - "$ref": "#/definitions/AWS_ImageBuilder_ImageRecipe" + "$ref": "#/definitions/AWS_EC2_Host" }, { - "$ref": "#/definitions/AWS_DMS_ReplicationTask" + "$ref": "#/definitions/AWS_Config_StoredQuery" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_Collection" + "$ref": "#/definitions/AWS_WAF_ByteMatchSet" }, { - "$ref": "#/definitions/AWS_Lambda_Alias" + "$ref": "#/definitions/AWS_ApiGateway_Resource" }, { - "$ref": "#/definitions/AWS_B2BI_Partnership" + "$ref": "#/definitions/AWS_Cognito_IdentityPoolRoleAttachment" }, { - "$ref": "#/definitions/AWS_MediaTailor_SourceLocation" + "$ref": "#/definitions/AWS_DMS_ReplicationConfig" }, { - "$ref": "#/definitions/AWS_Connect_ContactFlow" + "$ref": "#/definitions/AWS_Bedrock_AgentAlias" }, { - "$ref": "#/definitions/AWS_Route53RecoveryControl_ControlPanel" + "$ref": "#/definitions/AWS_MediaConvert_Preset" }, { - "$ref": "#/definitions/AWS_DLM_LifecyclePolicy" + "$ref": "#/definitions/AWS_Lightsail_Certificate" }, { - "$ref": "#/definitions/AWS_RoboMaker_SimulationApplication" + "$ref": "#/definitions/AWS_AppStream_Entitlement" }, { - "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayRouteTableAttachment" + "$ref": "#/definitions/AWS_IoT_ThingPrincipalAttachment" }, { - "$ref": "#/definitions/AWS_Events_EventBusPolicy" + "$ref": "#/definitions/AWS_EC2_VPCPeeringConnection" }, { - "$ref": "#/definitions/AWS_CE_AnomalySubscription" + "$ref": "#/definitions/AWS_SageMaker_ModelExplainabilityJobDefinition" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TargetGroup" + "$ref": "#/definitions/AWS_Proton_EnvironmentTemplate" }, { - "$ref": "#/definitions/AWS_NetworkManager_CustomerGatewayAssociation" + "$ref": "#/definitions/AWS_AppTest_TestCase" }, { - "$ref": "#/definitions/AWS_SSM_Document" + "$ref": "#/definitions/AWS_Lightsail_Bucket" }, { - "$ref": "#/definitions/AWS_AuditManager_Assessment" + "$ref": "#/definitions/AWS_IVS_PlaybackRestrictionPolicy" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_AssetModel" + "$ref": "#/definitions/AWS_Glue_Trigger" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_CalculatedAttributeDefinition" + "$ref": "#/definitions/AWS_ServiceCatalog_ResourceUpdateConstraint" }, { - "$ref": "#/definitions/AWS_WorkSpaces_ConnectionAlias" + "$ref": "#/definitions/AWS_Lightsail_Distribution" }, { - "$ref": "#/definitions/AWS_KMS_Alias" + "$ref": "#/definitions/AWS_AppSync_GraphQLApi" }, { - "$ref": "#/definitions/AWS_CloudFormation_ResourceVersion" + "$ref": "#/definitions/AWS_SecurityHub_PolicyAssociation" }, { - "$ref": "#/definitions/AWS_Transfer_Connector" + "$ref": "#/definitions/AWS_EC2_VPNGateway" }, { - "$ref": "#/definitions/AWS_Wisdom_KnowledgeBase" + "$ref": "#/definitions/AWS_IoT_CustomMetric" }, { - "$ref": "#/definitions/AWS_Pinpoint_InAppTemplate" + "$ref": "#/definitions/AWS_WAFRegional_IPSet" }, { - "$ref": "#/definitions/AWS_IoT_Authorizer" + "$ref": "#/definitions/AWS_Timestream_Database" }, { - "$ref": "#/definitions/AWS_Lex_BotVersion" + "$ref": "#/definitions/AWS_CE_CostCategory" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_Workspace" + "$ref": "#/definitions/AWS_ApiGateway_RequestValidator" }, { - "$ref": "#/definitions/AWS_SageMaker_AppImageConfig" + "$ref": "#/definitions/AWS_AppConfig_ConfigurationProfile" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_LoggingConfiguration" + "$ref": "#/definitions/AWS_AppSync_SourceApiAssociation" }, { - "$ref": "#/definitions/AWS_Greengrass_FunctionDefinitionVersion" + "$ref": "#/definitions/AWS_Greengrass_ResourceDefinitionVersion" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_ResourceUpdateConstraint" + "$ref": "#/definitions/AWS_Route53Resolver_FirewallRuleGroupAssociation" }, { - "$ref": "#/definitions/AWS_Organizations_Organization" + "$ref": "#/definitions/AWS_EntityResolution_SchemaMapping" }, { - "$ref": "#/definitions/AWS_S3_StorageLens" + "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastGroupSource" }, { - "$ref": "#/definitions/AWS_MediaLive_Channel" + "$ref": "#/definitions/AWS_MediaTailor_SourceLocation" }, { - "$ref": "#/definitions/AWS_NeptuneGraph_PrivateGraphEndpoint" + "$ref": "#/definitions/AWS_VpcLattice_AuthPolicy" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_SignalCatalog" + "$ref": "#/definitions/AWS_CloudFormation_Stack" }, { - "$ref": "#/definitions/AWS_DocDB_EventSubscription" + "$ref": "#/definitions/AWS_SSO_Instance" }, { - "$ref": "#/definitions/AWS_Route53Resolver_FirewallRuleGroup" + "$ref": "#/definitions/AWS_ElastiCache_SecurityGroupIngress" }, { - "$ref": "#/definitions/AWS_AutoScaling_ScalingPolicy" + "$ref": "#/definitions/AWS_SNS_TopicPolicy" }, { - "$ref": "#/definitions/AWS_Lightsail_Bucket" + "$ref": "#/definitions/AWS_GreengrassV2_Deployment" }, { - "$ref": "#/definitions/AWS_Scheduler_Schedule" + "$ref": "#/definitions/AWS_DataSync_LocationNFS" }, { - "$ref": "#/definitions/AWS_EntityResolution_SchemaMapping" + "$ref": "#/definitions/AWS_CloudFront_ResponseHeadersPolicy" }, { - "$ref": "#/definitions/AWS_Glue_Workflow" + "$ref": "#/definitions/AWS_KinesisAnalytics_ApplicationReferenceDataSource" }, { - "$ref": "#/definitions/AWS_AppFlow_Flow" + "$ref": "#/definitions/AWS_Redshift_Cluster" }, { - "$ref": "#/definitions/AWS_Events_Connection" + "$ref": "#/definitions/AWS_Glue_Partition" }, { - "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_AttributeGroupAssociation" + "$ref": "#/definitions/AWS_Deadline_MeteredProduct" }, { - "$ref": "#/definitions/AWS_AmazonMQ_ConfigurationAssociation" + "$ref": "#/definitions/AWS_Backup_BackupSelection" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_OriginEndpointPolicy" + "$ref": "#/definitions/AWS_NetworkManager_Site" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Authorizer" + "$ref": "#/definitions/AWS_Pinpoint_VoiceChannel" }, { - "$ref": "#/definitions/AWS_ECS_ClusterCapacityProviderAssociations" + "$ref": "#/definitions/AWS_OpenSearchServerless_VpcEndpoint" }, { - "$ref": "#/definitions/AWS_EC2_VPNConnectionRoute" + "$ref": "#/definitions/AWS_Kendra_Faq" }, { - "$ref": "#/definitions/AWS_EC2_VolumeAttachment" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_Listener" }, { - "$ref": "#/definitions/AWS_Oam_Sink" + "$ref": "#/definitions/AWS_XRay_Group" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_Portfolio" + "$ref": "#/definitions/AWS_AutoScaling_ScalingPolicy" }, { - "$ref": "#/definitions/AWS_ControlTower_EnabledBaseline" + "$ref": "#/definitions/AWS_Rekognition_StreamProcessor" }, { - "$ref": "#/definitions/AWS_CodeStarConnections_Connection" + "$ref": "#/definitions/AWS_CodeDeploy_Application" }, { - "$ref": "#/definitions/AWS_Redshift_EventSubscription" + "$ref": "#/definitions/AWS_Rekognition_Project" }, { - "$ref": "#/definitions/AWS_Backup_BackupVault" + "$ref": "#/definitions/AWS_EC2_TransitGatewayRoute" }, { - "$ref": "#/definitions/AWS_SageMaker_FeatureGroup" + "$ref": "#/definitions/AWS_VpcLattice_Service" }, { - "$ref": "#/definitions/AWS_EC2_SecurityGroupEgress" + "$ref": "#/definitions/AWS_EC2_GatewayRouteTableAssociation" }, { - "$ref": "#/definitions/AWS_AppConfig_ConfigurationProfile" + "$ref": "#/definitions/AWS_Evidently_Feature" }, { - "$ref": "#/definitions/AWS_Pinpoint_ApplicationSettings" + "$ref": "#/definitions/AWS_IoTFleetWise_Fleet" }, { - "$ref": "#/definitions/AWS_WAFRegional_WebACLAssociation" + "$ref": "#/definitions/AWS_MediaConvert_JobTemplate" }, { - "$ref": "#/definitions/AWS_CloudFormation_WaitConditionHandle" + "$ref": "#/definitions/AWS_CodeDeploy_DeploymentConfig" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_CloudFormationProvisionedProduct" + "$ref": "#/definitions/AWS_AppRunner_Service" }, { - "$ref": "#/definitions/AWS_ApiGateway_ApiKey" + "$ref": "#/definitions/AWS_Macie_CustomDataIdentifier" }, { - "$ref": "#/definitions/AWS_Backup_Framework" + "$ref": "#/definitions/AWS_ApiGateway_RestApi" }, { - "$ref": "#/definitions/AWS_MediaPackage_PackagingConfiguration" + "$ref": "#/definitions/AWS_Lex_Bot" }, { - "$ref": "#/definitions/AWS_IAM_Policy" + "$ref": "#/definitions/AWS_DMS_DataProvider" }, { - "$ref": "#/definitions/AWS_Grafana_Workspace" + "$ref": "#/definitions/AWS_ResourceExplorer2_View" }, { - "$ref": "#/definitions/AWS_Wisdom_AssistantAssociation" + "$ref": "#/definitions/AWS_AppMesh_VirtualGateway" }, { - "$ref": "#/definitions/AWS_Bedrock_Agent" + "$ref": "#/definitions/AWS_MediaTailor_ChannelPolicy" }, { - "$ref": "#/definitions/AWS_Forecast_Dataset" + "$ref": "#/definitions/AWS_MediaPackage_Channel" }, { - "$ref": "#/definitions/AWS_MWAA_Environment" + "$ref": "#/definitions/AWS_Events_EventBus" }, { - "$ref": "#/definitions/AWS_Amplify_Branch" + "$ref": "#/definitions/AWS_CodePipeline_Pipeline" }, { - "$ref": "#/definitions/AWS_ApplicationInsights_Application" + "$ref": "#/definitions/AWS_AppSync_FunctionConfiguration" }, { - "$ref": "#/definitions/AWS_ApiGateway_BasePathMapping" + "$ref": "#/definitions/AWS_QuickSight_Dashboard" }, { - "$ref": "#/definitions/AWS_IoTWireless_PartnerAccount" + "$ref": "#/definitions/AWS_RDS_DBProxyEndpoint" }, { - "$ref": "#/definitions/AWS_Cognito_IdentityPoolRoleAttachment" + "$ref": "#/definitions/AWS_Logs_SubscriptionFilter" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_NetworkSettings" + "$ref": "#/definitions/AWS_Wisdom_AssistantAssociation" }, { - "$ref": "#/definitions/AWS_S3_Bucket" + "$ref": "#/definitions/AWS_DocDB_DBClusterParameterGroup" }, { - "$ref": "#/definitions/AWS_EC2_RouteTable" + "$ref": "#/definitions/AWS_VoiceID_Domain" }, { - "$ref": "#/definitions/AWS_Amplify_App" + "$ref": "#/definitions/AWS_WAF_WebACL" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTable" + "$ref": "#/definitions/AWS_EKS_Nodegroup" }, { - "$ref": "#/definitions/AWS_NetworkManager_ConnectAttachment" + "$ref": "#/definitions/AWS_ManagedBlockchain_Accessor" }, { - "$ref": "#/definitions/AWS_ElasticBeanstalk_ConfigurationTemplate" + "$ref": "#/definitions/AWS_GameLift_GameServerGroup" }, { - "$ref": "#/definitions/AWS_ImageBuilder_Workflow" + "$ref": "#/definitions/AWS_HealthImaging_Datastore" }, { - "$ref": "#/definitions/AWS_EKS_Nodegroup" + "$ref": "#/definitions/AWS_StepFunctions_StateMachineVersion" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayPeeringAttachment" + "$ref": "#/definitions/AWS_DAX_ParameterGroup" }, { - "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTable" + "$ref": "#/definitions/AWS_Cognito_UserPoolRiskConfigurationAttachment" }, { - "$ref": "#/definitions/AWS_SSM_Association" + "$ref": "#/definitions/AWS_Logs_MetricFilter" }, { - "$ref": "#/definitions/AWS_RDS_Integration" + "$ref": "#/definitions/AWS_Glue_DataQualityRuleset" }, { - "$ref": "#/definitions/AWS_Timestream_InfluxDBInstance" + "$ref": "#/definitions/AWS_MediaTailor_Channel" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastGroupSource" + "$ref": "#/definitions/AWS_NetworkManager_CoreNetwork" }, { - "$ref": "#/definitions/AWS_AppRunner_VpcConnector" + "$ref": "#/definitions/AWS_SES_ReceiptFilter" }, { - "$ref": "#/definitions/AWS_Athena_PreparedStatement" + "$ref": "#/definitions/AWS_Cognito_LogDeliveryConfiguration" }, { - "$ref": "#/definitions/AWS_EC2_Instance" + "$ref": "#/definitions/AWS_CloudTrail_Channel" }, { - "$ref": "#/definitions/AWS_EC2_FlowLog" + "$ref": "#/definitions/AWS_S3_Bucket" }, { - "$ref": "#/definitions/Alexa_ASK_Skill" + "$ref": "#/definitions/AWS_B2BI_Transformer" }, { - "$ref": "#/definitions/AWS_EC2_VerifiedAccessEndpoint" + "$ref": "#/definitions/AWS_MediaTailor_LiveSource" }, { - "$ref": "#/definitions/AWS_IoTWireless_MulticastGroup" + "$ref": "#/definitions/AWS_SageMaker_ModelCard" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverQueryLoggingConfig" + "$ref": "#/definitions/AWS_EC2_VPCEndpointServicePermissions" }, { - "$ref": "#/definitions/AWS_IoTThingsGraph_FlowTemplate" + "$ref": "#/definitions/AWS_Route53Resolver_FirewallRuleGroup" }, { - "$ref": "#/definitions/AWS_FIS_ExperimentTemplate" + "$ref": "#/definitions/AWS_Organizations_Policy" }, { - "$ref": "#/definitions/AWS_IoTWireless_WirelessDeviceImportTask" + "$ref": "#/definitions/AWS_IoT1Click_Placement" }, { - "$ref": "#/definitions/AWS_CloudFront_StreamingDistribution" + "$ref": "#/definitions/AWS_ApiGateway_BasePathMapping" }, { - "$ref": "#/definitions/AWS_Config_ConfigurationRecorder" + "$ref": "#/definitions/AWS_EC2_VPCEndpoint" }, { - "$ref": "#/definitions/AWS_MSK_VpcConnection" + "$ref": "#/definitions/AWS_IVS_StreamKey" }, { - "$ref": "#/definitions/AWS_WAFRegional_IPSet" + "$ref": "#/definitions/AWS_SecurityHub_SecurityControl" }, { - "$ref": "#/definitions/AWS_Kendra_Faq" + "$ref": "#/definitions/AWS_ApiGateway_Authorizer" }, { - "$ref": "#/definitions/AWS_SNS_TopicPolicy" + "$ref": "#/definitions/AWS_SES_ConfigurationSet" }, { - "$ref": "#/definitions/AWS_AppSync_DomainName" + "$ref": "#/definitions/AWS_SNS_Topic" }, { - "$ref": "#/definitions/AWS_NimbleStudio_StreamingImage" + "$ref": "#/definitions/AWS_GameLift_ContainerGroupDefinition" }, { - "$ref": "#/definitions/AWS_GuardDuty_Detector" + "$ref": "#/definitions/AWS_RDS_DBSubnetGroup" }, { - "$ref": "#/definitions/AWS_Signer_ProfilePermission" + "$ref": "#/definitions/AWS_S3Outposts_Endpoint" }, { - "$ref": "#/definitions/AWS_Cassandra_Table" + "$ref": "#/definitions/AWS_ECS_ClusterCapacityProviderAssociations" }, { - "$ref": "#/definitions/AWS_FraudDetector_List" + "$ref": "#/definitions/AWS_EC2_IPAMAllocation" }, { - "$ref": "#/definitions/AWS_IoT_Dimension" + "$ref": "#/definitions/AWS_MediaConnect_Gateway" }, { - "$ref": "#/definitions/AWS_ElasticBeanstalk_Environment" + "$ref": "#/definitions/AWS_IAM_Policy" }, { - "$ref": "#/definitions/AWS_SageMaker_NotebookInstance" + "$ref": "#/definitions/AWS_AppConfig_Deployment" }, { - "$ref": "#/definitions/AWS_RDS_EventSubscription" + "$ref": "#/definitions/AWS_SupportApp_SlackChannelConfiguration" }, { - "$ref": "#/definitions/AWS_IoT_Logging" + "$ref": "#/definitions/AWS_QBusiness_Application" }, { - "$ref": "#/definitions/AWS_AutoScaling_WarmPool" + "$ref": "#/definitions/AWS_IoTWireless_WirelessDevice" }, { - "$ref": "#/definitions/AWS_RDS_DBSecurityGroup" + "$ref": "#/definitions/AWS_S3_AccessGrantsLocation" }, { - "$ref": "#/definitions/AWS_Pinpoint_SMSChannel" + "$ref": "#/definitions/AWS_Glue_DevEndpoint" }, { - "$ref": "#/definitions/AWS_CodeBuild_ReportGroup" + "$ref": "#/definitions/AWS_IoTSiteWise_Dashboard" }, { - "$ref": "#/definitions/AWS_WAFRegional_WebACL" + "$ref": "#/definitions/AWS_Neptune_DBClusterParameterGroup" }, { - "$ref": "#/definitions/AWS_KinesisVideo_Stream" + "$ref": "#/definitions/AWS_MediaConnect_BridgeSource" }, { - "$ref": "#/definitions/AWS_AppConfig_HostedConfigurationVersion" + "$ref": "#/definitions/AWS_EC2_PrefixList" }, { - "$ref": "#/definitions/AWS_Lambda_Version" + "$ref": "#/definitions/AWS_DMS_Certificate" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_Channel" + "$ref": "#/definitions/AWS_Pinpoint_App" }, { - "$ref": "#/definitions/AWS_RDS_DBParameterGroup" + "$ref": "#/definitions/AWS_M2_Application" }, { - "$ref": "#/definitions/AWS_MediaStore_Container" + "$ref": "#/definitions/AWS_SES_MailManagerRelay" }, { - "$ref": "#/definitions/AWS_IoT_TopicRuleDestination" + "$ref": "#/definitions/AWS_EC2_NetworkAcl" }, { - "$ref": "#/definitions/AWS_EC2_EgressOnlyInternetGateway" + "$ref": "#/definitions/AWS_IoT_JobTemplate" }, { - "$ref": "#/definitions/AWS_WAFv2_IPSet" + "$ref": "#/definitions/AWS_VpcLattice_TargetGroup" }, { - "$ref": "#/definitions/AWS_OpsWorksCM_Server" + "$ref": "#/definitions/AWS_Timestream_ScheduledQuery" }, { - "$ref": "#/definitions/AWS_EC2_IPAMResourceDiscoveryAssociation" + "$ref": "#/definitions/AWS_EC2_IPAMScope" }, { - "$ref": "#/definitions/AWS_Config_ConfigurationAggregator" + "$ref": "#/definitions/AWS_SSMIncidents_ResponsePlan" }, { - "$ref": "#/definitions/AWS_Logs_DeliverySource" + "$ref": "#/definitions/AWS_Cloud9_EnvironmentEC2" }, { - "$ref": "#/definitions/AWS_PinpointEmail_ConfigurationSet" + "$ref": "#/definitions/AWS_WAFRegional_XssMatchSet" }, { - "$ref": "#/definitions/AWS_ResourceExplorer2_DefaultViewAssociation" + "$ref": "#/definitions/AWS_Omics_SequenceStore" }, { - "$ref": "#/definitions/AWS_ACMPCA_CertificateAuthorityActivation" + "$ref": "#/definitions/AWS_DMS_EventSubscription" }, { - "$ref": "#/definitions/AWS_EMR_StudioSessionMapping" + "$ref": "#/definitions/AWS_Bedrock_DataSource" }, { - "$ref": "#/definitions/AWS_EC2_SubnetCidrBlock" + "$ref": "#/definitions/AWS_IAM_Group" }, { - "$ref": "#/definitions/AWS_Greengrass_FunctionDefinition" + "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastGroupMember" }, { - "$ref": "#/definitions/AWS_IAM_ManagedPolicy" + "$ref": "#/definitions/AWS_Redshift_ScheduledAction" }, { - "$ref": "#/definitions/AWS_AmplifyUIBuilder_Theme" + "$ref": "#/definitions/AWS_Comprehend_Flywheel" }, { - "$ref": "#/definitions/AWS_EventSchemas_Schema" + "$ref": "#/definitions/AWS_EFS_AccessPoint" }, { - "$ref": "#/definitions/AWS_IoTWireless_Destination" + "$ref": "#/definitions/AWS_WAF_Rule" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_ApiMapping" + "$ref": "#/definitions/AWS_CloudFront_Distribution" }, { - "$ref": "#/definitions/AWS_Greengrass_GroupVersion" + "$ref": "#/definitions/AWS_WorkSpaces_Workspace" }, { - "$ref": "#/definitions/AWS_IoT_AccountAuditConfiguration" + "$ref": "#/definitions/AWS_OpsWorks_UserProfile" }, { - "$ref": "#/definitions/AWS_WAFRegional_XssMatchSet" + "$ref": "#/definitions/AWS_CodeGuruProfiler_ProfilingGroup" }, { - "$ref": "#/definitions/AWS_IdentityStore_GroupMembership" + "$ref": "#/definitions/AWS_ImageBuilder_ContainerRecipe" }, { - "$ref": "#/definitions/AWS_EC2_GatewayRouteTableAssociation" + "$ref": "#/definitions/AWS_ServiceCatalog_LaunchRoleConstraint" }, { - "$ref": "#/definitions/AWS_NetworkManager_LinkAssociation" + "$ref": "#/definitions/AWS_IoT_CertificateProvider" }, { - "$ref": "#/definitions/AWS_EC2_NatGateway" + "$ref": "#/definitions/AWS_SageMaker_NotebookInstance" }, { - "$ref": "#/definitions/AWS_CloudFront_OriginAccessControl" + "$ref": "#/definitions/AWS_MediaPackage_PackagingConfiguration" }, { - "$ref": "#/definitions/AWS_GroundStation_DataflowEndpointGroup" + "$ref": "#/definitions/AWS_ResourceGroups_Group" }, { - "$ref": "#/definitions/AWS_SSM_MaintenanceWindowTask" + "$ref": "#/definitions/AWS_CloudFormation_TypeActivation" }, { - "$ref": "#/definitions/AWS_IVS_Channel" + "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayPeering" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_IpAccessSettings" + "$ref": "#/definitions/AWS_EC2_IPAMResourceDiscovery" }, { - "$ref": "#/definitions/AWS_CodeStar_GitHubRepository" + "$ref": "#/definitions/AWS_ServiceCatalog_TagOptionAssociation" }, { - "$ref": "#/definitions/AWS_ImageBuilder_LifecyclePolicy" + "$ref": "#/definitions/AWS_EC2_NetworkInterface" }, { - "$ref": "#/definitions/AWS_SecurityHub_ProductSubscription" + "$ref": "#/definitions/AWS_VpcLattice_Listener" }, { - "$ref": "#/definitions/AWS_CloudWatch_Dashboard" + "$ref": "#/definitions/AWS_DataZone_UserProfile" }, { - "$ref": "#/definitions/AWS_Rekognition_Collection" + "$ref": "#/definitions/AWS_BillingConductor_CustomLineItem" }, { - "$ref": "#/definitions/AWS_Connect_SecurityKey" + "$ref": "#/definitions/AWS_Pinpoint_EventStream" }, { - "$ref": "#/definitions/AWS_AppSync_GraphQLSchema" + "$ref": "#/definitions/AWS_SSO_Application" }, { - "$ref": "#/definitions/AWS_Organizations_ResourcePolicy" + "$ref": "#/definitions/AWS_LookoutEquipment_InferenceScheduler" }, { - "$ref": "#/definitions/AWS_Omics_Workflow" + "$ref": "#/definitions/AWS_MediaPackageV2_Channel" }, { - "$ref": "#/definitions/AWS_Lightsail_LoadBalancer" + "$ref": "#/definitions/AWS_Backup_RestoreTestingPlan" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_Fleet" + "$ref": "#/definitions/AWS_SupportApp_SlackWorkspaceConfiguration" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastGroupMember" + "$ref": "#/definitions/AWS_EventSchemas_Discoverer" }, { - "$ref": "#/definitions/AWS_Transfer_Agreement" + "$ref": "#/definitions/AWS_FMS_ResourceSet" }, { - "$ref": "#/definitions/AWS_Lambda_EventInvokeConfig" + "$ref": "#/definitions/AWS_ACMPCA_CertificateAuthorityActivation" }, { - "$ref": "#/definitions/AWS_CloudTrail_EventDataStore" + "$ref": "#/definitions/AWS_SES_ReceiptRuleSet" }, { - "$ref": "#/definitions/AWS_ApiGateway_Authorizer" + "$ref": "#/definitions/AWS_LakeFormation_Resource" }, { - "$ref": "#/definitions/AWS_Neptune_DBClusterParameterGroup" + "$ref": "#/definitions/AWS_IoT_TopicRule" }, { - "$ref": "#/definitions/AWS_Route53RecoveryControl_RoutingControl" + "$ref": "#/definitions/AWS_CloudFront_CachePolicy" }, { - "$ref": "#/definitions/AWS_SageMaker_Workteam" + "$ref": "#/definitions/AWS_LookoutMetrics_Alert" }, { - "$ref": "#/definitions/AWS_GlobalAccelerator_Listener" + "$ref": "#/definitions/AWS_Backup_Framework" }, { - "$ref": "#/definitions/AWS_Glue_SchemaVersion" + "$ref": "#/definitions/AWS_GlobalAccelerator_EndpointGroup" }, { - "$ref": "#/definitions/AWS_Cassandra_Keyspace" + "$ref": "#/definitions/AWS_Glue_Schema" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_Integration" + "$ref": "#/definitions/AWS_FMS_NotificationChannel" }, { - "$ref": "#/definitions/AWS_MediaConnect_BridgeSource" + "$ref": "#/definitions/AWS_NetworkFirewall_TLSInspectionConfiguration" }, { - "$ref": "#/definitions/AWS_S3Outposts_Bucket" + "$ref": "#/definitions/AWS_AppMesh_VirtualNode" }, { - "$ref": "#/definitions/AWS_Redshift_ClusterSecurityGroup" + "$ref": "#/definitions/AWS_GlobalAccelerator_CrossAccountAttachment" }, { - "$ref": "#/definitions/AWS_Backup_RestoreTestingSelection" + "$ref": "#/definitions/AWS_EC2_NetworkInterfaceAttachment" }, { - "$ref": "#/definitions/AWS_EC2_SecurityGroup" + "$ref": "#/definitions/AWS_KinesisAnalyticsV2_Application" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_SecurityConfig" + "$ref": "#/definitions/AWS_SageMaker_InferenceExperiment" }, { - "$ref": "#/definitions/AWS_PaymentCryptography_Alias" + "$ref": "#/definitions/AWS_AppFlow_Connector" }, { - "$ref": "#/definitions/AWS_GameLift_Script" + "$ref": "#/definitions/AWS_SageMaker_NotebookInstanceLifecycleConfig" }, { - "$ref": "#/definitions/AWS_AmazonMQ_Configuration" + "$ref": "#/definitions/AWS_ApplicationSignals_ServiceLevelObjective" }, { - "$ref": "#/definitions/AWS_Macie_Session" + "$ref": "#/definitions/AWS_CodeStarConnections_RepositoryLink" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_ServicePrincipalName" + "$ref": "#/definitions/AWS_Connect_PhoneNumber" }, { - "$ref": "#/definitions/AWS_S3Outposts_AccessPoint" + "$ref": "#/definitions/AWS_Shield_ProtectionGroup" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioProductAssociation" + "$ref": "#/definitions/AWS_Evidently_Experiment" }, { - "$ref": "#/definitions/AWS_OpsWorks_UserProfile" + "$ref": "#/definitions/AWS_IoTTwinMaker_ComponentType" }, { - "$ref": "#/definitions/AWS_SecurityLake_AwsLogSource" + "$ref": "#/definitions/AWS_SecurityLake_DataLake" }, { - "$ref": "#/definitions/AWS_CloudFront_ContinuousDeploymentPolicy" + "$ref": "#/definitions/AWS_VerifiedPermissions_PolicyTemplate" }, { - "$ref": "#/definitions/AWS_Logs_LogAnomalyDetector" + "$ref": "#/definitions/AWS_MediaConnect_FlowVpcInterface" }, { - "$ref": "#/definitions/AWS_XRay_ResourcePolicy" + "$ref": "#/definitions/AWS_ServiceDiscovery_PrivateDnsNamespace" }, { - "$ref": "#/definitions/AWS_SSM_ResourceDataSync" + "$ref": "#/definitions/AWS_ServiceDiscovery_Service" }, { - "$ref": "#/definitions/AWS_VpcLattice_AccessLogSubscription" + "$ref": "#/definitions/AWS_ACMPCA_CertificateAuthority" }, { - "$ref": "#/definitions/AWS_DevOpsGuru_LogAnomalyDetectionIntegration" + "$ref": "#/definitions/AWS_NetworkManager_GlobalNetwork" }, { - "$ref": "#/definitions/AWS_NetworkManager_SiteToSiteVpnAttachment" + "$ref": "#/definitions/AWS_EC2_NetworkInsightsAccessScope" }, { - "$ref": "#/definitions/AWS_Personalize_Dataset" + "$ref": "#/definitions/AWS_Location_Tracker" }, { - "$ref": "#/definitions/AWS_ECR_PublicRepository" + "$ref": "#/definitions/AWS_DirectoryService_SimpleAD" }, { - "$ref": "#/definitions/AWS_AppIntegrations_Application" + "$ref": "#/definitions/AWS_WAFv2_LoggingConfiguration" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_TemplateGroupAccessControlEntry" + "$ref": "#/definitions/AWS_Events_Endpoint" }, { - "$ref": "#/definitions/AWS_NetworkManager_VpcAttachment" + "$ref": "#/definitions/AWS_EC2_CapacityReservation" }, { - "$ref": "#/definitions/AWS_Shield_DRTAccess" + "$ref": "#/definitions/AWS_Signer_ProfilePermission" }, { - "$ref": "#/definitions/AWS_Detective_Graph" + "$ref": "#/definitions/AWS_ElasticBeanstalk_ApplicationVersion" }, { - "$ref": "#/definitions/AWS_EMR_InstanceGroupConfig" + "$ref": "#/definitions/AWS_PCAConnectorAD_Template" }, { - "$ref": "#/definitions/AWS_IAM_VirtualMFADevice" + "$ref": "#/definitions/AWS_EKS_FargateProfile" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_DecoderManifest" + "$ref": "#/definitions/AWS_FraudDetector_Detector" }, { - "$ref": "#/definitions/AWS_EMR_Step" + "$ref": "#/definitions/AWS_EC2_TrafficMirrorSession" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolUserToGroupAttachment" + "$ref": "#/definitions/AWS_EC2_VPCGatewayAttachment" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Project" + "$ref": "#/definitions/AWS_Connect_ContactFlowModule" }, { - "$ref": "#/definitions/AWS_Bedrock_DataSource" + "$ref": "#/definitions/AWS_FraudDetector_Outcome" }, { - "$ref": "#/definitions/AWS_CloudFront_CloudFrontOriginAccessIdentity" + "$ref": "#/definitions/AWS_Redshift_ClusterSubnetGroup" }, { - "$ref": "#/definitions/AWS_RedshiftServerless_Namespace" + "$ref": "#/definitions/AWS_EC2_VPCCidrBlock" }, { - "$ref": "#/definitions/AWS_Macie_AllowList" + "$ref": "#/definitions/AWS_DataBrew_Job" }, { - "$ref": "#/definitions/AWS_EMRServerless_Application" + "$ref": "#/definitions/AWS_Lambda_EventSourceMapping" }, { - "$ref": "#/definitions/AWS_SageMaker_ImageVersion" + "$ref": "#/definitions/AWS_RDS_DBSecurityGroup" }, { - "$ref": "#/definitions/AWS_ApplicationAutoScaling_ScalableTarget" + "$ref": "#/definitions/AWS_CodeGuruReviewer_RepositoryAssociation" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_EventStream" + "$ref": "#/definitions/AWS_EC2_Volume" }, { - "$ref": "#/definitions/AWS_IAM_SAMLProvider" + "$ref": "#/definitions/AWS_Omics_Workflow" }, { - "$ref": "#/definitions/AWS_MediaConvert_Preset" + "$ref": "#/definitions/AWS_Connect_Prompt" }, { - "$ref": "#/definitions/AWS_APS_RuleGroupsNamespace" + "$ref": "#/definitions/AWS_OpenSearchService_Domain" }, { - "$ref": "#/definitions/AWS_SecretsManager_Secret" + "$ref": "#/definitions/AWS_Logs_AccountPolicy" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_DirectoryRegistration" + "$ref": "#/definitions/AWS_EC2_VPCDHCPOptionsAssociation" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInsightsAccessScopeAnalysis" + "$ref": "#/definitions/AWS_FraudDetector_EntityType" }, { - "$ref": "#/definitions/AWS_Greengrass_CoreDefinition" + "$ref": "#/definitions/AWS_Pinpoint_SMSChannel" }, { - "$ref": "#/definitions/AWS_SupportApp_SlackWorkspaceConfiguration" + "$ref": "#/definitions/AWS_SDB_Domain" }, { - "$ref": "#/definitions/AWS_AppSync_DomainNameApiAssociation" + "$ref": "#/definitions/AWS_DataSync_LocationObjectStorage" }, { - "$ref": "#/definitions/AWS_CloudFormation_WaitCondition" + "$ref": "#/definitions/AWS_SES_MailManagerIngressPoint" }, { - "$ref": "#/definitions/AWS_IoT_ResourceSpecificLogging" + "$ref": "#/definitions/AWS_S3Express_BucketPolicy" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_ObjectType" + "$ref": "#/definitions/AWS_Shield_ProactiveEngagement" }, { - "$ref": "#/definitions/AWS_Lex_Bot" + "$ref": "#/definitions/AWS_SageMaker_ImageVersion" }, { - "$ref": "#/definitions/AWS_SecretsManager_ResourcePolicy" + "$ref": "#/definitions/AWS_Neptune_DBCluster" }, { - "$ref": "#/definitions/AWS_DataPipeline_Pipeline" + "$ref": "#/definitions/AWS_AppMesh_VirtualService" }, { - "$ref": "#/definitions/AWS_DynamoDB_GlobalTable" + "$ref": "#/definitions/AWS_SageMaker_EndpointConfig" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Portal" + "$ref": "#/definitions/AWS_Lightsail_LoadBalancerTlsCertificate" }, { - "$ref": "#/definitions/AWS_SSO_PermissionSet" + "$ref": "#/definitions/AWS_ApiGateway_ClientCertificate" }, { - "$ref": "#/definitions/AWS_Evidently_Project" + "$ref": "#/definitions/AWS_LakeFormation_Tag" }, { - "$ref": "#/definitions/AWS_IVS_StreamKey" + "$ref": "#/definitions/AWS_EC2_SecurityGroupEgress" }, { - "$ref": "#/definitions/AWS_Detective_OrganizationAdmin" + "$ref": "#/definitions/AWS_Macie_AllowList" }, { - "$ref": "#/definitions/AWS_EC2_VPCDHCPOptionsAssociation" + "$ref": "#/definitions/AWS_IoT1Click_Project" }, { - "$ref": "#/definitions/AWS_SecurityLake_DataLake" + "$ref": "#/definitions/AWS_Route53Profiles_ProfileResourceAssociation" }, { - "$ref": "#/definitions/AWS_AppStream_Entitlement" + "$ref": "#/definitions/AWS_SES_DedicatedIpPool" }, { - "$ref": "#/definitions/AWS_Glue_Table" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_ListenerRule" }, { - "$ref": "#/definitions/AWS_Chatbot_SlackChannelConfiguration" + "$ref": "#/definitions/AWS_RolesAnywhere_CRL" }, { - "$ref": "#/definitions/AWS_Glue_Classifier" + "$ref": "#/definitions/AWS_OpenSearchServerless_Collection" }, { - "$ref": "#/definitions/AWS_MediaLive_InputSecurityGroup" + "$ref": "#/definitions/AWS_WorkSpacesThinClient_Environment" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelPackageGroup" + "$ref": "#/definitions/AWS_EMRServerless_Application" }, { - "$ref": "#/definitions/AWS_FMS_ResourceSet" + "$ref": "#/definitions/AWS_OpenSearchServerless_SecurityPolicy" }, { - "$ref": "#/definitions/AWS_RUM_AppMonitor" + "$ref": "#/definitions/AWS_Wisdom_KnowledgeBase" }, { - "$ref": "#/definitions/AWS_EC2_VPCEndpointServicePermissions" + "$ref": "#/definitions/AWS_IoT_Authorizer" }, { - "$ref": "#/definitions/AWS_AppMesh_GatewayRoute" + "$ref": "#/definitions/AWS_ImageBuilder_Component" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_AccessPolicy" + "$ref": "#/definitions/AWS_Route53_HealthCheck" }, { - "$ref": "#/definitions/AWS_QuickSight_VPCConnection" + "$ref": "#/definitions/AWS_Location_TrackerConsumer" }, { - "$ref": "#/definitions/AWS_Greengrass_DeviceDefinitionVersion" + "$ref": "#/definitions/AWS_EC2_FlowLog" }, { - "$ref": "#/definitions/AWS_CleanRooms_AnalysisTemplate" + "$ref": "#/definitions/AWS_NetworkFirewall_RuleGroup" }, { - "$ref": "#/definitions/AWS_AppConfig_ExtensionAssociation" + "$ref": "#/definitions/AWS_CloudFormation_ModuleDefaultVersion" }, { - "$ref": "#/definitions/AWS_IoT_ThingPrincipalAttachment" + "$ref": "#/definitions/AWS_IoTFleetWise_Vehicle" }, { - "$ref": "#/definitions/AWS_NetworkManager_Site" + "$ref": "#/definitions/AWS_CloudFormation_HookTypeConfig" }, { - "$ref": "#/definitions/AWS_Wisdom_Assistant" + "$ref": "#/definitions/AWS_Forecast_DatasetGroup" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_TLSInspectionConfiguration" + "$ref": "#/definitions/AWS_AmazonMQ_Configuration" }, { - "$ref": "#/definitions/AWS_Greengrass_LoggerDefinitionVersion" + "$ref": "#/definitions/AWS_SageMaker_Endpoint" }, { - "$ref": "#/definitions/AWS_Route53RecoveryReadiness_ResourceSet" + "$ref": "#/definitions/AWS_ElasticBeanstalk_Environment" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancing_LoadBalancer" + "$ref": "#/definitions/AWS_Scheduler_ScheduleGroup" }, { - "$ref": "#/definitions/AWS_Panorama_Package" + "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayRouteTableAttachment" }, { - "$ref": "#/definitions/AWS_ImageBuilder_DistributionConfiguration" + "$ref": "#/definitions/AWS_CloudFront_MonitoringSubscription" }, { - "$ref": "#/definitions/AWS_IAM_InstanceProfile" + "$ref": "#/definitions/AWS_Connect_Instance" }, { - "$ref": "#/definitions/AWS_ElastiCache_SecurityGroup" + "$ref": "#/definitions/AWS_ApiGateway_GatewayResponse" }, { - "$ref": "#/definitions/AWS_DevOpsGuru_ResourceCollection" + "$ref": "#/definitions/AWS_BillingConductor_PricingRule" }, { - "$ref": "#/definitions/AWS_CloudFormation_TypeActivation" + "$ref": "#/definitions/AWS_Personalize_Schema" }, { - "$ref": "#/definitions/AWS_GroundStation_Config" + "$ref": "#/definitions/AWS_Connect_TaskTemplate" }, { - "$ref": "#/definitions/AWS_EFS_MountTarget" + "$ref": "#/definitions/AWS_ResilienceHub_ResiliencyPolicy" }, { - "$ref": "#/definitions/AWS_MediaConnect_FlowOutput" + "$ref": "#/definitions/AWS_ApiGatewayV2_Api" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_ChannelPolicy" + "$ref": "#/definitions/AWS_ImageBuilder_Image" }, { - "$ref": "#/definitions/AWS_WAFRegional_Rule" + "$ref": "#/definitions/AWS_CloudFormation_Publisher" }, { - "$ref": "#/definitions/AWS_EC2_Host" + "$ref": "#/definitions/AWS_SQS_Queue" }, { - "$ref": "#/definitions/AWS_Macie_FindingsFilter" + "$ref": "#/definitions/AWS_Panorama_Package" }, { - "$ref": "#/definitions/AWS_Proton_EnvironmentAccountConnection" + "$ref": "#/definitions/AWS_Location_PlaceIndex" }, { - "$ref": "#/definitions/AWS_IAM_Group" + "$ref": "#/definitions/AWS_Organizations_Account" }, { - "$ref": "#/definitions/AWS_Athena_CapacityReservation" + "$ref": "#/definitions/AWS_Cognito_UserPoolIdentityProvider" }, { - "$ref": "#/definitions/AWS_EntityResolution_MatchingWorkflow" + "$ref": "#/definitions/AWS_WAFRegional_RateBasedRule" }, { - "$ref": "#/definitions/AWS_IoTEvents_Input" + "$ref": "#/definitions/AWS_NimbleStudio_LaunchProfile" }, { - "$ref": "#/definitions/AWS_AppStream_User" + "$ref": "#/definitions/AWS_Glue_Workflow" }, { - "$ref": "#/definitions/AWS_ResilienceHub_ResiliencyPolicy" + "$ref": "#/definitions/AWS_EC2_IPAMPoolCidr" }, { - "$ref": "#/definitions/AWS_Timestream_Table" + "$ref": "#/definitions/AWS_EMR_InstanceFleetConfig" }, { - "$ref": "#/definitions/AWS_Pinpoint_App" + "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastDomainAssociation" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolClient" + "$ref": "#/definitions/AWS_ARCZonalShift_ZonalAutoshiftConfiguration" }, { - "$ref": "#/definitions/AWS_M2_Application" + "$ref": "#/definitions/AWS_AppConfig_Application" }, { - "$ref": "#/definitions/AWS_DataSync_LocationFSxWindows" + "$ref": "#/definitions/AWS_EC2_SpotFleet" }, { - "$ref": "#/definitions/AWS_ImageBuilder_Component" + "$ref": "#/definitions/AWS_EC2_VerifiedAccessInstance" }, { - "$ref": "#/definitions/AWS_Glue_Database" + "$ref": "#/definitions/AWS_PCAConnectorAD_DirectoryRegistration" }, { - "$ref": "#/definitions/AWS_ApiGateway_ClientCertificate" + "$ref": "#/definitions/AWS_StepFunctions_Activity" }, { - "$ref": "#/definitions/AWS_Events_Archive" + "$ref": "#/definitions/AWS_ElastiCache_SubnetGroup" }, { - "$ref": "#/definitions/AWS_RDS_DBProxyEndpoint" + "$ref": "#/definitions/AWS_Config_ConformancePack" }, { - "$ref": "#/definitions/AWS_IAM_UserToGroupAddition" + "$ref": "#/definitions/AWS_SES_ConfigurationSetEventDestination" }, { - "$ref": "#/definitions/AWS_WAF_SqlInjectionMatchSet" + "$ref": "#/definitions/AWS_Route53_CidrCollection" }, { - "$ref": "#/definitions/AWS_Lambda_LayerVersionPermission" + "$ref": "#/definitions/AWS_Greengrass_SubscriptionDefinitionVersion" }, { - "$ref": "#/definitions/AWS_LookoutVision_Project" + "$ref": "#/definitions/AWS_Glue_Registry" }, { - "$ref": "#/definitions/AWS_Lambda_LayerVersion" + "$ref": "#/definitions/AWS_SageMaker_Workteam" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_ComponentType" + "$ref": "#/definitions/AWS_ApiGatewayV2_ApiGatewayManagedOverrides" }, { - "$ref": "#/definitions/AWS_EMR_InstanceFleetConfig" + "$ref": "#/definitions/AWS_Comprehend_DocumentClassifier" }, { - "$ref": "#/definitions/AWS_Connect_TrafficDistributionGroup" + "$ref": "#/definitions/AWS_ResourceExplorer2_Index" }, { - "$ref": "#/definitions/AWS_SageMaker_Pipeline" + "$ref": "#/definitions/AWS_S3_AccessGrant" }, { - "$ref": "#/definitions/AWS_Route53Resolver_FirewallRuleGroupAssociation" + "$ref": "#/definitions/AWS_AppStream_User" }, { - "$ref": "#/definitions/AWS_IAM_User" + "$ref": "#/definitions/AWS_AppStream_Fleet" }, { - "$ref": "#/definitions/AWS_EC2_VPNGatewayRoutePropagation" + "$ref": "#/definitions/AWS_StepFunctions_StateMachineAlias" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_IntegrationResponse" + "$ref": "#/definitions/AWS_Omics_VariantStore" }, { - "$ref": "#/definitions/AWS_CodePipeline_Webhook" + "$ref": "#/definitions/AWS_Pinpoint_ApplicationSettings" }, { - "$ref": "#/definitions/AWS_CloudFront_Distribution" + "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_AttributeGroup" }, { - "$ref": "#/definitions/AWS_IoT_Certificate" + "$ref": "#/definitions/AWS_MediaConnect_FlowOutput" }, { - "$ref": "#/definitions/AWS_Config_RemediationConfiguration" + "$ref": "#/definitions/AWS_SageMaker_ModelPackage" }, { - "$ref": "#/definitions/AWS_RDS_OptionGroup" + "$ref": "#/definitions/AWS_ServiceDiscovery_Instance" }, { - "$ref": "#/definitions/AWS_KafkaConnect_CustomPlugin" + "$ref": "#/definitions/AWS_KMS_Alias" }, { - "$ref": "#/definitions/AWS_KinesisFirehose_DeliveryStream" + "$ref": "#/definitions/AWS_StepFunctions_StateMachine" }, { - "$ref": "#/definitions/AWS_MediaPackage_Channel" + "$ref": "#/definitions/AWS_DMS_Endpoint" }, { - "$ref": "#/definitions/AWS_ARCZonalShift_ZonalAutoshiftConfiguration" + "$ref": "#/definitions/AWS_GlobalAccelerator_Accelerator" }, { - "$ref": "#/definitions/AWS_Greengrass_SubscriptionDefinitionVersion" + "$ref": "#/definitions/AWS_EMR_Step" }, { - "$ref": "#/definitions/AWS_SageMaker_UserProfile" + "$ref": "#/definitions/AWS_SageMaker_Image" }, { - "$ref": "#/definitions/AWS_FSx_Volume" + "$ref": "#/definitions/AWS_MediaTailor_VodSource" }, { - "$ref": "#/definitions/AWS_Lightsail_Container" + "$ref": "#/definitions/AWS_AppSync_DomainName" }, { - "$ref": "#/definitions/AWS_EC2_VPNGateway" + "$ref": "#/definitions/AWS_ApplicationInsights_Application" }, { - "$ref": "#/definitions/AWS_DAX_SubnetGroup" + "$ref": "#/definitions/AWS_OpsWorks_Stack" }, { - "$ref": "#/definitions/AWS_Deadline_StorageProfile" + "$ref": "#/definitions/AWS_Cassandra_Keyspace" }, { - "$ref": "#/definitions/AWS_InspectorV2_Filter" + "$ref": "#/definitions/AWS_DataBrew_Ruleset" }, { - "$ref": "#/definitions/AWS_DataBrew_Recipe" + "$ref": "#/definitions/AWS_Budgets_BudgetsAction" }, { - "$ref": "#/definitions/AWS_Backup_BackupSelection" + "$ref": "#/definitions/AWS_IoTWireless_WirelessGateway" }, { - "$ref": "#/definitions/AWS_IoT_JobTemplate" + "$ref": "#/definitions/AWS_CloudWatch_MetricStream" }, { - "$ref": "#/definitions/AWS_AppStream_ApplicationFleetAssociation" + "$ref": "#/definitions/AWS_Signer_SigningProfile" }, { - "$ref": "#/definitions/AWS_Neptune_DBInstance" + "$ref": "#/definitions/AWS_BCMDataExports_Export" }, { - "$ref": "#/definitions/AWS_SecurityHub_AutomationRule" + "$ref": "#/definitions/AWS_EMR_SecurityConfiguration" }, { - "$ref": "#/definitions/AWS_IoT1Click_Placement" + "$ref": "#/definitions/AWS_MSK_ServerlessCluster" }, { - "$ref": "#/definitions/AWS_CloudWatch_CompositeAlarm" + "$ref": "#/definitions/AWS_DataZone_GroupProfile" }, { - "$ref": "#/definitions/AWS_S3Outposts_BucketPolicy" + "$ref": "#/definitions/AWS_MSK_Cluster" }, { - "$ref": "#/definitions/AWS_SES_ConfigurationSetEventDestination" + "$ref": "#/definitions/AWS_GuardDuty_Detector" }, { - "$ref": "#/definitions/AWS_DataSync_LocationNFS" + "$ref": "#/definitions/AWS_DMS_ReplicationSubnetGroup" }, { - "$ref": "#/definitions/AWS_AppMesh_Route" + "$ref": "#/definitions/AWS_NimbleStudio_StreamingImage" }, { - "$ref": "#/definitions/AWS_Synthetics_Group" + "$ref": "#/definitions/AWS_IoT_SecurityProfile" }, { - "$ref": "#/definitions/AWS_EKS_AccessEntry" + "$ref": "#/definitions/AWS_CloudWatch_CompositeAlarm" }, { - "$ref": "#/definitions/AWS_Athena_DataCatalog" + "$ref": "#/definitions/AWS_EC2_ClientVpnTargetNetworkAssociation" }, { - "$ref": "#/definitions/AWS_MediaLive_Multiplex" + "$ref": "#/definitions/AWS_IoTCoreDeviceAdvisor_SuiteDefinition" }, { - "$ref": "#/definitions/AWS_ElastiCache_ReplicationGroup" + "$ref": "#/definitions/AWS_AppConfig_ExtensionAssociation" }, { - "$ref": "#/definitions/AWS_Glue_Connection" + "$ref": "#/definitions/AWS_ApiGatewayV2_DomainName" }, { - "$ref": "#/definitions/AWS_Omics_AnnotationStore" + "$ref": "#/definitions/AWS_ApiGatewayV2_Deployment" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_TrustStore" + "$ref": "#/definitions/AWS_InspectorV2_CisScanConfiguration" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Route" + "$ref": "#/definitions/AWS_ACMPCA_Permission" }, { - "$ref": "#/definitions/AWS_IoTWireless_WirelessGateway" + "$ref": "#/definitions/AWS_S3ObjectLambda_AccessPoint" }, { - "$ref": "#/definitions/AWS_S3ObjectLambda_AccessPointPolicy" + "$ref": "#/definitions/AWS_FSx_StorageVirtualMachine" }, { - "$ref": "#/definitions/AWS_VpcLattice_ServiceNetwork" + "$ref": "#/definitions/AWS_Neptune_DBParameterGroup" }, { - "$ref": "#/definitions/AWS_DevOpsGuru_NotificationChannel" + "$ref": "#/definitions/AWS_Organizations_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_ElasticBeanstalk_Application" + "$ref": "#/definitions/AWS_NeptuneGraph_PrivateGraphEndpoint" }, { - "$ref": "#/definitions/AWS_SDB_Domain" + "$ref": "#/definitions/AWS_EC2_VPNConnection" }, { - "$ref": "#/definitions/AWS_Evidently_Feature" + "$ref": "#/definitions/AWS_QuickSight_RefreshSchedule" }, { - "$ref": "#/definitions/AWS_AppConfig_Environment" + "$ref": "#/definitions/AWS_Athena_WorkGroup" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelQualityJobDefinition" + "$ref": "#/definitions/AWS_IoTWireless_FuotaTask" }, { - "$ref": "#/definitions/AWS_MediaConvert_JobTemplate" + "$ref": "#/definitions/AWS_EntityResolution_MatchingWorkflow" }, { - "$ref": "#/definitions/AWS_Lightsail_Instance" + "$ref": "#/definitions/AWS_IVSChat_Room" }, { - "$ref": "#/definitions/AWS_IoT_ScheduledAudit" + "$ref": "#/definitions/AWS_ControlTower_EnabledControl" }, { - "$ref": "#/definitions/AWS_EC2_VerifiedAccessGroup" + "$ref": "#/definitions/AWS_RefactorSpaces_Service" }, { - "$ref": "#/definitions/AWS_WAFRegional_ByteMatchSet" + "$ref": "#/definitions/AWS_IoTTwinMaker_SyncJob" }, { - "$ref": "#/definitions/AWS_AppRunner_VpcIngressConnection" + "$ref": "#/definitions/AWS_MediaConnect_Bridge" }, { - "$ref": "#/definitions/AWS_AppMesh_VirtualService" + "$ref": "#/definitions/AWS_Personalize_DatasetGroup" }, { - "$ref": "#/definitions/AWS_RDS_CustomDBEngineVersion" + "$ref": "#/definitions/AWS_SageMaker_InferenceComponent" }, { - "$ref": "#/definitions/AWS_SSM_PatchBaseline" + "$ref": "#/definitions/AWS_CustomerProfiles_ObjectType" }, { - "$ref": "#/definitions/AWS_Greengrass_DeviceDefinition" + "$ref": "#/definitions/AWS_AmazonMQ_ConfigurationAssociation" }, { - "$ref": "#/definitions/AWS_ECS_TaskDefinition" + "$ref": "#/definitions/AWS_WAFRegional_SizeConstraintSet" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_RouteResponse" + "$ref": "#/definitions/AWS_EMR_StudioSessionMapping" }, { - "$ref": "#/definitions/AWS_S3Outposts_Endpoint" + "$ref": "#/definitions/AWS_IoT_SoftwarePackageVersion" }, { - "$ref": "#/definitions/AWS_CodeArtifact_Repository" + "$ref": "#/definitions/AWS_EC2_VerifiedAccessGroup" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_ModelManifest" + "$ref": "#/definitions/AWS_LookoutMetrics_AnomalyDetector" }, { - "$ref": "#/definitions/AWS_ECS_PrimaryTaskSet" + "$ref": "#/definitions/AWS_IoTSiteWise_Portal" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_ChannelGroup" + "$ref": "#/definitions/AWS_NetworkFirewall_FirewallPolicy" }, { - "$ref": "#/definitions/AWS_NetworkManager_Link" + "$ref": "#/definitions/AWS_SSM_Parameter" }, { - "$ref": "#/definitions/AWS_Location_PlaceIndex" + "$ref": "#/definitions/AWS_Batch_ComputeEnvironment" }, { - "$ref": "#/definitions/AWS_MediaConnect_FlowSource" + "$ref": "#/definitions/AWS_SSMContacts_ContactChannel" }, { - "$ref": "#/definitions/AWS_VpcLattice_ServiceNetworkServiceAssociation" + "$ref": "#/definitions/AWS_Greengrass_ConnectorDefinition" }, { - "$ref": "#/definitions/AWS_CloudFront_ResponseHeadersPolicy" + "$ref": "#/definitions/AWS_Lambda_Url" }, { - "$ref": "#/definitions/AWS_GreengrassV2_Deployment" + "$ref": "#/definitions/AWS_AppMesh_Route" }, { - "$ref": "#/definitions/AWS_IoTWireless_ServiceProfile" + "$ref": "#/definitions/AWS_QuickSight_Theme" }, { - "$ref": "#/definitions/AWS_Pinpoint_EmailChannel" + "$ref": "#/definitions/AWS_SageMaker_MonitoringSchedule" }, { - "$ref": "#/definitions/AWS_WAF_WebACL" + "$ref": "#/definitions/AWS_SSMContacts_Contact" }, { - "$ref": "#/definitions/AWS_RDS_DBSubnetGroup" + "$ref": "#/definitions/AWS_NimbleStudio_Studio" }, { - "$ref": "#/definitions/AWS_Lambda_Url" + "$ref": "#/definitions/AWS_FSx_Volume" }, { - "$ref": "#/definitions/AWS_AppSync_ApiCache" + "$ref": "#/definitions/AWS_ElastiCache_UserGroup" }, { - "$ref": "#/definitions/AWS_Glue_DataQualityRuleset" + "$ref": "#/definitions/AWS_Route53_RecordSet" }, { - "$ref": "#/definitions/AWS_IoT1Click_Project" + "$ref": "#/definitions/AWS_Cognito_UserPool" }, { - "$ref": "#/definitions/AWS_Budgets_BudgetsAction" + "$ref": "#/definitions/AWS_Bedrock_Guardrail" }, { - "$ref": "#/definitions/AWS_CloudFormation_ResourceDefaultVersion" + "$ref": "#/definitions/AWS_RefactorSpaces_Application" }, { - "$ref": "#/definitions/AWS_VpcLattice_TargetGroup" + "$ref": "#/definitions/AWS_AppStream_Application" }, { - "$ref": "#/definitions/AWS_ApplicationAutoScaling_ScalingPolicy" + "$ref": "#/definitions/AWS_PinpointEmail_ConfigurationSet" }, { - "$ref": "#/definitions/AWS_BackupGateway_Hypervisor" + "$ref": "#/definitions/AWS_EC2_VPC" }, { - "$ref": "#/definitions/AWS_AppStream_ApplicationEntitlementAssociation" + "$ref": "#/definitions/AWS_VpcLattice_ServiceNetworkVpcAssociation" }, { - "$ref": "#/definitions/AWS_MemoryDB_SubnetGroup" + "$ref": "#/definitions/AWS_IoTTwinMaker_Entity" }, { - "$ref": "#/definitions/AWS_Events_Endpoint" + "$ref": "#/definitions/AWS_EC2_VPNConnectionRoute" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInterface" + "$ref": "#/definitions/AWS_DataSync_LocationFSxOpenZFS" }, { - "$ref": "#/definitions/AWS_EFS_FileSystem" + "$ref": "#/definitions/AWS_EC2_SecurityGroup" }, { - "$ref": "#/definitions/AWS_IoT1Click_Device" + "$ref": "#/definitions/AWS_IoTWireless_Destination" }, { - "$ref": "#/definitions/AWS_RDS_DBProxy" + "$ref": "#/definitions/AWS_Cassandra_Table" }, { - "$ref": "#/definitions/AWS_CodeConnections_Connection" + "$ref": "#/definitions/AWS_Connect_InstanceStorageConfig" }, { - "$ref": "#/definitions/AWS_KinesisVideo_SignalingChannel" + "$ref": "#/definitions/AWS_WAFv2_WebACLAssociation" }, { - "$ref": "#/definitions/AWS_EC2_TrafficMirrorTarget" + "$ref": "#/definitions/AWS_SageMaker_DataQualityJobDefinition" }, { - "$ref": "#/definitions/AWS_MemoryDB_ACL" + "$ref": "#/definitions/AWS_Organizations_Organization" }, { - "$ref": "#/definitions/AWS_SES_ContactList" + "$ref": "#/definitions/AWS_SES_Template" }, { - "$ref": "#/definitions/AWS_Route53RecoveryControl_SafetyRule" + "$ref": "#/definitions/AWS_ServiceCatalog_TagOption" }, { - "$ref": "#/definitions/AWS_Glue_DataCatalogEncryptionSettings" + "$ref": "#/definitions/AWS_Backup_BackupPlan" }, { - "$ref": "#/definitions/AWS_Personalize_Solution" + "$ref": "#/definitions/AWS_ElastiCache_CacheCluster" }, { - "$ref": "#/definitions/AWS_SageMaker_Model" + "$ref": "#/definitions/AWS_ACMPCA_Certificate" }, { - "$ref": "#/definitions/AWS_SageMaker_Space" + "$ref": "#/definitions/AWS_CloudFront_RealtimeLogConfig" }, { - "$ref": "#/definitions/AWS_Connect_ViewVersion" + "$ref": "#/definitions/AWS_Elasticsearch_Domain" }, { - "$ref": "#/definitions/AWS_CE_AnomalyMonitor" + "$ref": "#/definitions/AWS_FIS_ExperimentTemplate" }, { - "$ref": "#/definitions/AWS_Glue_Crawler" + "$ref": "#/definitions/AWS_EC2_VerifiedAccessEndpoint" }, { - "$ref": "#/definitions/AWS_CloudFormation_Macro" + "$ref": "#/definitions/AWS_IoT_ProvisioningTemplate" }, { - "$ref": "#/definitions/AWS_Lightsail_LoadBalancerTlsCertificate" + "$ref": "#/definitions/AWS_Greengrass_Group" }, { - "$ref": "#/definitions/AWS_KMS_Key" + "$ref": "#/definitions/AWS_DataZone_DataSource" }, { - "$ref": "#/definitions/AWS_Cognito_UserPool" + "$ref": "#/definitions/AWS_ServiceDiscovery_HttpNamespace" }, { - "$ref": "#/definitions/AWS_IAM_ServerCertificate" + "$ref": "#/definitions/AWS_Glue_SchemaVersionMetadata" }, { - "$ref": "#/definitions/AWS_Deadline_LicenseEndpoint" + "$ref": "#/definitions/AWS_Connect_QuickConnect" }, { - "$ref": "#/definitions/AWS_SageMaker_InferenceExperiment" + "$ref": "#/definitions/AWS_VpcLattice_ServiceNetworkServiceAssociation" }, { - "$ref": "#/definitions/AWS_DAX_ParameterGroup" + "$ref": "#/definitions/AWS_BackupGateway_Hypervisor" }, { - "$ref": "#/definitions/AWS_S3Express_BucketPolicy" + "$ref": "#/definitions/AWS_CustomerProfiles_Domain" }, { - "$ref": "#/definitions/AWS_EFS_AccessPoint" + "$ref": "#/definitions/AWS_Transfer_Workflow" }, { - "$ref": "#/definitions/AWS_EC2_IPAM" + "$ref": "#/definitions/AWS_OSIS_Pipeline" }, { - "$ref": "#/definitions/AWS_AppStream_Fleet" + "$ref": "#/definitions/AWS_ServiceCatalog_ServiceAction" }, { - "$ref": "#/definitions/AWS_EC2_CarrierGateway" + "$ref": "#/definitions/AWS_ECR_ReplicationConfiguration" }, { - "$ref": "#/definitions/AWS_SecurityHub_Insight" + "$ref": "#/definitions/AWS_Amplify_App" }, { - "$ref": "#/definitions/AWS_ACMPCA_Permission" + "$ref": "#/definitions/AWS_EC2_SubnetNetworkAclAssociation" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TrustStore" + "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTableVirtualInterfaceGroupAssociation" }, { - "$ref": "#/definitions/AWS_SecretsManager_RotationSchedule" + "$ref": "#/definitions/AWS_Batch_JobDefinition" }, { - "$ref": "#/definitions/AWS_WAFRegional_RegexPatternSet" + "$ref": "#/definitions/AWS_AppConfig_HostedConfigurationVersion" }, { - "$ref": "#/definitions/AWS_CodeDeploy_DeploymentGroup" + "$ref": "#/definitions/AWS_WAF_SizeConstraintSet" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Stage" + "$ref": "#/definitions/AWS_MediaLive_Multiplex" }, { - "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayRegistration" + "$ref": "#/definitions/AWS_WorkSpacesWeb_NetworkSettings" }, { - "$ref": "#/definitions/AWS_FSx_FileSystem" + "$ref": "#/definitions/AWS_FIS_TargetAccountConfiguration" }, { - "$ref": "#/definitions/AWS_Events_Rule" + "$ref": "#/definitions/AWS_Greengrass_GroupVersion" }, { - "$ref": "#/definitions/AWS_Glue_MLTransform" + "$ref": "#/definitions/AWS_Evidently_Segment" }, { - "$ref": "#/definitions/AWS_IAM_OIDCProvider" + "$ref": "#/definitions/AWS_ElastiCache_SecurityGroup" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_DomainName" + "$ref": "#/definitions/AWS_MSK_VpcConnection" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_LaunchNotificationConstraint" + "$ref": "#/definitions/AWS_MSK_Replicator" }, { - "$ref": "#/definitions/AWS_EC2_SubnetNetworkAclAssociation" + "$ref": "#/definitions/AWS_QuickSight_Analysis" }, { - "$ref": "#/definitions/AWS_Organizations_OrganizationalUnit" + "$ref": "#/definitions/AWS_EMR_Studio" }, { - "$ref": "#/definitions/AWS_VerifiedPermissions_PolicyTemplate" + "$ref": "#/definitions/AWS_Connect_RoutingProfile" }, { - "$ref": "#/definitions/AWS_Connect_Rule" + "$ref": "#/definitions/AWS_AmplifyUIBuilder_Theme" }, { - "$ref": "#/definitions/AWS_EC2_Route" + "$ref": "#/definitions/AWS_IoT1Click_Device" }, { - "$ref": "#/definitions/AWS_SageMaker_Endpoint" + "$ref": "#/definitions/AWS_Chatbot_SlackChannelConfiguration" }, { - "$ref": "#/definitions/AWS_WAF_ByteMatchSet" + "$ref": "#/definitions/AWS_GameLift_Location" }, { - "$ref": "#/definitions/AWS_EC2_TrafficMirrorSession" + "$ref": "#/definitions/AWS_Macie_Session" }, { - "$ref": "#/definitions/AWS_LakeFormation_TagAssociation" + "$ref": "#/definitions/AWS_Deadline_QueueEnvironment" }, { - "$ref": "#/definitions/AWS_HealthLake_FHIRDatastore" + "$ref": "#/definitions/AWS_ApiGateway_Model" }, { - "$ref": "#/definitions/AWS_OpsWorks_App" + "$ref": "#/definitions/AWS_CloudFormation_ResourceVersion" }, { - "$ref": "#/definitions/AWS_MediaPackage_Asset" + "$ref": "#/definitions/AWS_Greengrass_ConnectorDefinitionVersion" }, { - "$ref": "#/definitions/AWS_Lex_BotAlias" + "$ref": "#/definitions/AWS_WorkSpacesWeb_TrustStore" }, { - "$ref": "#/definitions/AWS_IoTWireless_WirelessDevice" + "$ref": "#/definitions/AWS_PinpointEmail_DedicatedIpPool" }, { - "$ref": "#/definitions/AWS_Glue_SchemaVersionMetadata" + "$ref": "#/definitions/AWS_CloudFront_OriginRequestPolicy" }, { - "$ref": "#/definitions/AWS_WAFv2_RegexPatternSet" + "$ref": "#/definitions/AWS_NimbleStudio_StudioComponent" }, { - "$ref": "#/definitions/AWS_BillingConductor_BillingGroup" + "$ref": "#/definitions/AWS_Pinpoint_PushTemplate" }, { - "$ref": "#/definitions/AWS_Glue_Schema" + "$ref": "#/definitions/AWS_Logs_Delivery" }, { - "$ref": "#/definitions/AWS_MediaConnect_Gateway" + "$ref": "#/definitions/AWS_IoTWireless_DeviceProfile" }, { - "$ref": "#/definitions/AWS_Shield_ProactiveEngagement" + "$ref": "#/definitions/AWS_IAM_ManagedPolicy" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_Entity" + "$ref": "#/definitions/AWS_AppIntegrations_DataIntegration" }, { - "$ref": "#/definitions/AWS_Config_ConfigRule" + "$ref": "#/definitions/AWS_DMS_ReplicationInstance" }, { - "$ref": "#/definitions/AWS_DataSync_LocationFSxONTAP" + "$ref": "#/definitions/AWS_Greengrass_DeviceDefinition" }, { - "$ref": "#/definitions/AWS_Connect_User" + "$ref": "#/definitions/AWS_ImageBuilder_InfrastructureConfiguration" }, { - "$ref": "#/definitions/AWS_MediaTailor_PlaybackConfiguration" + "$ref": "#/definitions/AWS_KinesisAnalytics_ApplicationOutput" }, { - "$ref": "#/definitions/AWS_CodeBuild_SourceCredential" + "$ref": "#/definitions/AWS_IoTFleetWise_Campaign" }, { - "$ref": "#/definitions/AWS_Lightsail_Alarm" + "$ref": "#/definitions/AWS_MemoryDB_User" }, { - "$ref": "#/definitions/AWS_SimSpaceWeaver_Simulation" + "$ref": "#/definitions/AWS_FraudDetector_Label" }, { - "$ref": "#/definitions/AWS_ManagedBlockchain_Member" + "$ref": "#/definitions/AWS_FMS_Policy" }, { - "$ref": "#/definitions/AWS_StepFunctions_StateMachine" + "$ref": "#/definitions/AWS_Detective_OrganizationAdmin" }, { - "$ref": "#/definitions/AWS_Pinpoint_Campaign" + "$ref": "#/definitions/AWS_Connect_View" }, { - "$ref": "#/definitions/AWS_KMS_ReplicaKey" + "$ref": "#/definitions/AWS_IAM_VirtualMFADevice" }, { - "$ref": "#/definitions/AWS_Connect_SecurityProfile" + "$ref": "#/definitions/AWS_RoboMaker_Robot" }, { - "$ref": "#/definitions/AWS_Glue_Trigger" + "$ref": "#/definitions/AWS_VerifiedPermissions_PolicyStore" }, { - "$ref": "#/definitions/AWS_DataSync_Task" + "$ref": "#/definitions/AWS_Redshift_EndpointAuthorization" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInsightsPath" + "$ref": "#/definitions/AWS_Connect_UserHierarchyGroup" }, { - "$ref": "#/definitions/AWS_RoboMaker_Robot" + "$ref": "#/definitions/AWS_Config_ConfigurationAggregator" }, { - "$ref": "#/definitions/AWS_SNS_TopicInlinePolicy" + "$ref": "#/definitions/AWS_Batch_SchedulingPolicy" }, { - "$ref": "#/definitions/AWS_CloudWatch_InsightRule" + "$ref": "#/definitions/AWS_IoTTwinMaker_Scene" }, { - "$ref": "#/definitions/AWS_DataSync_LocationAzureBlob" + "$ref": "#/definitions/AWS_Lambda_CodeSigningConfig" }, { - "$ref": "#/definitions/AWS_PaymentCryptography_Key" + "$ref": "#/definitions/AWS_CloudFormation_HookDefaultVersion" }, { - "$ref": "#/definitions/AWS_WAFv2_WebACL" + "$ref": "#/definitions/AWS_IoTEvents_Input" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_StackSetConstraint" + "$ref": "#/definitions/AWS_CleanRooms_Collaboration" }, { - "$ref": "#/definitions/AWS_ElastiCache_SecurityGroupIngress" + "$ref": "#/definitions/AWS_AmplifyUIBuilder_Form" }, { - "$ref": "#/definitions/AWS_GuardDuty_Master" + "$ref": "#/definitions/AWS_ImageBuilder_DistributionConfiguration" }, { - "$ref": "#/definitions/AWS_Lightsail_Database" + "$ref": "#/definitions/AWS_ImageBuilder_Workflow" }, { - "$ref": "#/definitions/AWS_S3_AccessGrantsInstance" + "$ref": "#/definitions/AWS_Route53RecoveryControl_RoutingControl" }, { - "$ref": "#/definitions/AWS_SSO_Assignment" + "$ref": "#/definitions/AWS_HealthLake_FHIRDatastore" }, { - "$ref": "#/definitions/AWS_FIS_TargetAccountConfiguration" + "$ref": "#/definitions/AWS_FraudDetector_List" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Dashboard" + "$ref": "#/definitions/AWS_SNS_TopicInlinePolicy" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolUser" + "$ref": "#/definitions/AWS_GameLift_MatchmakingConfiguration" }, { - "$ref": "#/definitions/AWS_EC2_SpotFleet" + "$ref": "#/definitions/AWS_EC2_ClientVpnAuthorizationRule" }, { - "$ref": "#/definitions/AWS_Pipes_Pipe" + "$ref": "#/definitions/AWS_AccessAnalyzer_Analyzer" }, { - "$ref": "#/definitions/AWS_CloudFormation_ModuleVersion" + "$ref": "#/definitions/AWS_Batch_JobQueue" }, { - "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationReferenceDataSource" + "$ref": "#/definitions/AWS_Greengrass_LoggerDefinitionVersion" }, { - "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTableVPCAssociation" + "$ref": "#/definitions/AWS_LakeFormation_PrincipalPermissions" }, { - "$ref": "#/definitions/AWS_LakeFormation_Tag" + "$ref": "#/definitions/AWS_CloudFront_ContinuousDeploymentPolicy" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_UserSettings" + "$ref": "#/definitions/AWS_SageMaker_ModelQualityJobDefinition" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolResourceServer" + "$ref": "#/definitions/AWS_Athena_DataCatalog" }, { - "$ref": "#/definitions/AWS_NetworkManager_ConnectPeer" + "$ref": "#/definitions/AWS_VpcLattice_Rule" }, { - "$ref": "#/definitions/AWS_IVSChat_LoggingConfiguration" + "$ref": "#/definitions/AWS_LakeFormation_DataLakeSettings" }, { - "$ref": "#/definitions/AWS_BCMDataExports_Export" + "$ref": "#/definitions/AWS_SecurityHub_OrganizationConfiguration" }, { - "$ref": "#/definitions/AWS_Route53Resolver_OutpostResolver" + "$ref": "#/definitions/AWS_IoT_RoleAlias" }, { - "$ref": "#/definitions/AWS_SecurityHub_Standard" + "$ref": "#/definitions/AWS_AutoScaling_WarmPool" }, { - "$ref": "#/definitions/AWS_IoTCoreDeviceAdvisor_SuiteDefinition" + "$ref": "#/definitions/AWS_Route53_DNSSEC" }, { - "$ref": "#/definitions/AWS_QuickSight_Template" + "$ref": "#/definitions/AWS_ServiceCatalog_ServiceActionAssociation" }, { - "$ref": "#/definitions/AWS_SES_DedicatedIpPool" + "$ref": "#/definitions/AWS_Detective_Graph" }, { - "$ref": "#/definitions/AWS_EC2_VPNConnection" + "$ref": "#/definitions/AWS_S3Outposts_Bucket" }, { - "$ref": "#/definitions/AWS_SSM_MaintenanceWindowTarget" + "$ref": "#/definitions/AWS_SSO_Assignment" }, { - "$ref": "#/definitions/AWS_IoT_BillingGroup" + "$ref": "#/definitions/AWS_ControlTower_LandingZone" }, { - "$ref": "#/definitions/AWS_Connect_TaskTemplate" + "$ref": "#/definitions/AWS_Route53RecoveryReadiness_RecoveryGroup" }, { - "$ref": "#/definitions/AWS_LookoutMetrics_AnomalyDetector" + "$ref": "#/definitions/AWS_EC2_SubnetRouteTableAssociation" }, { - "$ref": "#/definitions/AWS_ElastiCache_UserGroup" + "$ref": "#/definitions/AWS_AppIntegrations_Application" }, { - "$ref": "#/definitions/AWS_Events_ApiDestination" + "$ref": "#/definitions/AWS_KinesisFirehose_DeliveryStream" }, { - "$ref": "#/definitions/AWS_Cognito_IdentityPoolPrincipalTag" + "$ref": "#/definitions/AWS_AppRunner_AutoScalingConfiguration" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_Template" + "$ref": "#/definitions/AWS_SageMaker_Project" }, { - "$ref": "#/definitions/AWS_Greengrass_ResourceDefinitionVersion" + "$ref": "#/definitions/AWS_SSM_PatchBaseline" }, { - "$ref": "#/definitions/AWS_EC2_SubnetRouteTableAssociation" + "$ref": "#/definitions/AWS_IAM_User" }, { - "$ref": "#/definitions/AWS_CloudFront_Function" + "$ref": "#/definitions/AWS_Route53_HostedZone" }, { - "$ref": "#/definitions/AWS_DataBrew_Dataset" + "$ref": "#/definitions/AWS_S3_BucketPolicy" }, { - "$ref": "#/definitions/AWS_Redshift_ClusterParameterGroup" + "$ref": "#/definitions/AWS_XRay_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_Timestream_ScheduledQuery" + "$ref": "#/definitions/AWS_DataZone_EnvironmentProfile" }, { - "$ref": "#/definitions/AWS_ECS_Service" + "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastDomain" }, { - "$ref": "#/definitions/AWS_QuickSight_Theme" + "$ref": "#/definitions/AWS_DLM_LifecyclePolicy" }, { - "$ref": "#/definitions/AWS_Organizations_Policy" + "$ref": "#/definitions/AWS_Personalize_Dataset" }, { - "$ref": "#/definitions/AWS_Deadline_QueueEnvironment" + "$ref": "#/definitions/AWS_IoTSiteWise_Asset" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Model" + "$ref": "#/definitions/AWS_DMS_MigrationProject" }, { - "$ref": "#/definitions/AWS_DMS_EventSubscription" + "$ref": "#/definitions/AWS_IoT_ThingType" }, { - "$ref": "#/definitions/AWS_SSO_InstanceAccessControlAttributeConfiguration" + "$ref": "#/definitions/AWS_WAFv2_RuleGroup" }, { - "$ref": "#/definitions/AWS_AmplifyUIBuilder_Form" + "$ref": "#/definitions/AWS_AppIntegrations_EventIntegration" }, { - "$ref": "#/definitions/AWS_DMS_InstanceProfile" + "$ref": "#/definitions/AWS_DataSync_LocationFSxONTAP" }, { - "$ref": "#/definitions/AWS_Rekognition_Project" + "$ref": "#/definitions/AWS_SSM_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_EC2_IPAMPoolCidr" + "$ref": "#/definitions/AWS_IoT_BillingGroup" }, { - "$ref": "#/definitions/AWS_Lightsail_Distribution" + "$ref": "#/definitions/AWS_RDS_Integration" }, { - "$ref": "#/definitions/AWS_Pinpoint_Segment" + "$ref": "#/definitions/AWS_KMS_ReplicaKey" }, { - "$ref": "#/definitions/AWS_EC2_IPAMResourceDiscovery" + "$ref": "#/definitions/AWS_IoT_SoftwarePackage" }, { - "$ref": "#/definitions/AWS_CodeGuruProfiler_ProfilingGroup" + "$ref": "#/definitions/AWS_EC2_Subnet" }, { - "$ref": "#/definitions/AWS_Logs_ResourcePolicy" + "$ref": "#/definitions/AWS_AppStream_ImageBuilder" }, { - "$ref": "#/definitions/AWS_Location_RouteCalculator" + "$ref": "#/definitions/AWS_SSM_MaintenanceWindowTarget" }, { - "$ref": "#/definitions/AWS_MediaConnect_Flow" + "$ref": "#/definitions/AWS_Pinpoint_Campaign" }, { - "$ref": "#/definitions/AWS_WAFv2_WebACLAssociation" + "$ref": "#/definitions/AWS_Config_ConfigurationRecorder" }, { - "$ref": "#/definitions/AWS_EC2_NetworkAclEntry" + "$ref": "#/definitions/AWS_SecurityHub_Standard" }, { - "$ref": "#/definitions/AWS_InternetMonitor_Monitor" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TrustStoreRevocation" }, { - "$ref": "#/definitions/AWS_AppStream_ImageBuilder" + "$ref": "#/definitions/AWS_EC2_EgressOnlyInternetGateway" }, { - "$ref": "#/definitions/AWS_LicenseManager_Grant" + "$ref": "#/definitions/AWS_CloudFront_Function" }, { - "$ref": "#/definitions/AWS_AutoScaling_LifecycleHook" + "$ref": "#/definitions/AWS_AppStream_AppBlock" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_ListenerRule" + "$ref": "#/definitions/AWS_Lightsail_Container" }, { - "$ref": "#/definitions/AWS_AppFlow_Connector" + "$ref": "#/definitions/AWS_CustomerProfiles_EventStream" }, { - "$ref": "#/definitions/AWS_Transfer_User" + "$ref": "#/definitions/AWS_IoTSiteWise_AccessPolicy" }, { - "$ref": "#/definitions/AWS_RolesAnywhere_Profile" + "$ref": "#/definitions/AWS_ElastiCache_ParameterGroup" }, { - "$ref": "#/definitions/AWS_AppStream_AppBlockBuilder" + "$ref": "#/definitions/AWS_GlobalAccelerator_Listener" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayAttachment" + "$ref": "#/definitions/AWS_EC2_NetworkPerformanceMetricSubscription" }, { - "$ref": "#/definitions/AWS_RDS_GlobalCluster" + "$ref": "#/definitions/AWS_CodeDeploy_DeploymentGroup" }, { - "$ref": "#/definitions/AWS_DMS_Certificate" + "$ref": "#/definitions/AWS_AppMesh_GatewayRoute" }, { - "$ref": "#/definitions/AWS_Panorama_ApplicationInstance" + "$ref": "#/definitions/AWS_MediaStore_Container" }, { "$ref": "#/definitions/AWS_Deadline_QueueFleetAssociation" }, { - "$ref": "#/definitions/AWS_CleanRooms_Collaboration" + "$ref": "#/definitions/AWS_InspectorV2_Filter" }, { - "$ref": "#/definitions/AWS_Neptune_DBSubnetGroup" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverRuleAssociation" }, { - "$ref": "#/definitions/AWS_OpsWorks_Volume" + "$ref": "#/definitions/AWS_MediaLive_Channel" }, { - "$ref": "#/definitions/AWS_IoT_Thing" + "$ref": "#/definitions/AWS_VerifiedPermissions_Policy" }, { - "$ref": "#/definitions/AWS_EC2_VerifiedAccessTrustProvider" + "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTableAssociation" }, { - "$ref": "#/definitions/AWS_ResourceExplorer2_View" + "$ref": "#/definitions/AWS_DataSync_LocationS3" }, { - "$ref": "#/definitions/AWS_IVS_Stage" + "$ref": "#/definitions/AWS_AppSync_DataSource" }, { - "$ref": "#/definitions/AWS_CertificateManager_Account" + "$ref": "#/definitions/AWS_Glue_MLTransform" }, { - "$ref": "#/definitions/AWS_FraudDetector_Variable" + "$ref": "#/definitions/AWS_Kinesis_Stream" }, { - "$ref": "#/definitions/AWS_Location_APIKey" + "$ref": "#/definitions/AWS_WAFRegional_GeoMatchSet" }, { - "$ref": "#/definitions/AWS_KinesisAnalyticsV2_Application" + "$ref": "#/definitions/AWS_NetworkManager_VpcAttachment" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverRuleAssociation" + "$ref": "#/definitions/AWS_VpcLattice_ServiceNetwork" }, { - "$ref": "#/definitions/AWS_S3_BucketPolicy" + "$ref": "#/definitions/AWS_IoTEvents_DetectorModel" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_LaunchRoleConstraint" + "$ref": "#/definitions/AWS_FraudDetector_Variable" }, { - "$ref": "#/definitions/AWS_EKS_Addon" + "$ref": "#/definitions/AWS_Proton_EnvironmentAccountConnection" }, { - "$ref": "#/definitions/AWS_AutoScaling_ScheduledAction" + "$ref": "#/definitions/AWS_Greengrass_FunctionDefinition" }, { - "$ref": "#/definitions/AWS_ApiGateway_VpcLink" + "$ref": "#/definitions/AWS_Logs_Destination" }, { - "$ref": "#/definitions/AWS_EC2_VPC" + "$ref": "#/definitions/AWS_AutoScaling_LaunchConfiguration" }, { - "$ref": "#/definitions/AWS_EntityResolution_IdMappingWorkflow" + "$ref": "#/definitions/AWS_GreengrassV2_ComponentVersion" }, { - "$ref": "#/definitions/AWS_Synthetics_Canary" + "$ref": "#/definitions/AWS_IoT_ResourceSpecificLogging" }, { - "$ref": "#/definitions/AWS_AppConfig_Application" + "$ref": "#/definitions/AWS_SecurityHub_ProductSubscription" }, { - "$ref": "#/definitions/AWS_Pinpoint_EmailTemplate" + "$ref": "#/definitions/AWS_SES_MailManagerTrafficPolicy" }, { - "$ref": "#/definitions/AWS_OpsWorks_ElasticLoadBalancerAttachment" + "$ref": "#/definitions/AWS_ApiGateway_UsagePlanKey" }, { - "$ref": "#/definitions/AWS_EC2_VPCEndpoint" + "$ref": "#/definitions/AWS_Route53RecoveryControl_ControlPanel" }, { - "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_AttributeGroup" + "$ref": "#/definitions/AWS_QBusiness_WebExperience" }, { - "$ref": "#/definitions/AWS_Omics_VariantStore" + "$ref": "#/definitions/AWS_MediaLive_InputSecurityGroup" }, { - "$ref": "#/definitions/AWS_MSK_ClusterPolicy" + "$ref": "#/definitions/AWS_OpenSearchServerless_LifecyclePolicy" }, { - "$ref": "#/definitions/AWS_EC2_ClientVpnAuthorizationRule" + "$ref": "#/definitions/AWS_ServiceCatalog_StackSetConstraint" }, { - "$ref": "#/definitions/AWS_FMS_Policy" + "$ref": "#/definitions/AWS_Deadline_Monitor" }, { - "$ref": "#/definitions/AWS_Budgets_Budget" + "$ref": "#/definitions/AWS_VerifiedPermissions_IdentitySource" }, { - "$ref": "#/definitions/AWS_Rekognition_StreamProcessor" + "$ref": "#/definitions/AWS_Lambda_EventInvokeConfig" }, { - "$ref": "#/definitions/AWS_DMS_ReplicationSubnetGroup" + "$ref": "#/definitions/AWS_Cognito_UserPoolClient" }, { - "$ref": "#/definitions/AWS_Route53RecoveryReadiness_ReadinessCheck" + "$ref": "#/definitions/AWS_SQS_QueueInlinePolicy" }, { - "$ref": "#/definitions/AWS_CloudTrail_Channel" + "$ref": "#/definitions/AWS_Connect_SecurityKey" }, { - "$ref": "#/definitions/AWS_IoTEvents_DetectorModel" + "$ref": "#/definitions/AWS_CloudFormation_ResourceDefaultVersion" }, { - "$ref": "#/definitions/AWS_ElastiCache_SubnetGroup" + "$ref": "#/definitions/AWS_CodeBuild_Project" }, { - "$ref": "#/definitions/AWS_Greengrass_CoreDefinitionVersion" + "$ref": "#/definitions/AWS_RolesAnywhere_Profile" }, { - "$ref": "#/definitions/AWS_SageMaker_Image" + "$ref": "#/definitions/AWS_ElastiCache_ReplicationGroup" }, { - "$ref": "#/definitions/AWS_IoTAnalytics_Datastore" + "$ref": "#/definitions/AWS_MemoryDB_ACL" }, { - "$ref": "#/definitions/AWS_MediaConvert_Queue" + "$ref": "#/definitions/AWS_Config_OrganizationConformancePack" }, { - "$ref": "#/definitions/AWS_Cloud9_EnvironmentEC2" + "$ref": "#/definitions/AWS_EC2_VPNGatewayRoutePropagation" }, { - "$ref": "#/definitions/AWS_CodeStarConnections_SyncConfiguration" + "$ref": "#/definitions/AWS_AppStream_DirectoryConfig" }, { - "$ref": "#/definitions/AWS_QuickSight_RefreshSchedule" + "$ref": "#/definitions/AWS_CE_AnomalyMonitor" }, { - "$ref": "#/definitions/AWS_CleanRooms_ConfiguredTable" + "$ref": "#/definitions/AWS_EventSchemas_RegistryPolicy" }, { - "$ref": "#/definitions/AWS_EC2_TrafficMirrorFilter" + "$ref": "#/definitions/AWS_ImageBuilder_ImagePipeline" }, { - "$ref": "#/definitions/AWS_SQS_Queue" + "$ref": "#/definitions/AWS_Greengrass_CoreDefinition" }, { - "$ref": "#/definitions/AWS_DataSync_LocationSMB" + "$ref": "#/definitions/AWS_GuardDuty_Member" }, { - "$ref": "#/definitions/AWS_FraudDetector_EntityType" + "$ref": "#/definitions/AWS_AutoScalingPlans_ScalingPlan" }, { - "$ref": "#/definitions/AWS_ApiGateway_DocumentationPart" + "$ref": "#/definitions/AWS_EC2_TrafficMirrorTarget" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_SecurityPolicy" + "$ref": "#/definitions/AWS_Greengrass_ResourceDefinition" }, { - "$ref": "#/definitions/AWS_GameLift_MatchmakingConfiguration" + "$ref": "#/definitions/AWS_MediaPackageV2_ChannelGroup" }, { - "$ref": "#/definitions/AWS_ApiGateway_DomainName" + "$ref": "#/definitions/AWS_Bedrock_Agent" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInsightsAnalysis" + "$ref": "#/definitions/AWS_Greengrass_CoreDefinitionVersion" }, { - "$ref": "#/definitions/AWS_Greengrass_ConnectorDefinitionVersion" + "$ref": "#/definitions/AWS_Route53RecoveryReadiness_Cell" }, { - "$ref": "#/definitions/AWS_IoT_CertificateProvider" + "$ref": "#/definitions/AWS_CertificateManager_Account" }, { - "$ref": "#/definitions/AWS_MediaPackage_OriginEndpoint" + "$ref": "#/definitions/AWS_SimSpaceWeaver_Simulation" }, { - "$ref": "#/definitions/AWS_ResilienceHub_App" + "$ref": "#/definitions/AWS_Lambda_Function" }, { - "$ref": "#/definitions/AWS_AmplifyUIBuilder_Component" + "$ref": "#/definitions/AWS_NetworkManager_CustomerGatewayAssociation" }, { - "$ref": "#/definitions/AWS_EC2_VPCEndpointConnectionNotification" + "$ref": "#/definitions/AWS_SSM_Association" }, { - "$ref": "#/definitions/AWS_Oam_Link" + "$ref": "#/definitions/AWS_IoTAnalytics_Datastore" }, { - "$ref": "#/definitions/AWS_WAFv2_LoggingConfiguration" + "$ref": "#/definitions/AWS_CodeStarConnections_Connection" }, { - "$ref": "#/definitions/AWS_QuickSight_Topic" + "$ref": "#/definitions/AWS_WorkSpacesWeb_UserSettings" }, { - "$ref": "#/definitions/AWS_Deadline_Farm" + "$ref": "#/definitions/AWS_Cognito_IdentityPoolPrincipalTag" }, { - "$ref": "#/definitions/AWS_EC2_KeyPair" + "$ref": "#/definitions/AWS_Lightsail_Alarm" }, { - "$ref": "#/definitions/AWS_PinpointEmail_DedicatedIpPool" + "$ref": "#/definitions/AWS_Evidently_Launch" }, { - "$ref": "#/definitions/AWS_GuardDuty_Member" + "$ref": "#/definitions/AWS_LookoutVision_Project" }, { - "$ref": "#/definitions/AWS_Detective_MemberInvitation" + "$ref": "#/definitions/AWS_EC2_IPAMResourceDiscoveryAssociation" }, { - "$ref": "#/definitions/AWS_EC2_ClientVpnEndpoint" + "$ref": "#/definitions/AWS_GuardDuty_IPSet" }, { - "$ref": "#/definitions/AWS_IoT_CustomMetric" + "$ref": "#/definitions/AWS_Deadline_Queue" }, { - "$ref": "#/definitions/AWS_VpcLattice_ResourcePolicy" + "$ref": "#/definitions/AWS_CodePipeline_Webhook" }, { - "$ref": "#/definitions/AWS_RDS_DBCluster" + "$ref": "#/definitions/AWS_ElasticBeanstalk_ConfigurationTemplate" }, { - "$ref": "#/definitions/AWS_IoT_SoftwarePackageVersion" + "$ref": "#/definitions/AWS_Route53RecoveryControl_SafetyRule" }, { - "$ref": "#/definitions/AWS_Redshift_EndpointAccess" + "$ref": "#/definitions/AWS_SageMaker_AppImageConfig" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTablePropagation" + "$ref": "#/definitions/AWS_Organizations_OrganizationalUnit" }, { - "$ref": "#/definitions/AWS_CodeArtifact_Domain" + "$ref": "#/definitions/AWS_Glue_Connection" }, { - "$ref": "#/definitions/AWS_Redshift_ClusterSubnetGroup" + "$ref": "#/definitions/AWS_S3Outposts_BucketPolicy" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInterfaceAttachment" + "$ref": "#/definitions/AWS_Amplify_Branch" }, { - "$ref": "#/definitions/AWS_FraudDetector_Outcome" + "$ref": "#/definitions/AWS_IAM_AccessKey" }, { - "$ref": "#/definitions/AWS_VpcLattice_AuthPolicy" + "$ref": "#/definitions/AWS_Timestream_InfluxDBInstance" }, { - "$ref": "#/definitions/AWS_SSM_ResourcePolicy" + "$ref": "#/definitions/AWS_IoT_PolicyPrincipalAttachment" }, { - "$ref": "#/definitions/AWS_EMR_Studio" + "$ref": "#/definitions/AWS_ECR_PublicRepository" }, { - "$ref": "#/definitions/AWS_IVS_PlaybackKeyPair" + "$ref": "#/definitions/AWS_Route53Resolver_OutpostResolver" }, { - "$ref": "#/definitions/AWS_MemoryDB_User" + "$ref": "#/definitions/AWS_MediaConnect_BridgeOutput" }, { - "$ref": "#/definitions/AWS_S3_AccessGrant" + "$ref": "#/definitions/AWS_EC2_TransitGatewayPeeringAttachment" }, { - "$ref": "#/definitions/AWS_Greengrass_ConnectorDefinition" + "$ref": "#/definitions/AWS_Lightsail_Disk" }, { - "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_Application" + "$ref": "#/definitions/AWS_Athena_NamedQuery" }, { - "$ref": "#/definitions/AWS_VpcLattice_ServiceNetworkVpcAssociation" + "$ref": "#/definitions/AWS_IAM_InstanceProfile" }, { - "$ref": "#/definitions/AWS_CodeStarNotifications_NotificationRule" + "$ref": "#/definitions/AWS_MediaPackage_PackagingGroup" }, { - "$ref": "#/definitions/AWS_GameLift_GameSessionQueue" + "$ref": "#/definitions/AWS_SecretsManager_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_Connect_InstanceStorageConfig" + "$ref": "#/definitions/AWS_ECS_TaskDefinition" }, { - "$ref": "#/definitions/AWS_QuickSight_DataSet" + "$ref": "#/definitions/AWS_RDS_DBCluster" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastDomainAssociation" + "$ref": "#/definitions/AWS_WAFRegional_RegexPatternSet" }, { - "$ref": "#/definitions/AWS_SNS_Topic" + "$ref": "#/definitions/AWS_GameLift_Alias" }, { - "$ref": "#/definitions/AWS_VpcLattice_Service" + "$ref": "#/definitions/AWS_AppStream_StackFleetAssociation" }, { - "$ref": "#/definitions/AWS_Route53Resolver_FirewallDomainList" + "$ref": "#/definitions/AWS_S3ObjectLambda_AccessPointPolicy" }, { - "$ref": "#/definitions/AWS_AppSync_ApiKey" + "$ref": "#/definitions/AWS_QuickSight_Topic" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_Listener" + "$ref": "#/definitions/AWS_Glue_Job" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInterfacePermission" + "$ref": "#/definitions/AWS_Logs_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_CleanRoomsML_TrainingDataset" + "$ref": "#/definitions/AWS_Lightsail_Instance" }, { - "$ref": "#/definitions/AWS_NimbleStudio_Studio" + "$ref": "#/definitions/AWS_Lambda_Permission" }, { - "$ref": "#/definitions/AWS_DataSync_LocationEFS" + "$ref": "#/definitions/AWS_GuardDuty_Master" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverQueryLoggingConfigAssociation" + "$ref": "#/definitions/AWS_Lambda_Version" }, { - "$ref": "#/definitions/AWS_Macie_CustomDataIdentifier" + "$ref": "#/definitions/AWS_IoT_MitigationAction" }, { - "$ref": "#/definitions/AWS_Route53_RecordSet" + "$ref": "#/definitions/AWS_Personalize_Solution" }, { - "$ref": "#/definitions/AWS_Amplify_Domain" + "$ref": "#/definitions/AWS_SSO_PermissionSet" }, { - "$ref": "#/definitions/AWS_S3_AccessPoint" + "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationCloudWatchLoggingOption" }, { - "$ref": "#/definitions/AWS_IoT_RoleAlias" + "$ref": "#/definitions/AWS_ECS_Cluster" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_Campaign" + "$ref": "#/definitions/AWS_QBusiness_Retriever" }, { - "$ref": "#/definitions/AWS_Deadline_Fleet" + "$ref": "#/definitions/AWS_SecretsManager_Secret" }, { - "$ref": "#/definitions/AWS_MSK_Configuration" + "$ref": "#/definitions/AWS_MediaConnect_FlowSource" }, { - "$ref": "#/definitions/AWS_AppStream_StackFleetAssociation" + "$ref": "#/definitions/AWS_QBusiness_Plugin" }, { - "$ref": "#/definitions/AWS_CUR_ReportDefinition" + "$ref": "#/definitions/AWS_RDS_DBProxy" }, { - "$ref": "#/definitions/AWS_SupportApp_SlackChannelConfiguration" + "$ref": "#/definitions/AWS_Kendra_DataSource" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_IdentityProvider" + "$ref": "#/definitions/AWS_AutoScaling_LifecycleHook" }, { - "$ref": "#/definitions/AWS_Logs_SubscriptionFilter" + "$ref": "#/definitions/AWS_EKS_Addon" }, { - "$ref": "#/definitions/AWS_Connect_IntegrationAssociation" + "$ref": "#/definitions/AWS_ElastiCache_ServerlessCache" }, { - "$ref": "#/definitions/AWS_DataSync_LocationFSxOpenZFS" + "$ref": "#/definitions/AWS_EC2_TrafficMirrorFilter" }, { - "$ref": "#/definitions/AWS_M2_Environment" + "$ref": "#/definitions/AWS_CodeStarNotifications_NotificationRule" }, { - "$ref": "#/definitions/AWS_APS_Workspace" + "$ref": "#/definitions/AWS_CodeBuild_Fleet" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Gateway" + "$ref": "#/definitions/AWS_Bedrock_GuardrailVersion" }, { - "$ref": "#/definitions/AWS_Glue_Job" + "$ref": "#/definitions/AWS_SSM_ResourceDataSync" }, { - "$ref": "#/definitions/AWS_DeviceFarm_DevicePool" + "$ref": "#/definitions/AWS_Logs_LogGroup" }, { - "$ref": "#/definitions/AWS_Route53Profiles_Profile" + "$ref": "#/definitions/AWS_IVS_PlaybackKeyPair" }, { - "$ref": "#/definitions/AWS_Route53Profiles_ProfileAssociation" + "$ref": "#/definitions/AWS_AppSync_GraphQLSchema" }, { - "$ref": "#/definitions/AWS_DeviceFarm_InstanceProfile" + "$ref": "#/definitions/AWS_DataPipeline_Pipeline" }, { - "$ref": "#/definitions/AWS_DeviceFarm_Project" + "$ref": "#/definitions/AWS_SES_EmailIdentity" }, { - "$ref": "#/definitions/AWS_Route53Profiles_ProfileResourceAssociation" + "$ref": "#/definitions/AWS_LakeFormation_Permissions" }, { "$ref": "#/definitions/AWS_DeviceFarm_TestGridProject" }, + { + "$ref": "#/definitions/AWS_DeviceFarm_Project" + }, + { + "$ref": "#/definitions/AWS_DeviceFarm_InstanceProfile" + }, { "$ref": "#/definitions/AWS_DeviceFarm_NetworkProfile" }, { "$ref": "#/definitions/AWS_DeviceFarm_VPCEConfiguration" + }, + { + "$ref": "#/definitions/AWS_DeviceFarm_DevicePool" } ] } diff --git a/server/schema/resources/aws-acmpca-certificate.json b/server/schema/resources/aws-acmpca-certificate.json index e6f93ce1..ffc3e416 100644 --- a/server/schema/resources/aws-acmpca-certificate.json +++ b/server/schema/resources/aws-acmpca-certificate.json @@ -552,6 +552,12 @@ } }, "additionalProperties": false, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "required": [ "CertificateAuthorityArn", "CertificateSigningRequest", @@ -573,7 +579,11 @@ ], "writeOnlyProperties": [ "/properties/ApiPassthrough", - "/properties/CertificateSigningRequest" + "/properties/CertificateSigningRequest", + "/properties/SigningAlgorithm", + "/properties/TemplateArn", + "/properties/Validity", + "/properties/ValidityNotBefore" ], "primaryIdentifier": [ "/properties/Arn", @@ -595,9 +605,6 @@ "permissions": [ "acm-pca:GetCertificate" ] - }, - "update": { - "permissions": [] } }, "attributes": { diff --git a/server/schema/resources/aws-acmpca-certificateauthority.json b/server/schema/resources/aws-acmpca-certificateauthority.json index 81df4a3b..2326b3d6 100644 --- a/server/schema/resources/aws-acmpca-certificateauthority.json +++ b/server/schema/resources/aws-acmpca-certificateauthority.json @@ -13,13 +13,16 @@ "properties": { "Key": { "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" }, "Value": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "required": [ + "Key" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Subject": { @@ -138,7 +141,7 @@ "properties": { "Enabled": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" }, "ExpirationInDays": { "type": "integer", @@ -160,6 +163,9 @@ "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" } }, + "required": [ + "Enabled" + ], "markdownDescription": "Your certificate authority can create and maintain a certificate revocation list (CRL). A CRL contains information about certificates that have been revoked.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "OcspConfiguration": { @@ -169,13 +175,16 @@ "properties": { "Enabled": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" }, "OcspCustomCname": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "required": [ + "Enabled" + ], "markdownDescription": "Helps to configure online certificate status protocol (OCSP) responder for your certificate authority\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RevocationConfiguration": { @@ -309,12 +318,11 @@ }, "NameAssigner": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ - "PartyName", - "NameAssigner" + "PartyName" ], "markdownDescription": "Structure that contains X.509 EdiPartyName information.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, diff --git a/server/schema/resources/aws-acmpca-certificateauthorityactivation.json b/server/schema/resources/aws-acmpca-certificateauthorityactivation.json index 553cc221..8dd91e0a 100644 --- a/server/schema/resources/aws-acmpca-certificateauthorityactivation.json +++ b/server/schema/resources/aws-acmpca-certificateauthorityactivation.json @@ -24,6 +24,12 @@ "markdownDescription": "The status of the Certificate Authority.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "additionalProperties": false, "required": [ "CertificateAuthorityArn", diff --git a/server/schema/resources/aws-acmpca-permission.json b/server/schema/resources/aws-acmpca-permission.json index 7239dab8..50ef8560 100644 --- a/server/schema/resources/aws-acmpca-permission.json +++ b/server/schema/resources/aws-acmpca-permission.json @@ -30,7 +30,12 @@ } }, "additionalProperties": false, - "taggable": false, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "required": [ "Actions", "CertificateAuthorityArn", diff --git a/server/schema/resources/aws-amazonmq-broker.json b/server/schema/resources/aws-amazonmq-broker.json index a6ebec42..0f38902d 100644 --- a/server/schema/resources/aws-amazonmq-broker.json +++ b/server/schema/resources/aws-amazonmq-broker.json @@ -65,7 +65,7 @@ }, "EngineVersion": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MaintenanceWindowStartTime": { "$ref": "#/definitions/MaintenanceWindow" @@ -76,7 +76,7 @@ }, "AutoMinorVersionUpgrade": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "Logs": { "$ref": "#/definitions/LogList" @@ -296,11 +296,9 @@ } }, "required": [ - "EngineVersion", "DeploymentMode", "HostInstanceType", "EngineType", - "AutoMinorVersionUpgrade", "Users", "PubliclyAccessible", "BrokerName" diff --git a/server/schema/resources/aws-amazonmq-configuration.json b/server/schema/resources/aws-amazonmq-configuration.json index 5fb2ecb2..2638b48d 100644 --- a/server/schema/resources/aws-amazonmq-configuration.json +++ b/server/schema/resources/aws-amazonmq-configuration.json @@ -5,7 +5,7 @@ "properties": { "EngineVersion": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "Description": { "type": "string", @@ -58,7 +58,6 @@ } }, "required": [ - "EngineVersion", "EngineType", "Data", "Name" diff --git a/server/schema/resources/aws-apigateway-account.json b/server/schema/resources/aws-apigateway-account.json index c84cc447..290a2c63 100644 --- a/server/schema/resources/aws-apigateway-account.json +++ b/server/schema/resources/aws-apigateway-account.json @@ -1,22 +1,14 @@ { - "typeName": "AWS::ApiGateway::Account", - "description": "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.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", - "additionalProperties": false, - "properties": { - "CloudWatchRoleArn": { - "description": "The ARN of an Amazon CloudWatch role for the current Account.", - "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" - } + "tagging": { + "taggable": false }, - "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id" - ], "handlers": { + "read": { + "permissions": [ + "apigateway:GET" + ] + }, "create": { "permissions": [ "apigateway:PATCH", @@ -24,11 +16,6 @@ "iam:PassRole" ] }, - "read": { - "permissions": [ - "apigateway:GET" - ] - }, "update": { "permissions": [ "apigateway:PATCH", @@ -37,7 +24,25 @@ ] }, "delete": { - "permissions": [] + "permissions": [ + "apigateway:PATCH" + ] + } + }, + "typeName": "AWS::ApiGateway::Account", + "readOnlyProperties": [ + "/properties/Id" + ], + "description": "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.", + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CloudWatchRoleArn": { + "description": "The ARN of an Amazon CloudWatch role for the current Account.", + "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" } }, "attributes": { diff --git a/server/schema/resources/aws-apigateway-apikey.json b/server/schema/resources/aws-apigateway-apikey.json index 13eafd3d..72f579ea 100644 --- a/server/schema/resources/aws-apigateway-apikey.json +++ b/server/schema/resources/aws-apigateway-apikey.json @@ -99,6 +99,18 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "apigateway:PUT", + "apigateway:DELETE", + "apigateway:GET" + ] + }, "createOnlyProperties": [ "/properties/GenerateDistinctId", "/properties/Name", diff --git a/server/schema/resources/aws-apigateway-clientcertificate.json b/server/schema/resources/aws-apigateway-clientcertificate.json index 47eba62e..ee965403 100644 --- a/server/schema/resources/aws-apigateway-clientcertificate.json +++ b/server/schema/resources/aws-apigateway-clientcertificate.json @@ -41,6 +41,18 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "apigateway:PUT", + "apigateway:DELETE", + "apigateway:GET" + ] + }, "primaryIdentifier": [ "/properties/ClientCertificateId" ], diff --git a/server/schema/resources/aws-apigateway-deployment.json b/server/schema/resources/aws-apigateway-deployment.json index e69525d7..6a84dd85 100644 --- a/server/schema/resources/aws-apigateway-deployment.json +++ b/server/schema/resources/aws-apigateway-deployment.json @@ -1,383 +1,385 @@ { + "tagging": { + "taggable": false + }, "typeName": "AWS::ApiGateway::Deployment", + "readOnlyProperties": [ + "/properties/DeploymentId" + ], "description": "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.", + "createOnlyProperties": [ + "/properties/DeploymentCanarySettings", + "/properties/RestApiId" + ], + "primaryIdentifier": [ + "/properties/DeploymentId", + "/properties/RestApiId" + ], + "required": [ + "RestApiId" + ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", - "additionalProperties": false, - "properties": { - "DeploymentCanarySettings": { - "$ref": "#/definitions/DeploymentCanarySettings", - "description": "The input configuration for a canary deployment.", - "markdownDescription": "The input configuration for a canary deployment.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "handlers": { + "read": { + "permissions": [ + "apigateway:GET" + ] }, - "Description": { - "type": "string", - "description": "The description for the Deployment resource to create.", - "markdownDescription": "The description for the Deployment resource to create.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "create": { + "permissions": [ + "apigateway:POST", + "apigateway:PATCH", + "apigateway:PUT", + "apigateway:GET" + ] }, - "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" + "update": { + "permissions": [ + "apigateway:PATCH", + "apigateway:GET", + "apigateway:PUT", + "apigateway:DELETE" + ] }, - "StageDescription": { - "$ref": "#/definitions/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.", - "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" + "list": { + "permissions": [ + "apigateway:GET" + ], + "handlerSchema": { + "properties": { + "RestApiId": { + "$ref": "resource-schema.json#/properties/RestApiId" + } + }, + "required": [ + "RestApiId" + ] + } }, - "StageName": { - "type": "string", - "description": "The name of the Stage resource for the Deployment resource to create.", - "markdownDescription": "The name of the Stage resource for the Deployment resource to create.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "delete": { + "permissions": [ + "apigateway:GET", + "apigateway:DELETE" + ] } }, + "writeOnlyProperties": [ + "/properties/StageName", + "/properties/StageDescription", + "/properties/DeploymentCanarySettings" + ], + "additionalProperties": false, "definitions": { - "StageDescription": { - "type": "object", + "MethodSetting": { + "description": "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.", "additionalProperties": false, + "type": "object", "properties": { - "AccessLogSetting": { - "description": "Specifies settings for logging access in this stage.", - "$ref": "#/definitions/AccessLogSetting", - "markdownDescription": "Specifies settings for logging access in this stage.\n\n---\n\nRequired: No \nType: \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.", + "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" }, - "CacheClusterEnabled": { - "description": "Specifies whether a cache cluster is enabled for the stage.", - "type": "boolean", - "markdownDescription": "Specifies whether a cache cluster is enabled for the stage.\n\n---\n\nRequired: No \nType: Boolean \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.", + "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" }, - "CacheClusterSize": { - "description": "The size of the stage's cache cluster. For more information, see [cacheClusterSize](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize) in the *API Gateway API Reference*.", + "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 (``/``).", "type": "string", - "markdownDescription": "The size of the stage's cache cluster. For more information, see [cacheClusterSize](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize) in the *API Gateway API Reference*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "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": "Indicates whether the cached responses are encrypted.", + "description": "Specifies whether the cached responses are encrypted.", "type": "boolean", - "markdownDescription": "Indicates whether the cached responses are encrypted.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Specifies whether the cached responses are encrypted.\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.", + "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" + }, + "ThrottlingBurstLimit": { + "description": "Specifies the throttling burst limit.", + "type": "integer", + "markdownDescription": "Specifies the throttling burst limit.\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.", + "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" + }, + "MetricsEnabled": { + "description": "Specifies whether Amazon CloudWatch metrics are enabled for this method.", + "type": "boolean", + "markdownDescription": "Specifies whether Amazon CloudWatch metrics are enabled for this method.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "HttpMethod": { + "description": "The HTTP method.", + "type": "string", + "markdownDescription": "The HTTP method.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "ThrottlingRateLimit": { + "description": "Specifies the throttling rate limit.", + "type": "number", + "markdownDescription": "Specifies the throttling rate limit.\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" + }, + "StageDescription": { + "description": "``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.", + "additionalProperties": false, + "type": "object", + "properties": { "CacheTtlInSeconds": { "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.", "type": "integer", "markdownDescription": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "CachingEnabled": { - "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide*.", - "type": "boolean", - "markdownDescription": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "Description": { + "description": "A description of the purpose of the stage.", + "type": "string", + "markdownDescription": "A description of the purpose of the stage.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LoggingLevel": { + "description": "The logging level for this method. For valid values, see the ``loggingLevel`` property of the [MethodSetting](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodSetting.html) resource in the *Amazon API Gateway API Reference*.", + "type": "string", + "markdownDescription": "The logging level for this method. For valid values, see the ``loggingLevel`` property of the [MethodSetting](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodSetting.html) resource in the *Amazon API Gateway API Reference*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CanarySetting": { "description": "Specifies settings for the canary deployment in this stage.", "$ref": "#/definitions/CanarySetting", "markdownDescription": "Specifies settings for the canary deployment in this stage.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, + "ThrottlingRateLimit": { + "description": "The target request steady-state rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*.", + "type": "number", + "markdownDescription": "The target request steady-state rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, "ClientCertificateId": { "description": "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage.", "type": "string", "markdownDescription": "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "Variables": { + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "description": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: ``[A-Za-z0-9-._~:/?#&=,]+``.", + "additionalProperties": false, + "type": "object", + "markdownDescription": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: ``[A-Za-z0-9-._~:/?#&=,]+``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DocumentationVersion": { + "description": "The version identifier of the API documentation snapshot.", + "type": "string", + "markdownDescription": "The version identifier of the API documentation snapshot.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CacheDataEncrypted": { + "description": "Indicates whether the cached responses are encrypted.", + "type": "boolean", + "markdownDescription": "Indicates whether the cached responses are encrypted.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "DataTraceEnabled": { "description": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs.", "type": "boolean", "markdownDescription": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "Description": { - "description": "A description of the purpose of the stage.", - "type": "string", - "markdownDescription": "A description of the purpose of the stage.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "ThrottlingBurstLimit": { + "description": "The target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*.", + "type": "integer", + "markdownDescription": "The target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "DocumentationVersion": { - "description": "The version identifier of the API documentation snapshot.", - "type": "string", - "markdownDescription": "The version identifier of the API documentation snapshot.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "CachingEnabled": { + "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide*.", + "type": "boolean", + "markdownDescription": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "LoggingLevel": { - "description": "The logging level for this method. For valid values, see the ``loggingLevel`` property of the [MethodSetting](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodSetting.html) resource in the *Amazon API Gateway API Reference*.", - "type": "string", - "markdownDescription": "The logging level for this method. For valid values, see the ``loggingLevel`` property of the [MethodSetting](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodSetting.html) resource in the *Amazon API Gateway API Reference*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "TracingEnabled": { + "description": "Specifies whether active tracing with X-ray is enabled for this stage.\n For more information, see [Trace API Gateway API Execution with X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide*.", + "type": "boolean", + "markdownDescription": "Specifies whether active tracing with X-ray is enabled for this stage.\n For more information, see [Trace API Gateway API Execution with X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "MethodSettings": { - "description": "Configures settings for all of the stage's methods.", - "type": "array", "uniqueItems": true, + "description": "Configures settings for all of the stage's methods.", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/MethodSetting" }, "markdownDescription": "Configures settings for all of the stage's methods.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "AccessLogSetting": { + "description": "Specifies settings for logging access in this stage.", + "$ref": "#/definitions/AccessLogSetting", + "markdownDescription": "Specifies settings for logging access in this stage.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "CacheClusterSize": { + "description": "The size of the stage's cache cluster. For more information, see [cacheClusterSize](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize) in the *API Gateway API Reference*.", + "type": "string", + "markdownDescription": "The size of the stage's cache cluster. For more information, see [cacheClusterSize](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize) in the *API Gateway API Reference*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "MetricsEnabled": { "description": "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage.", "type": "boolean", "markdownDescription": "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "Tags": { - "description": "An array of arbitrary tags (key-value pairs) to associate with the stage.", - "type": "array", "uniqueItems": false, + "description": "An array of arbitrary tags (key-value pairs) to associate with the stage.", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Tag" }, "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" }, - "ThrottlingBurstLimit": { - "description": "The target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*.", - "type": "integer", - "markdownDescription": "The target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "ThrottlingRateLimit": { - "description": "The target request steady-state rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*.", - "type": "number", - "markdownDescription": "The target request steady-state rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "TracingEnabled": { - "description": "Specifies whether active tracing with X-ray is enabled for this stage.\n For more information, see [Trace API Gateway API Execution with X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide*.", + "CacheClusterEnabled": { + "description": "Specifies whether a cache cluster is enabled for the stage.", "type": "boolean", - "markdownDescription": "Specifies whether active tracing with X-ray is enabled for this stage.\n For more information, see [Trace API Gateway API Execution with X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "Variables": { - "description": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: ``[A-Za-z0-9-._~:/?#&=,]+``.", - "type": "object", - "additionalProperties": false, - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: ``[A-Za-z0-9-._~:/?#&=,]+``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies whether a cache cluster is enabled for the stage.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "description": "``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.", "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" }, - "DeploymentCanarySettings": { - "type": "object", + "CanarySetting": { + "description": "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.", "additionalProperties": false, + "type": "object", "properties": { - "PercentTraffic": { - "description": "The percentage (0.0-100.0) of traffic routed to the canary deployment.", - "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" - }, "StageVariableOverrides": { - "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.", - "type": "object", - "additionalProperties": false, "patternProperties": { "[a-zA-Z0-9]+": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "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" - }, - "UseStageCache": { - "description": "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.", - "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" - } - }, - "description": "The ``DeploymentCanarySettings`` property type specifies settings for the canary deployment.", - "markdownDescription": "The ``DeploymentCanarySettings`` property type specifies settings for the canary deployment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "AccessLogSetting": { - "type": "object", - "additionalProperties": false, - "properties": { - "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-``.", - "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" + "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.", + "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" }, - "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``.", - "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" - } - }, - "description": "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.", - "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" - }, - "CanarySetting": { - "type": "object", - "additionalProperties": false, - "properties": { "PercentTraffic": { "description": "The percent (0-100) of traffic diverted to a canary deployment.", "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" }, - "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.", - "type": "object", - "additionalProperties": false, - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string", - "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" - }, "UseStageCache": { "description": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.", "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" } }, - "description": "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.", "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" }, "Tag": { - "type": "object", + "description": "", "additionalProperties": false, + "type": "object", "properties": { - "Key": { - "description": "The key name of the tag", - "type": "string", - "markdownDescription": "The key name of the tag\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, "Value": { "description": "The value for the tag", "type": "string", "markdownDescription": "The value for the tag\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Key": { + "description": "The key name of the tag", + "type": "string", + "markdownDescription": "The key name of the tag\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Value", "Key" ], - "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "MethodSetting": { - "type": "object", + "DeploymentCanarySettings": { + "description": "The ``DeploymentCanarySettings`` property type specifies settings for the canary deployment.", "additionalProperties": false, + "type": "object", "properties": { - "CacheDataEncrypted": { - "description": "Specifies whether the cached responses are encrypted.", - "type": "boolean", - "markdownDescription": "Specifies whether the cached responses are encrypted.\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.", - "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" + "StageVariableOverrides": { + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string", + "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.", + "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" }, - "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.", - "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" + "PercentTraffic": { + "description": "The percentage (0.0-100.0) of traffic routed to the canary deployment.", + "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" }, - "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.", + "UseStageCache": { + "description": "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.", "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" - }, - "HttpMethod": { - "description": "The HTTP method.", - "type": "string", - "markdownDescription": "The HTTP method.\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.", + "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": "The ``DeploymentCanarySettings`` property type specifies settings for the canary deployment.\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 [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type.", + "additionalProperties": false, + "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``.", "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" - }, - "MetricsEnabled": { - "description": "Specifies whether Amazon CloudWatch metrics are enabled for this method.", - "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": "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" }, - "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 (``/``).", + "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-``.", "type": "string", - "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" - }, - "ThrottlingBurstLimit": { - "description": "Specifies the throttling burst limit.", - "type": "integer", - "markdownDescription": "Specifies the throttling burst limit.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "ThrottlingRateLimit": { - "description": "Specifies the throttling rate limit.", - "type": "number", - "markdownDescription": "Specifies the throttling rate limit.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "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" } }, - "description": "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.", - "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" + "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" } }, - "taggable": true, - "required": [ - "RestApiId" - ], - "createOnlyProperties": [ - "/properties/DeploymentCanarySettings", - "/properties/RestApiId" - ], - "primaryIdentifier": [ - "/properties/DeploymentId", - "/properties/RestApiId" - ], - "readOnlyProperties": [ - "/properties/DeploymentId" - ], - "writeOnlyProperties": [ - "/properties/StageName", - "/properties/StageDescription", - "/properties/DeploymentCanarySettings" - ], - "handlers": { - "create": { - "permissions": [ - "apigateway:POST", - "apigateway:PATCH", - "apigateway:PUT", - "apigateway:GET" - ] + "properties": { + "Description": { + "description": "The description for the Deployment resource to create.", + "type": "string", + "markdownDescription": "The description for the Deployment resource to create.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "read": { - "permissions": [ - "apigateway:GET" - ] + "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.", + "$ref": "#/definitions/StageDescription", + "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" }, - "update": { - "permissions": [ - "apigateway:PATCH", - "apigateway:GET", - "apigateway:PUT", - "apigateway:DELETE" - ] + "StageName": { + "description": "The name of the Stage resource for the Deployment resource to create.", + "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" }, - "delete": { - "permissions": [ - "apigateway:GET", - "apigateway:DELETE" - ] + "RestApiId": { + "description": "The string identifier of the associated RestApi.", + "type": "string", + "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, - "list": { - "handlerSchema": { - "properties": { - "RestApiId": { - "$ref": "resource-schema.json#/properties/RestApiId" - } - }, - "required": [ - "RestApiId" - ] - }, - "permissions": [ - "apigateway:GET" - ] + "DeploymentCanarySettings": { + "description": "The input configuration for a canary deployment.", + "$ref": "#/definitions/DeploymentCanarySettings", + "markdownDescription": "The input configuration for a canary deployment.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" } }, "attributes": { "DeploymentId": { - "type": "string", "description": "", + "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-apigateway-documentationpart.json b/server/schema/resources/aws-apigateway-documentationpart.json index 5b317d6e..c81ceafa 100644 --- a/server/schema/resources/aws-apigateway-documentationpart.json +++ b/server/schema/resources/aws-apigateway-documentationpart.json @@ -78,6 +78,9 @@ "/properties/Location", "/properties/RestApiId" ], + "tagging": { + "taggable": false + }, "primaryIdentifier": [ "/properties/DocumentationPartId", "/properties/RestApiId" diff --git a/server/schema/resources/aws-apigateway-documentationversion.json b/server/schema/resources/aws-apigateway-documentationversion.json index 36ec5fd1..351699a9 100644 --- a/server/schema/resources/aws-apigateway-documentationversion.json +++ b/server/schema/resources/aws-apigateway-documentationversion.json @@ -31,6 +31,9 @@ "/properties/DocumentationVersion", "/properties/RestApiId" ], + "tagging": { + "taggable": false + }, "primaryIdentifier": [ "/properties/DocumentationVersion", "/properties/RestApiId" diff --git a/server/schema/resources/aws-apigateway-domainname.json b/server/schema/resources/aws-apigateway-domainname.json index 26aacf1a..872e6495 100644 --- a/server/schema/resources/aws-apigateway-domainname.json +++ b/server/schema/resources/aws-apigateway-domainname.json @@ -1,9 +1,72 @@ { + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true + }, + "handlers": { + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + } + }, "typeName": "AWS::ApiGateway::DomainName", + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], "description": "Resource Type definition for AWS::ApiGateway::DomainName.", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "createOnlyProperties": [ + "/properties/DomainName" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/DomainName" + ], "definitions": { + "MutualTlsAuthentication": { + "additionalProperties": false, + "type": "object", + "properties": { + "TruststoreVersion": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TruststoreUri": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "EndpointConfiguration": { + "additionalProperties": false, "type": "object", "properties": { "Types": { @@ -15,64 +78,44 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MutualTlsAuthentication": { - "type": "object", - "properties": { - "TruststoreUri": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "TruststoreVersion": { - "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" }, "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" } }, "properties": { - "DomainName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, "MutualTlsAuthentication": { "$ref": "#/definitions/MutualTlsAuthentication" }, - "CertificateArn": { + "OwnershipVerificationCertificateArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "RegionalCertificateArn": { + "DomainName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "OwnershipVerificationCertificateArn": { + "SecurityPolicy": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SecurityPolicy": { + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "RegionalCertificateArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, @@ -82,62 +125,26 @@ "$ref": "#/definitions/Tag" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/DomainName" - ], - "createOnlyProperties": [ - "/properties/DomainName" - ], - "readOnlyProperties": [ - "/properties/RegionalHostedZoneId", - "/properties/DistributionDomainName", - "/properties/RegionalDomainName", - "/properties/DistributionHostedZoneId" - ], - "handlers": { - "create": { - "permissions": [ - "apigateway:*" - ] }, - "read": { - "permissions": [ - "apigateway:*" - ] - }, - "update": { - "permissions": [ - "apigateway:*" - ] - }, - "delete": { - "permissions": [ - "apigateway:*" - ] - }, - "list": { - "permissions": [ - "apigateway:*" - ] + "CertificateArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "attributes": { - "DistributionDomainName": { + "RegionalHostedZoneId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DistributionHostedZoneId": { + "RegionalDomainName": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "RegionalDomainName": { + "DistributionHostedZoneId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "RegionalHostedZoneId": { + "DistributionDomainName": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } diff --git a/server/schema/resources/aws-apigateway-gatewayresponse.json b/server/schema/resources/aws-apigateway-gatewayresponse.json index 7e1cbb19..8c91f136 100644 --- a/server/schema/resources/aws-apigateway-gatewayresponse.json +++ b/server/schema/resources/aws-apigateway-gatewayresponse.json @@ -58,7 +58,9 @@ "readOnlyProperties": [ "/properties/Id" ], - "taggable": false, + "tagging": { + "taggable": false + }, "handlers": { "create": { "permissions": [ @@ -66,6 +68,11 @@ "apigateway:GET" ] }, + "read": { + "permissions": [ + "apigateway:GET" + ] + }, "update": { "permissions": [ "apigateway:GET", @@ -79,6 +86,16 @@ ] }, "list": { + "handlerSchema": { + "properties": { + "RestApiId": { + "$ref": "resource-schema.json#/properties/RestApiId" + } + }, + "required": [ + "RestApiId" + ] + }, "permissions": [ "apigateway:GET" ] diff --git a/server/schema/resources/aws-apigateway-method.json b/server/schema/resources/aws-apigateway-method.json index 9311906d..8612558b 100644 --- a/server/schema/resources/aws-apigateway-method.json +++ b/server/schema/resources/aws-apigateway-method.json @@ -1,32 +1,105 @@ { + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway.git", + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "read": { + "permissions": [ + "apigateway:GET" + ] + }, + "create": { + "permissions": [ + "apigateway:PUT", + "apigateway:GET", + "iam:PassRole" + ] + }, + "update": { + "permissions": [ + "apigateway:GET", + "apigateway:DELETE", + "apigateway:PUT", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "apigateway:DELETE" + ] + } + }, "typeName": "AWS::ApiGateway::Method", "description": "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests.", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway.git", + "createOnlyProperties": [ + "/properties/RestApiId", + "/properties/ResourceId", + "/properties/HttpMethod" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/RestApiId", + "/properties/ResourceId", + "/properties/HttpMethod" + ], "definitions": { - "Integration": { - "type": "object", + "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.", "additionalProperties": false, + "type": "object", "properties": { - "CacheKeyParameters": { - "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``.", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "ResponseParameters": { + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": [ + "boolean", + "string" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['boolean', '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" + "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.)", + "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" }, + "StatusCode": { + "description": "The method response's status code.", + "type": "string", + "markdownDescription": "The method response's status code.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ResponseModels": { + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string", + "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.", + "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" + } + }, + "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" + }, + "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.", + "additionalProperties": false, + "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.", "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" }, - "ConnectionId": { - "description": "The ID of the VpcLink used for the integration when ``connectionType=VPC_LINK`` and undefined, otherwise.", - "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" - }, "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``.", "type": "string", @@ -36,34 +109,25 @@ ], "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" }, - "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.", - "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" - }, - "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.", - "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" - }, - "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.", - "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" - }, "IntegrationResponses": { + "uniqueItems": true, "description": "Specifies the integration's responses.", "type": "array", - "uniqueItems": true, "items": { "$ref": "#/definitions/IntegrationResponse" }, "markdownDescription": "Specifies the integration's responses.\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.", + "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" + }, + "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}``", + "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" + }, "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.", "type": "string", @@ -75,27 +139,63 @@ "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" }, "RequestParameters": { - "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.", - "type": "object", - "additionalProperties": false, "patternProperties": { "[a-zA-Z0-9]+": { "type": "string", "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.", + "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" }, + "ConnectionId": { + "description": "The ID of the VpcLink used for the integration when ``connectionType=VPC_LINK`` and undefined, otherwise.", + "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" + }, + "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.", + "type": "string", + "enum": [ + "AWS", + "AWS_PROXY", + "HTTP", + "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" + }, + "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``.", + "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" + }, + "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.", + "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" + }, "RequestTemplates": { - "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.", - "type": "object", - "additionalProperties": false, "patternProperties": { "[a-zA-Z0-9]+": { "type": "string", "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.", + "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" }, "TimeoutInMillis": { @@ -104,77 +204,39 @@ "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" }, - "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.", - "type": "string", - "enum": [ - "AWS", - "AWS_PROXY", - "HTTP", - "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" - }, - "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}``", + "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.", "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": "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" } }, "required": [ "Type" ], - "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.", "markdownDescription": "``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.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "MethodResponse": { - "type": "object", + "IntegrationResponse": { + "description": "``IntegrationResponse`` is a property of the [Amazon API Gateway Method Integration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html) property type that specifies the response that API Gateway sends after a method's backend finishes processing a request.", "additionalProperties": false, + "type": "object", "properties": { - "ResponseModels": { - "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.", - "type": "object", - "additionalProperties": false, + "ResponseTemplates": { "patternProperties": { "[a-zA-Z0-9]+": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "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" - }, - "ResponseParameters": { - "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.)", - "type": "object", + "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.", "additionalProperties": false, - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": [ - "boolean", - "string" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: ['boolean', 'string'] \nUpdate requires: No interruption" - } - }, - "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" + "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" }, - "StatusCode": { - "description": "The method response's status code.", + "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.", "type": "string", - "markdownDescription": "The method response's status code.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "StatusCode" - ], - "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.", - "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" - }, - "IntegrationResponse": { - "type": "object", - "additionalProperties": false, - "properties": { + "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" + }, "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.", "type": "string", @@ -185,33 +247,16 @@ "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" }, "ResponseParameters": { - "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.", - "type": "object", - "additionalProperties": false, "patternProperties": { "[a-zA-Z0-9]+": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "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" - }, - "ResponseTemplates": { - "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.", - "type": "object", + "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.", "additionalProperties": false, - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "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" - }, - "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.", - "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" + "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" }, "StatusCode": { "description": "Specifies the status code that is used to map the integration response to an existing MethodResponse.", @@ -222,81 +267,52 @@ "required": [ "StatusCode" ], - "description": "``IntegrationResponse`` is a property of the [Amazon API Gateway Method Integration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html) property type that specifies the response that API Gateway sends after a method's backend finishes processing a request.", "markdownDescription": "``IntegrationResponse`` is a property of the [Amazon API Gateway Method Integration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html) property type that specifies the response that API Gateway sends after a method's backend finishes processing a request.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { - "ApiKeyRequired": { - "description": "A boolean flag specifying whether a valid ApiKey is required to invoke this method.", - "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" - }, - "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.", - "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" - }, - "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.", - "type": "string", - "enum": [ - "NONE", - "AWS_IAM", - "CUSTOM", - "COGNITO_USER_POOLS" - ], - "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 \nAllowed Values: NONE | AWS_IAM | CUSTOM | COGNITO_USER_POOLS \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``.", - "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" - }, - "HttpMethod": { - "description": "The method's HTTP verb.", - "type": "string", - "markdownDescription": "The method's HTTP verb.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, "Integration": { "description": "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration.", "$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" }, - "MethodResponses": { - "description": "Gets a method response associated with a given HTTP status code.", - "type": "array", - "uniqueItems": true, - "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" - }, "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.", "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" }, "RequestModels": { - "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).", - "type": "object", - "additionalProperties": false, "patternProperties": { "[a-zA-Z0-9]+": { "type": "string", "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).", + "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" }, + "RestApiId": { + "description": "The string identifier of the associated RestApi.", + "type": "string", + "markdownDescription": "The string identifier of the associated RestApi.\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.", + "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" + }, + "RequestValidatorId": { + "description": "The identifier of a RequestValidator for request validation.", + "type": "string", + "markdownDescription": "The identifier of a RequestValidator for request validation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "RequestParameters": { - "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.", - "type": "object", - "additionalProperties": false, "patternProperties": { "[a-zA-Z0-9]+": { "type": [ @@ -306,72 +322,50 @@ "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.", + "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" }, - "RequestValidatorId": { - "description": "The identifier of a RequestValidator for request validation.", + "MethodResponses": { + "uniqueItems": true, + "description": "Gets a method response associated with a given HTTP status code.", + "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" + }, + "AuthorizerId": { + "description": "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``.", "type": "string", - "markdownDescription": "The identifier of a RequestValidator for request validation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "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" }, "ResourceId": { "description": "The Resource identifier for the MethodResponse resource.", "type": "string", "markdownDescription": "The Resource identifier for the MethodResponse resource.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, - "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "ApiKeyRequired": { + "description": "A boolean flag specifying whether a valid ApiKey is required to invoke this method.", + "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" + }, + "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.", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "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.", + "type": "string", + "markdownDescription": "The method's HTTP verb.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" } }, - "additionalProperties": false, "required": [ "RestApiId", "ResourceId", "HttpMethod" ], - "primaryIdentifier": [ - "/properties/RestApiId", - "/properties/ResourceId", - "/properties/HttpMethod" - ], - "createOnlyProperties": [ - "/properties/RestApiId", - "/properties/ResourceId", - "/properties/HttpMethod" - ], - "tagging": { - "taggable": false, - "tagOnCreate": false, - "tagUpdatable": false, - "cloudFormationSystemTags": false - }, - "handlers": { - "create": { - "permissions": [ - "apigateway:PUT", - "apigateway:GET", - "iam:PassRole" - ] - }, - "read": { - "permissions": [ - "apigateway:GET" - ] - }, - "update": { - "permissions": [ - "apigateway:GET", - "apigateway:DELETE", - "apigateway:PUT", - "iam:PassRole" - ] - }, - "delete": { - "permissions": [ - "apigateway:DELETE" - ] - } - }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-apigateway-model.json b/server/schema/resources/aws-apigateway-model.json index b94538a4..967d07ee 100644 --- a/server/schema/resources/aws-apigateway-model.json +++ b/server/schema/resources/aws-apigateway-model.json @@ -36,6 +36,9 @@ "required": [ "RestApiId" ], + "tagging": { + "taggable": false + }, "createOnlyProperties": [ "/properties/ContentType", "/properties/Name", diff --git a/server/schema/resources/aws-apigateway-requestvalidator.json b/server/schema/resources/aws-apigateway-requestvalidator.json index 16249ee6..e14673f4 100644 --- a/server/schema/resources/aws-apigateway-requestvalidator.json +++ b/server/schema/resources/aws-apigateway-requestvalidator.json @@ -35,6 +35,9 @@ "readOnlyProperties": [ "/properties/RequestValidatorId" ], + "tagging": { + "taggable": false + }, "primaryIdentifier": [ "/properties/RestApiId", "/properties/RequestValidatorId" diff --git a/server/schema/resources/aws-apigateway-resource.json b/server/schema/resources/aws-apigateway-resource.json index 5fb03838..9c96f87f 100644 --- a/server/schema/resources/aws-apigateway-resource.json +++ b/server/schema/resources/aws-apigateway-resource.json @@ -1,43 +1,8 @@ { - "typeName": "AWS::ApiGateway::Resource", - "description": "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", - "additionalProperties": false, - "properties": { - "RestApiId": { - "description": "The string identifier of the associated RestApi.", - "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "ParentId": { - "description": "The parent resource's identifier.", - "type": "string", - "markdownDescription": "The parent resource's identifier.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "PathPart": { - "description": "The last path segment for this resource.", - "type": "string", - "markdownDescription": "The last path segment for this resource.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - } + "tagging": { + "taggable": false }, - "taggable": false, - "required": [ - "ParentId", - "PathPart", - "RestApiId" - ], - "createOnlyProperties": [ - "/properties/PathPart", - "/properties/ParentId", - "/properties/RestApiId" - ], - "primaryIdentifier": [ - "/properties/RestApiId", - "/properties/ResourceId" - ], - "readOnlyProperties": [ - "/properties/ResourceId" - ], "handlers": { "read": { "permissions": [ @@ -55,12 +20,10 @@ "apigateway:PATCH" ] }, - "delete": { - "permissions": [ - "apigateway:DELETE" - ] - }, "list": { + "permissions": [ + "apigateway:GET" + ], "handlerSchema": { "properties": { "RestApiId": { @@ -70,12 +33,51 @@ "required": [ "RestApiId" ] - }, + } + }, + "delete": { "permissions": [ - "apigateway:GET" + "apigateway:DELETE" ] } }, + "typeName": "AWS::ApiGateway::Resource", + "readOnlyProperties": [ + "/properties/ResourceId" + ], + "description": "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API.", + "createOnlyProperties": [ + "/properties/PathPart", + "/properties/ParentId", + "/properties/RestApiId" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/RestApiId", + "/properties/ResourceId" + ], + "properties": { + "ParentId": { + "description": "The parent resource's identifier.", + "type": "string", + "markdownDescription": "The parent resource's identifier.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "PathPart": { + "description": "The last path segment for this resource.", + "type": "string", + "markdownDescription": "The last path segment for this resource.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "RestApiId": { + "description": "The string identifier of the associated RestApi.", + "type": "string", + "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + } + }, + "required": [ + "ParentId", + "PathPart", + "RestApiId" + ], "attributes": { "ResourceId": { "description": "", diff --git a/server/schema/resources/aws-apigateway-restapi.json b/server/schema/resources/aws-apigateway-restapi.json index 60551dd4..5e0bf2c7 100644 --- a/server/schema/resources/aws-apigateway-restapi.json +++ b/server/schema/resources/aws-apigateway-restapi.json @@ -1,46 +1,117 @@ { + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "permissions": [ + "apigateway:PUT", + "apigateway:DELETE", + "apigateway:GET" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true + }, + "handlers": { + "read": { + "permissions": [ + "apigateway:GET" + ] + }, + "create": { + "permissions": [ + "apigateway:GET", + "apigateway:POST", + "apigateway:PUT", + "apigateway:PATCH", + "apigateway:UpdateRestApiPolicy", + "s3:GetObject", + "iam:PassRole" + ] + }, + "update": { + "permissions": [ + "apigateway:GET", + "apigateway:DELETE", + "apigateway:PATCH", + "apigateway:PUT", + "apigateway:UpdateRestApiPolicy", + "s3:GetObject", + "iam:PassRole" + ] + }, + "list": { + "permissions": [ + "apigateway:GET" + ] + }, + "delete": { + "permissions": [ + "apigateway:DELETE" + ] + } + }, "typeName": "AWS::ApiGateway::RestApi", + "readOnlyProperties": [ + "/properties/RestApiId", + "/properties/RootResourceId" + ], "description": "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.", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "writeOnlyProperties": [ + "/properties/Body", + "/properties/BodyS3Location", + "/properties/CloneFrom", + "/properties/FailOnWarnings", + "/properties/Mode", + "/properties/Parameters" + ], "additionalProperties": false, + "primaryIdentifier": [ + "/properties/RestApiId" + ], "definitions": { "EndpointConfiguration": { - "type": "object", + "description": "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.", "additionalProperties": false, + "type": "object", "properties": { "Types": { - "type": "array", "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``.", + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "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``.", "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" }, "VpcEndpointIds": { - "type": "array", "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.", + "type": "array", "items": { + "relationshipRef": { + "typeName": "AWS::EC2::VPCEndpoint", + "propertyPath": "/properties/Id" + }, "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "description": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type.", "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" } }, - "description": "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.", "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" }, "Tag": { - "type": "object", + "description": "", "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" } @@ -49,210 +120,152 @@ "Key", "Value" ], - "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "S3Location": { - "type": "object", + "description": "``S3Location`` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource that specifies the Amazon S3 location of a OpenAPI (formerly Swagger) file that defines a set of RESTful APIs in JSON or YAML.\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.", "additionalProperties": false, + "type": "object", "properties": { "Bucket": { - "type": "string", + "relationshipRef": { + "typeName": "AWS::S3::Bucket", + "propertyPath": "/properties/BucketName" + }, "description": "The name of the S3 bucket where the OpenAPI file is stored.", + "type": "string", "markdownDescription": "The name of the S3 bucket where the OpenAPI file is stored.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ETag": { - "type": "string", "description": "The Amazon S3 ETag (a file checksum) of the OpenAPI file. If you don't specify a value, API Gateway skips ETag validation of your OpenAPI file.", + "type": "string", "markdownDescription": "The Amazon S3 ETag (a file checksum) of the OpenAPI file. If you don't specify a value, API Gateway skips ETag validation of your OpenAPI file.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Version": { - "type": "string", "description": "For versioning-enabled buckets, a specific version of the OpenAPI file.", + "type": "string", "markdownDescription": "For versioning-enabled buckets, a specific version of the OpenAPI file.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Key": { - "type": "string", "description": "The file name of the OpenAPI file (Amazon S3 object name).", + "type": "string", "markdownDescription": "The file name of the OpenAPI file (Amazon S3 object name).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "``S3Location`` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource that specifies the Amazon S3 location of a OpenAPI (formerly Swagger) file that defines a set of RESTful APIs in JSON or YAML.\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.", "markdownDescription": "``S3Location`` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource that specifies the Amazon S3 location of a OpenAPI (formerly Swagger) file that defines a set of RESTful APIs in JSON or YAML.\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\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { - "ApiKeySourceType": { - "type": "string", - "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.", - "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" - }, - "BinaryMediaTypes": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.", - "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" - }, - "Body": { + "Policy": { + "description": "A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``\"\"`` as delimiter and values of ``\"execute-api:/\"`` and ``\"*\"``.", "type": [ "object", "string" ], - "description": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format.", - "markdownDescription": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format.\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``\"\"`` as delimiter and values of ``\"execute-api:/\"`` and ``\"*\"``.\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" }, "BodyS3Location": { - "$ref": "#/definitions/S3Location", "description": "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.", + "$ref": "#/definitions/S3Location", "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" }, - "CloneFrom": { + "Description": { + "description": "The description of the RestApi.", "type": "string", + "markdownDescription": "The description of the RestApi.\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.", + "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" + }, + "Parameters": { + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string", + "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'``.", + "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" + }, + "CloneFrom": { "description": "The ID of the RestApi that you want to clone from.", + "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" }, - "EndpointConfiguration": { - "$ref": "#/definitions/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.", - "markdownDescription": "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.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Description": { + "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.", "type": "string", - "description": "The description of the RestApi.", - "markdownDescription": "The description of the RestApi.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "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": { - "type": "boolean", "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", + "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" }, "FailOnWarnings": { - "type": "boolean", "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``.", + "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" }, + "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.", + "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" + }, "Name": { - "type": "string", "description": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification.", + "type": "string", "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" }, - "MinimumCompressionSize": { - "type": "integer", - "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.", - "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" - }, - "Mode": { + "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.", "type": "string", - "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.", - "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" + "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" }, - "Policy": { - "type": [ - "object", - "string" - ], - "description": "A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``\"\"`` as delimiter and values of ``\"execute-api:/\"`` and ``\"*\"``.", - "markdownDescription": "A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``\"\"`` as delimiter and values of ``\"execute-api:/\"`` and ``\"*\"``.\n\n---\n\nRequired: No \nType: ['object', '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.", + "$ref": "#/definitions/EndpointConfiguration", + "markdownDescription": "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.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Parameters": { + "Body": { + "description": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format.", "type": [ "object", "string" ], - "additionalProperties": false, - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string", - "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'``.", - "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": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format.\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" }, "Tags": { - "type": "array", "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.", + "type": "array", "items": { "$ref": "#/definitions/Tag" }, - "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.", "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" } }, - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" - }, - "primaryIdentifier": [ - "/properties/RestApiId" - ], - "readOnlyProperties": [ - "/properties/RestApiId", - "/properties/RootResourceId" - ], - "writeOnlyProperties": [ - "/properties/Body", - "/properties/BodyS3Location", - "/properties/CloneFrom", - "/properties/FailOnWarnings", - "/properties/Mode", - "/properties/Parameters" - ], - "handlers": { - "create": { - "permissions": [ - "apigateway:GET", - "apigateway:POST", - "apigateway:PUT", - "apigateway:PATCH", - "apigateway:UpdateRestApiPolicy", - "s3:GetObject", - "iam:PassRole" - ] - }, - "read": { - "permissions": [ - "apigateway:GET" - ] - }, - "update": { - "permissions": [ - "apigateway:GET", - "apigateway:DELETE", - "apigateway:PATCH", - "apigateway:PUT", - "apigateway:UpdateRestApiPolicy", - "s3:GetObject", - "iam:PassRole" - ] - }, - "delete": { - "permissions": [ - "apigateway:DELETE" - ] - }, - "list": { - "permissions": [ - "apigateway:GET" - ] - } - }, "attributes": { "RestApiId": { - "type": "string", "description": "", + "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RootResourceId": { - "type": "string", "description": "", + "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-apigateway-stage.json b/server/schema/resources/aws-apigateway-stage.json index c17900f1..1f6e71db 100644 --- a/server/schema/resources/aws-apigateway-stage.json +++ b/server/schema/resources/aws-apigateway-stage.json @@ -251,7 +251,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "apigateway:PUT", + "apigateway:DELETE", + "apigateway:GET" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-apigateway-usageplan.json b/server/schema/resources/aws-apigateway-usageplan.json index dbc7a2e1..991e7a67 100644 --- a/server/schema/resources/aws-apigateway-usageplan.json +++ b/server/schema/resources/aws-apigateway-usageplan.json @@ -151,7 +151,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "apigateway:PUT", + "apigateway:DELETE", + "apigateway:GET" + ] }, "primaryIdentifier": [ "/properties/Id" diff --git a/server/schema/resources/aws-apigateway-usageplankey.json b/server/schema/resources/aws-apigateway-usageplankey.json index efe718c3..00f6cc64 100644 --- a/server/schema/resources/aws-apigateway-usageplankey.json +++ b/server/schema/resources/aws-apigateway-usageplankey.json @@ -23,7 +23,9 @@ "markdownDescription": "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" } }, - "taggable": false, + "tagging": { + "taggable": false + }, "required": [ "KeyType", "UsagePlanId", diff --git a/server/schema/resources/aws-apigateway-vpclink.json b/server/schema/resources/aws-apigateway-vpclink.json index d566cc4b..e042ed00 100644 --- a/server/schema/resources/aws-apigateway-vpclink.json +++ b/server/schema/resources/aws-apigateway-vpclink.json @@ -1,30 +1,30 @@ { "typeName": "AWS::ApiGateway::VpcLink", - "description": "Schema for AWS ApiGateway VpcLink", + "description": "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``.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "properties": { "Name": { - "description": "A name for the VPC link.", + "description": "The name used to label and identify the VPC link.", "type": "string", - "markdownDescription": "A name for the VPC link.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name used to label and identify the VPC link.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Description": { - "description": "A description of the VPC link.", + "description": "The description of the VPC link.", "type": "string", - "markdownDescription": "A description of the VPC link.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The description of the VPC link.\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 stage.", + "description": "An array of arbitrary tags (key-value pairs) to associate with the VPC link.", "insertionOrder": false, "uniqueItems": true, "type": "array", "items": { "$ref": "#/definitions/Tag" }, - "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" + "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 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": "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.", "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 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": "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" } }, "definitions": { @@ -53,6 +53,7 @@ "Value", "Key" ], + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, @@ -132,9 +133,9 @@ ], "attributes": { "VpcLinkId": { - "description": "The ID of the instance that backs VPC link.", + "description": "", "type": "string", - "markdownDescription": "The ID of the instance that backs 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" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-applicationautoscaling-scalabletarget.json b/server/schema/resources/aws-applicationautoscaling-scalabletarget.json index 211c0164..aa07f9c4 100644 --- a/server/schema/resources/aws-applicationautoscaling-scalabletarget.json +++ b/server/schema/resources/aws-applicationautoscaling-scalabletarget.json @@ -1,211 +1,237 @@ { + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "typeName": "AWS::ApplicationAutoScaling::ScalableTarget", - "description": "Resource Type definition for AWS::ApplicationAutoScaling::ScalableTarget", + "readOnlyProperties": [ + "/properties/Id" + ], + "description": "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.", + "createOnlyProperties": [ + "/properties/ResourceId", + "/properties/ScalableDimension", + "/properties/ServiceNamespace" + ], + "primaryIdentifier": [ + "/properties/ResourceId", + "/properties/ScalableDimension", + "/properties/ServiceNamespace" + ], + "required": [ + "ResourceId", + "ServiceNamespace", + "ScalableDimension", + "MinCapacity", + "MaxCapacity" + ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "handlers": { + "read": { + "permissions": [ + "application-autoscaling:DescribeScalableTargets", + "application-autoscaling:DescribeScheduledActions" + ] + }, + "create": { + "permissions": [ + "application-autoscaling:DescribeScalableTargets", + "application-autoscaling:RegisterScalableTarget", + "application-autoscaling:DescribeScheduledActions", + "application-autoscaling:PutScheduledAction", + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "cloudwatch:PutMetricAlarm", + "cloudwatch:DeleteAlarms", + "cloudwatch:DescribeAlarms", + "lambda:GetProvisionedConcurrencyConfig", + "lambda:PutProvisionedConcurrencyConfig", + "lambda:DeleteProvisionedConcurrencyConfig" + ] + }, + "update": { + "permissions": [ + "application-autoscaling:RegisterScalableTarget", + "application-autoscaling:DescribeScalableTargets", + "application-autoscaling:DescribeScheduledActions", + "application-autoscaling:DeleteScheduledAction", + "application-autoscaling:PutScheduledAction", + "cloudwatch:PutMetricAlarm", + "cloudwatch:DeleteAlarms", + "cloudwatch:DescribeAlarms", + "lambda:GetProvisionedConcurrencyConfig", + "lambda:PutProvisionedConcurrencyConfig", + "lambda:DeleteProvisionedConcurrencyConfig" + ] + }, + "list": { + "permissions": [ + "application-autoscaling:DescribeScalableTargets" + ] + }, + "delete": { + "permissions": [ + "application-autoscaling:DeregisterScalableTarget" + ] + } + }, + "writeOnlyProperties": [ + "/properties/RoleARN" + ], "additionalProperties": false, "definitions": { "SuspendedState": { - "type": "object", + "description": "``SuspendedState`` is a property of the [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html) resource that specifies whether the scaling activities for a scalable target are in a suspended state.\n For more information, see [Suspending and resuming scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html) in the *Application Auto Scaling User Guide*.", "additionalProperties": false, - "description": "specifies whether the scaling activities for a scalable target are in a suspended state", + "type": "object", "properties": { - "ScheduledScalingSuspended": { + "DynamicScalingOutSuspended": { + "description": "Whether scale out by a target tracking scaling policy or a step scaling policy is suspended. Set the value to ``true`` if you don't want Application Auto Scaling to add capacity when a scaling policy is triggered. The default is ``false``.", "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Whether scale out by a target tracking scaling policy or a step scaling policy is suspended. Set the value to ``true`` if you don't want Application Auto Scaling to add capacity when a scaling policy is triggered. The default is ``false``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "DynamicScalingOutSuspended": { + "ScheduledScalingSuspended": { + "description": "Whether scheduled scaling is suspended. Set the value to ``true`` if you don't want Application Auto Scaling to add or remove capacity by initiating scheduled actions. The default is ``false``.", "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Whether scheduled scaling is suspended. Set the value to ``true`` if you don't want Application Auto Scaling to add or remove capacity by initiating scheduled actions. The default is ``false``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "DynamicScalingInSuspended": { + "description": "Whether scale in by a target tracking scaling policy or a step scaling policy is suspended. Set the value to ``true`` if you don't want Application Auto Scaling to remove capacity when a scaling policy is triggered. The default is ``false``.", "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Whether scale in by a target tracking scaling policy or a step scaling policy is suspended. Set the value to ``true`` if you don't want Application Auto Scaling to remove capacity when a scaling policy is triggered. The default is ``false``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "markdownDescription": "specifies whether the scaling activities for a scalable target are in a suspended state\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "``SuspendedState`` is a property of the [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html) resource that specifies whether the scaling activities for a scalable target are in a suspended state.\n For more information, see [Suspending and resuming scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html) in the *Application Auto Scaling User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ScheduledAction": { - "type": "object", + "description": "``ScheduledAction`` is a property of the [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html) resource that specifies a scheduled action for a scalable target. \n For more information, see [Scheduled scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html) in the *Application Auto Scaling User Guide*.", "additionalProperties": false, - "description": "specifies a scheduled action for a scalable target", + "type": "object", "properties": { "Timezone": { + "description": "The time zone used when referring to the date and time of a scheduled action, when the scheduled action uses an at or cron expression.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The time zone used when referring to the date and time of a scheduled action, when the scheduled action uses an at or cron expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ScheduledActionName": { + "description": "The name of the scheduled action. This name must be unique among all other scheduled actions on the specified scalable target.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the scheduled action. This name must be unique among all other scheduled actions on the specified scalable target.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "EndTime": { + "description": "The date and time that the action is scheduled to end, in UTC.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The date and time that the action is scheduled to end, in UTC.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Schedule": { + "description": "The schedule for this action. The following formats are supported:\n + At expressions - \"``at(yyyy-mm-ddThh:mm:ss)``\"\n + Rate expressions - \"``rate(value unit)``\"\n + Cron expressions - \"``cron(fields)``\"\n \n At expressions are useful for one-time schedules. Cron expressions are useful for scheduled actions that run periodically at a specified date and time, and rate expressions are useful for scheduled actions that run at a regular interval.\n At and cron expressions use Universal Coordinated Time (UTC) by default.\n The cron format consists of six fields separated by white spaces: [Minutes] [Hours] [Day_of_Month] [Month] [Day_of_Week] [Year].\n For rate expressions, *value* is a positive integer and *unit* is ``minute`` | ``minutes`` | ``hour`` | ``hours`` | ``day`` | ``days``.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The schedule for this action. The following formats are supported:\n + At expressions - \"``at(yyyy-mm-ddThh:mm:ss)``\"\n + Rate expressions - \"``rate(value unit)``\"\n + Cron expressions - \"``cron(fields)``\"\n \n At expressions are useful for one-time schedules. Cron expressions are useful for scheduled actions that run periodically at a specified date and time, and rate expressions are useful for scheduled actions that run at a regular interval.\n At and cron expressions use Universal Coordinated Time (UTC) by default.\n The cron format consists of six fields separated by white spaces: [Minutes] [Hours] [Day_of_Month] [Month] [Day_of_Week] [Year].\n For rate expressions, *value* is a positive integer and *unit* is ``minute`` | ``minutes`` | ``hour`` | ``hours`` | ``day`` | ``days``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "StartTime": { + "description": "The date and time that the action is scheduled to begin, in UTC.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The date and time that the action is scheduled to begin, in UTC.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ScalableTargetAction": { - "$ref": "#/definitions/ScalableTargetAction" + "description": "The new minimum and maximum capacity. You can set both values or just one. At the scheduled time, if the current capacity is below the minimum capacity, Application Auto Scaling scales out to the minimum capacity. If the current capacity is above the maximum capacity, Application Auto Scaling scales in to the maximum capacity.", + "$ref": "#/definitions/ScalableTargetAction", + "markdownDescription": "The new minimum and maximum capacity. You can set both values or just one. At the scheduled time, if the current capacity is below the minimum capacity, Application Auto Scaling scales out to the minimum capacity. If the current capacity is above the maximum capacity, Application Auto Scaling scales in to the maximum capacity.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "ScheduledActionName", "Schedule" ], - "markdownDescription": "specifies a scheduled action for a scalable target\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "``ScheduledAction`` is a property of the [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html) resource that specifies a scheduled action for a scalable target. \n For more information, see [Scheduled scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html) in the *Application Auto Scaling User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ScalableTargetAction": { - "type": "object", + "description": "``ScalableTargetAction`` specifies the minimum and maximum capacity for the ``ScalableTargetAction`` property of the [AWS::ApplicationAutoScaling::ScalableTarget ScheduledAction](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html) property type.", "additionalProperties": false, - "description": "specifies the minimum and maximum capacity", + "type": "object", "properties": { "MinCapacity": { + "description": "The minimum capacity.", "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The minimum capacity.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "MaxCapacity": { + "description": "The maximum capacity.", "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The maximum capacity.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "specifies the minimum and maximum capacity\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "``ScalableTargetAction`` specifies the minimum and maximum capacity for the ``ScalableTargetAction`` property of the [AWS::ApplicationAutoScaling::ScalableTarget ScheduledAction](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { - "MaxCapacity": { - "description": "The maximum value that you plan to scale in to. When a scaling policy is in effect, Application Auto Scaling can scale in (contract) as needed to the minimum capacity limit in response to changing demand", - "type": "integer", - "markdownDescription": "The maximum value that you plan to scale in to. When a scaling policy is in effect, Application Auto Scaling can scale in (contract) as needed to the minimum capacity limit in response to changing demand\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "MinCapacity": { - "description": "The minimum value that you plan to scale in to. When a scaling policy is in effect, Application Auto Scaling can scale in (contract) as needed to the minimum capacity limit in response to changing demand", - "type": "integer", - "markdownDescription": "The minimum value that you plan to scale in to. When a scaling policy is in effect, Application Auto Scaling can scale in (contract) as needed to the minimum capacity limit in response to changing demand\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "ResourceId": { - "description": "The identifier of the resource associated with the scalable target", - "type": "string", - "markdownDescription": "The identifier of the resource associated with the scalable target\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "RoleARN": { - "description": "Specify the Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that allows Application Auto Scaling to modify the scalable target on your behalf. ", - "type": "string", - "markdownDescription": "Specify the Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that allows Application Auto Scaling to modify the scalable target on your behalf. \n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ScalableDimension": { - "description": "The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property", - "type": "string", - "markdownDescription": "The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, "ScheduledActions": { - "description": "The scheduled actions for the scalable target. Duplicates aren't allowed.", - "type": "array", "uniqueItems": true, + "description": "The scheduled actions for the scalable target. Duplicates aren't allowed.", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/ScheduledAction" }, "markdownDescription": "The scheduled actions for the scalable target. Duplicates aren't allowed.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "ResourceId": { + "description": "The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.\n + ECS service - The resource type is ``service`` and the unique identifier is the cluster name and service name. Example: ``service/my-cluster/my-service``.\n + Spot Fleet - The resource type is ``spot-fleet-request`` and the unique identifier is the Spot Fleet request ID. Example: ``spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE``.\n + EMR cluster - The resource type is ``instancegroup`` and the unique identifier is the cluster ID and instance group ID. Example: ``instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0``.\n + AppStream 2.0 fleet - The resource type is ``fleet`` and the unique identifier is the fleet name. Example: ``fleet/sample-fleet``.\n + DynamoDB table - The resource type is ``table`` and the unique identifier is the table name. Example: ``table/my-table``.\n + DynamoDB global secondary index - The resource type is ``index`` and the unique identifier is the index name. Example: ``table/my-table/index/my-table-index``.\n + Aurora DB cluster - The resource type is ``cluster`` and the unique identifier is the cluster name. Example: ``cluster:my-db-cluster``.\n + SageMaker endpoint variant - The resource type is ``variant`` and the unique identifier is the resource ID. Example: ``endpoint/my-end-point/variant/KMeansClustering``.\n + Custom resources are not supported with a resource type. This parameter must specify the ``OutputValue`` from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our [GitHub repository](https://docs.aws.amazon.com/https://github.com/aws/aws-auto-scaling-custom-resource).\n + Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: ``arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE``.\n + Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: ``arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE``.\n + Lambda provisioned concurrency - The resource type is ``function`` and the unique identifier is the function name with a function version or alias name suffix that is not ``$LATEST``. Example: ``function:my-function:prod`` or ``function:my-function:1``.\n + Amazon Keyspaces table - The resource type is ``table`` and the unique identifier is the table name. Example: ``keyspace/mykeyspace/table/mytable``.\n + Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. Example: ``arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5``.\n + Amazon ElastiCache replication group - The resource type is ``replication-group`` and the unique identifier is the replication group name. Example: ``replication-group/mycluster``.\n + Neptune cluster - The resource type is ``cluster`` and the unique identifier is the cluster name. Example: ``cluster:mycluster``.\n + SageMaker serverless endpoint - The resource type is ``variant`` and the unique identifier is the resource ID. Example: ``endpoint/my-end-point/variant/KMeansClustering``.\n + SageMaker inference component - The resource type is ``inference-component`` and the unique identifier is the resource ID. Example: ``inference-component/my-inference-component``.", + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::MSK::Cluster", + "propertyPath": "/properties/Arn" + } + }, + { + "relationshipRef": { + "typeName": "AWS::ECS::Service", + "propertyPath": "/properties/ServiceArn" + } + } + ], + "type": "string", + "markdownDescription": "The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.\n + ECS service - The resource type is ``service`` and the unique identifier is the cluster name and service name. Example: ``service/my-cluster/my-service``.\n + Spot Fleet - The resource type is ``spot-fleet-request`` and the unique identifier is the Spot Fleet request ID. Example: ``spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE``.\n + EMR cluster - The resource type is ``instancegroup`` and the unique identifier is the cluster ID and instance group ID. Example: ``instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0``.\n + AppStream 2.0 fleet - The resource type is ``fleet`` and the unique identifier is the fleet name. Example: ``fleet/sample-fleet``.\n + DynamoDB table - The resource type is ``table`` and the unique identifier is the table name. Example: ``table/my-table``.\n + DynamoDB global secondary index - The resource type is ``index`` and the unique identifier is the index name. Example: ``table/my-table/index/my-table-index``.\n + Aurora DB cluster - The resource type is ``cluster`` and the unique identifier is the cluster name. Example: ``cluster:my-db-cluster``.\n + SageMaker endpoint variant - The resource type is ``variant`` and the unique identifier is the resource ID. Example: ``endpoint/my-end-point/variant/KMeansClustering``.\n + Custom resources are not supported with a resource type. This parameter must specify the ``OutputValue`` from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our [GitHub repository](https://docs.aws.amazon.com/https://github.com/aws/aws-auto-scaling-custom-resource).\n + Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: ``arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE``.\n + Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: ``arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE``.\n + Lambda provisioned concurrency - The resource type is ``function`` and the unique identifier is the function name with a function version or alias name suffix that is not ``$LATEST``. Example: ``function:my-function:prod`` or ``function:my-function:1``.\n + Amazon Keyspaces table - The resource type is ``table`` and the unique identifier is the table name. Example: ``keyspace/mykeyspace/table/mytable``.\n + Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN. Example: ``arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5``.\n + Amazon ElastiCache replication group - The resource type is ``replication-group`` and the unique identifier is the replication group name. Example: ``replication-group/mycluster``.\n + Neptune cluster - The resource type is ``cluster`` and the unique identifier is the cluster name. Example: ``cluster:mycluster``.\n + SageMaker serverless endpoint - The resource type is ``variant`` and the unique identifier is the resource ID. Example: ``endpoint/my-end-point/variant/KMeansClustering``.\n + SageMaker inference component - The resource type is ``inference-component`` and the unique identifier is the resource ID. Example: ``inference-component/my-inference-component``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, "ServiceNamespace": { - "description": "The namespace of the AWS service that provides the resource, or a custom-resource", + "description": "The namespace of the AWS service that provides the resource, or a ``custom-resource``.", + "type": "string", + "markdownDescription": "The namespace of the AWS service that provides the resource, or a ``custom-resource``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "ScalableDimension": { + "description": "The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.\n + ``ecs:service:DesiredCount`` - The desired task count of an ECS service.\n + ``elasticmapreduce:instancegroup:InstanceCount`` - The instance count of an EMR Instance Group.\n + ``ec2:spot-fleet-request:TargetCapacity`` - The target capacity of a Spot Fleet.\n + ``appstream:fleet:DesiredCapacity`` - The desired capacity of an AppStream 2.0 fleet.\n + ``dynamodb:table:ReadCapacityUnits`` - The provisioned read capacity for a DynamoDB table.\n + ``dynamodb:table:WriteCapacityUnits`` - The provisioned write capacity for a DynamoDB table.\n + ``dynamodb:index:ReadCapacityUnits`` - The provisioned read capacity for a DynamoDB global secondary index.\n + ``dynamodb:index:WriteCapacityUnits`` - The provisioned write capacity for a DynamoDB global secondary index.\n + ``rds:cluster:ReadReplicaCount`` - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.\n + ``sagemaker:variant:DesiredInstanceCount`` - The number of EC2 instances for a SageMaker model endpoint variant.\n + ``custom-resource:ResourceType:Property`` - The scalable dimension for a custom resource provided by your own application or service.\n + ``comprehend:document-classifier-endpoint:DesiredInferenceUnits`` - The number of inference units for an Amazon Comprehend document classification endpoint.\n + ``comprehend:entity-recognizer-endpoint:DesiredInferenceUnits`` - The number of inference units for an Amazon Comprehend entity recognizer endpoint.\n + ``lambda:function:ProvisionedConcurrency`` - The provisioned concurrency for a Lambda function.\n + ``cassandra:table:ReadCapacityUnits`` - The provisioned read capacity for an Amazon Keyspaces table.\n + ``cassandra:table:WriteCapacityUnits`` - The provisioned write capacity for an Amazon Keyspaces table.\n + ``kafka:broker-storage:VolumeSize`` - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.\n + ``elasticache:replication-group:NodeGroups`` - The number of node groups for an Amazon ElastiCache replication group.\n + ``elasticache:replication-group:Replicas`` - The number of replicas per node group for an Amazon ElastiCache replication group.\n + ``neptune:cluster:ReadReplicaCount`` - The count of read replicas in an Amazon Neptune DB cluster.\n + ``sagemaker:variant:DesiredProvisionedConcurrency`` - The provisioned concurrency for a SageMaker serverless endpoint.\n + ``sagemaker:inference-component:DesiredCopyCount`` - The number of copies across an endpoint for a SageMaker inference component.", "type": "string", - "markdownDescription": "The namespace of the AWS service that provides the resource, or a custom-resource\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.\n + ``ecs:service:DesiredCount`` - The desired task count of an ECS service.\n + ``elasticmapreduce:instancegroup:InstanceCount`` - The instance count of an EMR Instance Group.\n + ``ec2:spot-fleet-request:TargetCapacity`` - The target capacity of a Spot Fleet.\n + ``appstream:fleet:DesiredCapacity`` - The desired capacity of an AppStream 2.0 fleet.\n + ``dynamodb:table:ReadCapacityUnits`` - The provisioned read capacity for a DynamoDB table.\n + ``dynamodb:table:WriteCapacityUnits`` - The provisioned write capacity for a DynamoDB table.\n + ``dynamodb:index:ReadCapacityUnits`` - The provisioned read capacity for a DynamoDB global secondary index.\n + ``dynamodb:index:WriteCapacityUnits`` - The provisioned write capacity for a DynamoDB global secondary index.\n + ``rds:cluster:ReadReplicaCount`` - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.\n + ``sagemaker:variant:DesiredInstanceCount`` - The number of EC2 instances for a SageMaker model endpoint variant.\n + ``custom-resource:ResourceType:Property`` - The scalable dimension for a custom resource provided by your own application or service.\n + ``comprehend:document-classifier-endpoint:DesiredInferenceUnits`` - The number of inference units for an Amazon Comprehend document classification endpoint.\n + ``comprehend:entity-recognizer-endpoint:DesiredInferenceUnits`` - The number of inference units for an Amazon Comprehend entity recognizer endpoint.\n + ``lambda:function:ProvisionedConcurrency`` - The provisioned concurrency for a Lambda function.\n + ``cassandra:table:ReadCapacityUnits`` - The provisioned read capacity for an Amazon Keyspaces table.\n + ``cassandra:table:WriteCapacityUnits`` - The provisioned write capacity for an Amazon Keyspaces table.\n + ``kafka:broker-storage:VolumeSize`` - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.\n + ``elasticache:replication-group:NodeGroups`` - The number of node groups for an Amazon ElastiCache replication group.\n + ``elasticache:replication-group:Replicas`` - The number of replicas per node group for an Amazon ElastiCache replication group.\n + ``neptune:cluster:ReadReplicaCount`` - The count of read replicas in an Amazon Neptune DB cluster.\n + ``sagemaker:variant:DesiredProvisionedConcurrency`` - The provisioned concurrency for a SageMaker serverless endpoint.\n + ``sagemaker:inference-component:DesiredCopyCount`` - The number of copies across an endpoint for a SageMaker inference component.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "SuspendedState": { - "description": "An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling. Setting the value of an attribute to true suspends the specified scaling activities. Setting it to false (default) resumes the specified scaling activities.", + "description": "An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling. Setting the value of an attribute to ``true`` suspends the specified scaling activities. Setting it to ``false`` (default) resumes the specified scaling activities. \n *Suspension Outcomes* \n + For ``DynamicScalingInSuspended``, while a suspension is in effect, all scale-in activities that are triggered by a scaling policy are suspended.\n + For ``DynamicScalingOutSuspended``, while a suspension is in effect, all scale-out activities that are triggered by a scaling policy are suspended.\n + For ``ScheduledScalingSuspended``, while a suspension is in effect, all scaling activities that involve scheduled actions are suspended.", "$ref": "#/definitions/SuspendedState", - "markdownDescription": "An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling. Setting the value of an attribute to true suspends the specified scaling activities. Setting it to false (default) resumes the specified scaling activities.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "required": [ - "ResourceId", - "ServiceNamespace", - "ScalableDimension", - "MinCapacity", - "MaxCapacity" - ], - "createOnlyProperties": [ - "/properties/ResourceId", - "/properties/ScalableDimension", - "/properties/ServiceNamespace" - ], - "primaryIdentifier": [ - "/properties/ResourceId", - "/properties/ScalableDimension", - "/properties/ServiceNamespace" - ], - "readOnlyProperties": [ - "/properties/Id" - ], - "writeOnlyProperties": [ - "/properties/RoleARN" - ], - "tagging": { - "taggable": false, - "tagOnCreate": false, - "tagUpdatable": false, - "cloudFormationSystemTags": false - }, - "handlers": { - "create": { - "permissions": [ - "application-autoscaling:DescribeScalableTargets", - "application-autoscaling:RegisterScalableTarget", - "application-autoscaling:DescribeScheduledActions", - "application-autoscaling:PutScheduledAction", - "iam:PassRole", - "iam:CreateServiceLinkedRole", - "cloudwatch:PutMetricAlarm", - "cloudwatch:DeleteAlarms", - "cloudwatch:DescribeAlarms", - "lambda:GetProvisionedConcurrencyConfig", - "lambda:PutProvisionedConcurrencyConfig", - "lambda:DeleteProvisionedConcurrencyConfig" - ] - }, - "read": { - "permissions": [ - "application-autoscaling:DescribeScalableTargets", - "application-autoscaling:DescribeScheduledActions" - ] + "markdownDescription": "An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling. Setting the value of an attribute to ``true`` suspends the specified scaling activities. Setting it to ``false`` (default) resumes the specified scaling activities. \n *Suspension Outcomes* \n + For ``DynamicScalingInSuspended``, while a suspension is in effect, all scale-in activities that are triggered by a scaling policy are suspended.\n + For ``DynamicScalingOutSuspended``, while a suspension is in effect, all scale-out activities that are triggered by a scaling policy are suspended.\n + For ``ScheduledScalingSuspended``, while a suspension is in effect, all scaling activities that involve scheduled actions are suspended.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "list": { - "permissions": [ - "application-autoscaling:DescribeScalableTargets" - ] + "MinCapacity": { + "description": "The minimum value that you plan to scale in to. When a scaling policy is in effect, Application Auto Scaling can scale in (contract) as needed to the minimum capacity limit in response to changing demand.", + "type": "integer", + "markdownDescription": "The minimum value that you plan to scale in to. When a scaling policy is in effect, Application Auto Scaling can scale in (contract) as needed to the minimum capacity limit in response to changing demand.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, - "update": { - "permissions": [ - "application-autoscaling:RegisterScalableTarget", - "application-autoscaling:DescribeScalableTargets", - "application-autoscaling:DescribeScheduledActions", - "application-autoscaling:DeleteScheduledAction", - "application-autoscaling:PutScheduledAction", - "cloudwatch:PutMetricAlarm", - "cloudwatch:DeleteAlarms", - "cloudwatch:DescribeAlarms", - "lambda:GetProvisionedConcurrencyConfig", - "lambda:PutProvisionedConcurrencyConfig", - "lambda:DeleteProvisionedConcurrencyConfig" - ] + "RoleARN": { + "description": "Specify the Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that allows Application Auto Scaling to modify the scalable target on your behalf. This can be either an IAM service role that Application Auto Scaling can assume to make calls to other AWS resources on your behalf, or a service-linked role for the specified service. For more information, see [How Application Auto Scaling works with IAM](https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html) in the *Application Auto Scaling User Guide*.\n To automatically create a service-linked role (recommended), specify the full ARN of the service-linked role in your stack template. To find the exact ARN of the service-linked role for your AWS or custom resource, see the [Service-linked roles](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html) topic in the *Application Auto Scaling User Guide*. Look for the ARN in the table at the bottom of the page.", + "type": "string", + "markdownDescription": "Specify the Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that allows Application Auto Scaling to modify the scalable target on your behalf. This can be either an IAM service role that Application Auto Scaling can assume to make calls to other AWS resources on your behalf, or a service-linked role for the specified service. For more information, see [How Application Auto Scaling works with IAM](https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html) in the *Application Auto Scaling User Guide*.\n To automatically create a service-linked role (recommended), specify the full ARN of the service-linked role in your stack template. To find the exact ARN of the service-linked role for your AWS or custom resource, see the [Service-linked roles](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html) topic in the *Application Auto Scaling User Guide*. Look for the ARN in the table at the bottom of the page.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "application-autoscaling:DeregisterScalableTarget" - ] + "MaxCapacity": { + "description": "The maximum value that you plan to scale out to. When a scaling policy is in effect, Application Auto Scaling can scale out (expand) as needed to the maximum capacity limit in response to changing demand.", + "type": "integer", + "markdownDescription": "The maximum value that you plan to scale out to. When a scaling policy is in effect, Application Auto Scaling can scale out (expand) as needed to the maximum capacity limit in response to changing demand.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, "attributes": { "Id": { - "description": "This value can be returned by using the Ref function. Ref returns the Cloudformation generated ID of the resource in format - ResourceId|ScalableDimension|ServiceNamespace", + "description": "", "type": "string", - "markdownDescription": "This value can be returned by using the Ref function. Ref returns the Cloudformation generated ID of the resource in format - ResourceId|ScalableDimension|ServiceNamespace\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-applicationsignals-servicelevelobjective.json b/server/schema/resources/aws-applicationsignals-servicelevelobjective.json new file mode 100644 index 00000000..35b69764 --- /dev/null +++ b/server/schema/resources/aws-applicationsignals-servicelevelobjective.json @@ -0,0 +1,459 @@ +{ + "typeName": "AWS::ApplicationSignals::ServiceLevelObjective", + "description": "Resource Type definition for AWS::ApplicationSignals::ServiceLevelObjective", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-applicationsignals", + "additionalProperties": false, + "properties": { + "Name": { + "description": "The name of this SLO.", + "type": "string", + "markdownDescription": "The name of this SLO.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[0-9A-Za-z][-._0-9A-Za-z ]{0,126}[0-9A-Za-z]$ \nUpdate requires: Replacement" + }, + "Description": { + "description": "An optional description for this SLO. Default is 'No description'", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "default": "No description", + "markdownDescription": "An optional description for this SLO. Default is 'No description'\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "Sli": { + "$ref": "#/definitions/Sli" + }, + "Goal": { + "$ref": "#/definitions/Goal" + }, + "Tags": { + "$ref": "#/definitions/Tags" + } + }, + "required": [ + "Name", + "Sli" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedTime", + "/properties/LastUpdatedTime" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "Sli": { + "description": "This structure contains information about the performance metric that an SLO monitors.", + "type": "object", + "additionalProperties": false, + "properties": { + "SliMetric": { + "$ref": "#/definitions/SliMetric" + }, + "MetricThreshold": { + "description": "The value that the SLI metric is compared to.", + "type": "number", + "markdownDescription": "The value that the SLI metric is compared to.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "ComparisonOperator": { + "description": "The arithmetic operation used when comparing the specified metric to the threshold.", + "type": "string", + "enum": [ + "GreaterThanOrEqualTo", + "LessThanOrEqualTo", + "LessThan", + "GreaterThan" + ], + "markdownDescription": "The arithmetic operation used when comparing the specified metric to the threshold.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: GreaterThanOrEqualTo | LessThanOrEqualTo | LessThan | GreaterThan \nUpdate requires: No interruption" + } + }, + "required": [ + "SliMetric", + "MetricThreshold", + "ComparisonOperator" + ], + "markdownDescription": "This structure contains information about the performance metric that an SLO monitors.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Goal": { + "description": "A structure that contains the attributes that determine the goal of the SLO. This includes the time period for evaluation and the attainment threshold.", + "type": "object", + "additionalProperties": false, + "properties": { + "Interval": { + "$ref": "#/definitions/Interval" + }, + "AttainmentGoal": { + "description": "The threshold that determines if the goal is being met. An attainment goal is the ratio of good periods that meet the threshold requirements to the total periods within the interval. For example, an attainment goal of 99.9% means that within your interval, you are targeting 99.9% of the periods to be in healthy state.\nIf you omit this parameter, 99 is used to represent 99% as the attainment goal.", + "type": "number", + "markdownDescription": "The threshold that determines if the goal is being met. An attainment goal is the ratio of good periods that meet the threshold requirements to the total periods within the interval. For example, an attainment goal of 99.9% means that within your interval, you are targeting 99.9% of the periods to be in healthy state.\nIf you omit this parameter, 99 is used to represent 99% as the attainment goal.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "WarningThreshold": { + "description": "The percentage of remaining budget over total budget that you want to get warnings for. If you omit this parameter, the default of 50.0 is used.", + "type": "number", + "markdownDescription": "The percentage of remaining budget over total budget that you want to get warnings for. If you omit this parameter, the default of 50.0 is used.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A structure that contains the attributes that determine the goal of the SLO. This includes the time period for evaluation and the attainment threshold.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SliMetric": { + "description": "A structure that contains information about the metric that the SLO monitors.", + "type": "object", + "additionalProperties": false, + "properties": { + "KeyAttributes": { + "$ref": "#/definitions/KeyAttributes" + }, + "OperationName": { + "description": "If the SLO monitors a specific operation of the service, this field displays that operation name.", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "If the SLO monitors a specific operation of the service, this field displays that operation name.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "MetricType": { + "description": "If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used.", + "type": "string", + "enum": [ + "LATENCY", + "AVAILABILITY" + ], + "markdownDescription": "If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used.\n\n---\n\nRequired: No \nType: String \nAllowed Values: LATENCY | AVAILABILITY \nUpdate requires: No interruption" + }, + "Statistic": { + "description": "The statistic to use for comparison to the threshold. It can be any CloudWatch statistic or extended statistic", + "type": "string", + "minLength": 1, + "maxLength": 20, + "markdownDescription": "The statistic to use for comparison to the threshold. It can be any CloudWatch statistic or extended statistic\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 20 \nUpdate requires: No interruption" + }, + "PeriodSeconds": { + "description": "The number of seconds to use as the period for SLO evaluation. Your application's performance is compared to the SLI during each period. For each period, the application is determined to have either achieved or not achieved the necessary performance.", + "type": "integer", + "minimum": 60, + "maximum": 900, + "markdownDescription": "The number of seconds to use as the period for SLO evaluation. Your application's performance is compared to the SLI during each period. For each period, the application is determined to have either achieved or not achieved the necessary performance.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MetricDataQueries": { + "$ref": "#/definitions/MetricDataQueries" + } + }, + "markdownDescription": "A structure that contains information about the metric that the SLO monitors.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "KeyAttributes": { + "description": "This is a string-to-string map that contains information about the type of object that this SLO is related to.", + "patternProperties": { + "^.+$": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "This is a string-to-string map that contains information about the type of object that this SLO is related to.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Interval": { + "description": "The time period used to evaluate the SLO. It can be either a calendar interval or rolling interval.\nIf you omit this parameter, a rolling interval of 7 days is used.", + "type": "object", + "additionalProperties": false, + "properties": { + "RollingInterval": { + "$ref": "#/definitions/RollingInterval" + }, + "CalendarInterval": { + "$ref": "#/definitions/CalendarInterval" + } + }, + "markdownDescription": "The time period used to evaluate the SLO. It can be either a calendar interval or rolling interval.\nIf you omit this parameter, a rolling interval of 7 days is used.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RollingInterval": { + "description": "If the interval is a calendar interval, this structure contains the interval specifications.", + "type": "object", + "additionalProperties": false, + "properties": { + "DurationUnit": { + "$ref": "#/definitions/DurationUnit" + }, + "Duration": { + "$ref": "#/definitions/Duration" + } + }, + "required": [ + "DurationUnit", + "Duration" + ], + "markdownDescription": "If the interval is a calendar interval, this structure contains the interval specifications.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CalendarInterval": { + "description": "If the interval for this service level objective is a calendar interval, this structure contains the interval specifications.", + "type": "object", + "additionalProperties": false, + "properties": { + "StartTime": { + "type": "integer", + "description": "Epoch time in seconds you want the first interval to start. Be sure to choose a time that configures the intervals the way that you want. For example, if you want weekly intervals starting on Mondays at 6 a.m., be sure to specify a start time that is a Monday at 6 a.m.\nAs soon as one calendar interval ends, another automatically begins.", + "minimum": 946684800, + "markdownDescription": "Epoch time in seconds you want the first interval to start. Be sure to choose a time that configures the intervals the way that you want. For example, if you want weekly intervals starting on Mondays at 6 a.m., be sure to specify a start time that is a Monday at 6 a.m.\nAs soon as one calendar interval ends, another automatically begins.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "DurationUnit": { + "$ref": "#/definitions/DurationUnit" + }, + "Duration": { + "$ref": "#/definitions/Duration" + } + }, + "required": [ + "StartTime", + "DurationUnit", + "Duration" + ], + "markdownDescription": "If the interval for this service level objective is a calendar interval, this structure contains the interval specifications.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DurationUnit": { + "description": "Specifies the calendar interval unit.", + "type": "string", + "enum": [ + "DAY", + "MONTH" + ], + "markdownDescription": "Specifies the calendar interval unit.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DAY | MONTH \nUpdate requires: No interruption" + }, + "Duration": { + "description": "Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.", + "type": "integer", + "minimum": 1, + "markdownDescription": "Specifies the duration of each calendar interval. For example, if `Duration` is 1 and `DurationUnit` is `MONTH`, each interval is one month, aligned with the calendar.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MetricDataQueries": { + "description": "If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric math expression, this structure includes the information about that metric or expression.", + "type": "array", + "uniqueItems": false, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/MetricDataQuery" + }, + "markdownDescription": "If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric math expression, this structure includes the information about that metric or expression.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "MetricDataQuery": { + "description": "Use this structure to define a metric or metric math expression that you want to use as for a service level objective.\nEach `MetricDataQuery` in the `MetricDataQueries` array specifies either a metric to retrieve, or a metric math expression to be performed on retrieved metrics. A single `MetricDataQueries` array can include as many as 20 `MetricDataQuery` structures in the array. The 20 structures can include as many as 10 structures that contain a `MetricStat` parameter to retrieve a metric, and as many as 10 structures that contain the `Expression` parameter to perform a math expression. Of those Expression structures, exactly one must have true as the value for `ReturnData`. The result of this expression used for the SLO.", + "type": "object", + "additionalProperties": false, + "properties": { + "MetricStat": { + "description": "A metric to be used directly for the SLO, or to be used in the math expression that will be used for the SLO. Within one MetricDataQuery, you must specify either Expression or MetricStat but not both.", + "$ref": "#/definitions/MetricStat", + "markdownDescription": "A metric to be used directly for the SLO, or to be used in the math expression that will be used for the SLO. Within one MetricDataQuery, 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 used to tie this object to the results in the response.", + "type": "string", + "markdownDescription": "A short name used to tie this object to the results in the response.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ReturnData": { + "description": "This option indicates whether to return the timestamps and raw data values of this metric.", + "type": "boolean", + "markdownDescription": "This option indicates whether to return the timestamps and raw data values of this metric.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Expression": { + "description": "The math expression to be performed on the returned data.", + "type": "string", + "markdownDescription": "The math expression to be performed on the returned data.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AccountId": { + "description": "The ID of the account where the metrics are located, if this is a cross-account alarm.", + "type": "string", + "markdownDescription": "The ID of the account where the metrics are located, if this is a cross-account alarm.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Id" + ], + "markdownDescription": "Use this structure to define a metric or metric math expression that you want to use as for a service level objective.\nEach `MetricDataQuery` in the `MetricDataQueries` array specifies either a metric to retrieve, or a metric math expression to be performed on retrieved metrics. A single `MetricDataQueries` array can include as many as 20 `MetricDataQuery` structures in the array. The 20 structures can include as many as 10 structures that contain a `MetricStat` parameter to retrieve a metric, and as many as 10 structures that contain the `Expression` parameter to perform a math expression. Of those Expression structures, exactly one must have true as the value for `ReturnData`. The result of this expression used for the SLO.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MetricStat": { + "description": "A metric to be used directly for the SLO, or to be used in the math expression that will be used for the SLO. Within one MetricDataQuery object, you must specify either Expression or MetricStat but not both.", + "type": "object", + "additionalProperties": false, + "properties": { + "Period": { + "description": "The granularity, in seconds, to be used for the metric.", + "type": "integer", + "markdownDescription": "The granularity, in seconds, to be used for the metric.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "Metric": { + "$ref": "#/definitions/Metric" + }, + "Stat": { + "description": "The statistic to use for comparison to the threshold. It can be any CloudWatch statistic or extended statistic.", + "type": "string", + "markdownDescription": "The statistic to use for comparison to the threshold. It can be any CloudWatch statistic or extended statistic.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Unit": { + "description": "If you omit Unit then all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.", + "type": "string", + "markdownDescription": "If you omit Unit then all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Stat", + "Period", + "Metric" + ], + "markdownDescription": "A metric to be used directly for the SLO, or to be used in the math expression that will be used for the SLO. Within one MetricDataQuery object, you must specify either Expression or MetricStat but not both.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Metric": { + "description": "This structure defines the metric used for a service level indicator, including the metric name, namespace, and dimensions.", + "type": "object", + "additionalProperties": false, + "properties": { + "MetricName": { + "description": "The name of the metric to use.", + "type": "string", + "markdownDescription": "The name of the metric to use.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Dimensions": { + "description": "An array of one or more dimensions to use to define the metric that you want to use.", + "type": "array", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Dimension" + }, + "markdownDescription": "An array of one or more dimensions to use to define the metric that you want to use.\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": "This structure defines the metric used for a service level indicator, including the metric name, namespace, and dimensions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Dimension": { + "description": "A dimension is a name/value pair that is part of the identity of a metric. Because dimensions are part of the unique identifier for a metric, whenever you add a unique name/value pair to one of your metrics, you are creating a new variation of that metric. For example, many Amazon EC2 metrics publish `InstanceId` as a dimension name, and the actual instance ID as the value for that dimension. You can assign up to 30 dimensions to a metric.", + "type": "object", + "additionalProperties": false, + "properties": { + "Value": { + "description": "The value of the dimension. Dimension values must contain only ASCII characters and must include at least one non-whitespace character. ASCII control characters are not supported as part of dimension values", + "type": "string", + "markdownDescription": "The value of the dimension. Dimension values must contain only ASCII characters and must include at least one non-whitespace character. ASCII control characters are not supported as part of dimension values\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Name": { + "description": "The name of the dimension. Dimension names must contain only ASCII characters, must include at least one non-whitespace character, and cannot start with a colon (:). ASCII control characters are not supported as part of dimension names.", + "type": "string", + "markdownDescription": "The name of the dimension. Dimension names must contain only ASCII characters, must include at least one non-whitespace character, and cannot start with a colon (:). ASCII control characters are not supported as part of dimension names.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Name" + ], + "markdownDescription": "A dimension is a name/value pair that is part of the identity of a metric. Because dimensions are part of the unique identifier for a metric, whenever you add a unique name/value pair to one of your metrics, you are creating a new variation of that metric. For example, many Amazon EC2 metrics publish `InstanceId` as a dimension name, and the actual instance ID as the value for that dimension. You can assign up to 30 dimensions to a metric.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tags": { + "description": "The list of tag keys and values associated with the resource you specified", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "minItems": 1, + "maxItems": 200, + "markdownDescription": "The list of tag keys and values associated with the resource you specified\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "additionalProperties": false, + "properties": { + "Key": { + "type": "string", + "description": "A string that you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "A string that you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.\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 specified tag key.", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the specified tag key.\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" + } + }, + "handlers": { + "create": { + "permissions": [ + "application-signals:CreateServiceLevelObjective", + "cloudwatch:GetMetricData", + "application-signals:TagResource", + "application-signals:GetServiceLevelObjective", + "application-signals:ListTagsForResource", + "iam:GetRole", + "iam:CreateServiceLinkedRole" + ] + }, + "read": { + "permissions": [ + "application-signals:GetServiceLevelObjective", + "application-signals:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "application-signals:UpdateServiceLevelObjective", + "cloudwatch:GetMetricData", + "application-signals:TagResource", + "application-signals:UntagResource", + "application-signals:GetServiceLevelObjective", + "application-signals:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "application-signals:DeleteServiceLevelObjective", + "application-signals:UntagResource", + "application-signals:GetServiceLevelObjective" + ] + }, + "list": { + "permissions": [ + "application-signals:ListServiceLevelObjectives", + "application-signals:ListTagsForResource" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags" + }, + "attributes": { + "Arn": { + "description": "The ARN of this SLO.", + "type": "string", + "markdownDescription": "The ARN of this SLO.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[^:]*:application-signals:[^:]*:[^:]*:slo\\/[0-9A-Za-z][-._0-9A-Za-z ]{0,126}[0-9A-Za-z]$ \nUpdate requires: No interruption" + }, + "CreatedTime": { + "type": "integer", + "description": "Epoch time in seconds of the time that this SLO was created", + "minimum": 946684800, + "markdownDescription": "Epoch time in seconds of the time that this SLO was created\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "LastUpdatedTime": { + "type": "integer", + "description": "Epoch time in seconds of the time that this SLO was most recently updated", + "minimum": 946684800, + "markdownDescription": "Epoch time in seconds of the time that this SLO was most recently updated\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-apptest-testcase.json b/server/schema/resources/aws-apptest-testcase.json new file mode 100644 index 00000000..68b29886 --- /dev/null +++ b/server/schema/resources/aws-apptest-testcase.json @@ -0,0 +1,760 @@ +{ + "typeName": "AWS::AppTest::TestCase", + "description": "Represents a Test Case that can be captured and executed", + "definitions": { + "Batch": { + "type": "object", + "properties": { + "BatchJobName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^\\S{1,1000}$ \nUpdate requires: No interruption" + }, + "BatchJobParameters": { + "$ref": "#/definitions/BatchJobParameters" + }, + "ExportDataSetNames": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^\\S{1,100}$ \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "BatchJobName" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "BatchJobParameters": { + "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" + }, + "CaptureTool": { + "type": "string", + "enum": [ + "Precisely", + "AWS DMS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Precisely | AWS DMS \nUpdate requires: No interruption" + }, + "CloudFormationAction": { + "type": "object", + "properties": { + "Resource": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^\\S{1,1000}$ \nUpdate requires: No interruption" + }, + "ActionType": { + "$ref": "#/definitions/CloudFormationActionType" + } + }, + "required": [ + "Resource" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CloudFormationActionType": { + "type": "string", + "enum": [ + "Create", + "Delete" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Create | Delete \nUpdate requires: No interruption" + }, + "CompareAction": { + "type": "object", + "properties": { + "Input": { + "$ref": "#/definitions/Input" + }, + "Output": { + "$ref": "#/definitions/Output" + } + }, + "required": [ + "Input" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataSet": { + "type": "object", + "properties": { + "Type": { + "$ref": "#/definitions/DataSetType" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^\\S{1,100}$ \nUpdate requires: No interruption" + }, + "Ccsid": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^\\S{1,50}$ \nUpdate requires: No interruption" + }, + "Format": { + "$ref": "#/definitions/Format" + }, + "Length": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + } + }, + "required": [ + "Ccsid", + "Format", + "Length", + "Name", + "Type" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataSetType": { + "type": "string", + "enum": [ + "PS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PS \nUpdate requires: No interruption" + }, + "DatabaseCDC": { + "type": "object", + "properties": { + "SourceMetadata": { + "$ref": "#/definitions/SourceDatabaseMetadata" + }, + "TargetMetadata": { + "$ref": "#/definitions/TargetDatabaseMetadata" + } + }, + "required": [ + "SourceMetadata", + "TargetMetadata" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "FileMetadata": { + "oneOf": [ + { + "type": "object", + "title": "DataSets", + "properties": { + "DataSets": { + "type": "array", + "items": { + "$ref": "#/definitions/DataSet" + } + } + }, + "required": [ + "DataSets" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "DatabaseCDC", + "properties": { + "DatabaseCDC": { + "$ref": "#/definitions/DatabaseCDC" + } + }, + "required": [ + "DatabaseCDC" + ], + "additionalProperties": false + } + ] + }, + "Format": { + "type": "string", + "enum": [ + "FIXED", + "VARIABLE", + "LINE_SEQUENTIAL" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: FIXED | VARIABLE | LINE_SEQUENTIAL \nUpdate requires: No interruption" + }, + "Input": { + "oneOf": [ + { + "type": "object", + "title": "File", + "properties": { + "File": { + "$ref": "#/definitions/InputFile" + } + }, + "required": [ + "File" + ], + "additionalProperties": false + } + ] + }, + "InputFile": { + "type": "object", + "properties": { + "SourceLocation": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^\\S{1,1000}$ \nUpdate requires: No interruption" + }, + "TargetLocation": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^\\S{1,1000}$ \nUpdate requires: No interruption" + }, + "FileMetadata": { + "$ref": "#/definitions/FileMetadata" + } + }, + "required": [ + "FileMetadata", + "SourceLocation", + "TargetLocation" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "M2ManagedActionProperties": { + "type": "object", + "properties": { + "ForceStop": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ImportDataSetLocation": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^\\S{1,1000}$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "M2ManagedActionType": { + "type": "string", + "enum": [ + "Configure", + "Deconfigure" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Configure | Deconfigure \nUpdate requires: No interruption" + }, + "M2ManagedApplicationAction": { + "type": "object", + "properties": { + "Resource": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^\\S{1,1000}$ \nUpdate requires: No interruption" + }, + "ActionType": { + "$ref": "#/definitions/M2ManagedActionType" + }, + "Properties": { + "$ref": "#/definitions/M2ManagedActionProperties" + } + }, + "required": [ + "ActionType", + "Resource" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "M2NonManagedActionType": { + "type": "string", + "enum": [ + "Configure", + "Deconfigure" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Configure | Deconfigure \nUpdate requires: No interruption" + }, + "M2NonManagedApplicationAction": { + "type": "object", + "properties": { + "Resource": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^\\S{1,1000}$ \nUpdate requires: No interruption" + }, + "ActionType": { + "$ref": "#/definitions/M2NonManagedActionType" + } + }, + "required": [ + "ActionType", + "Resource" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MainframeAction": { + "type": "object", + "properties": { + "Resource": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^\\S{1,1000}$ \nUpdate requires: No interruption" + }, + "ActionType": { + "$ref": "#/definitions/MainframeActionType" + }, + "Properties": { + "$ref": "#/definitions/MainframeActionProperties" + } + }, + "required": [ + "ActionType", + "Resource" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MainframeActionProperties": { + "type": "object", + "properties": { + "DmsTaskArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^\\S{1,1000}$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MainframeActionType": { + "oneOf": [ + { + "type": "object", + "title": "Batch", + "properties": { + "Batch": { + "$ref": "#/definitions/Batch" + } + }, + "required": [ + "Batch" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "Tn3270", + "properties": { + "Tn3270": { + "$ref": "#/definitions/TN3270" + } + }, + "required": [ + "Tn3270" + ], + "additionalProperties": false + } + ] + }, + "Output": { + "oneOf": [ + { + "type": "object", + "title": "File", + "properties": { + "File": { + "$ref": "#/definitions/OutputFile" + } + }, + "required": [ + "File" + ], + "additionalProperties": false + } + ] + }, + "OutputFile": { + "type": "object", + "properties": { + "FileLocation": { + "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" + }, + "ResourceAction": { + "oneOf": [ + { + "type": "object", + "title": "M2ManagedApplicationAction", + "properties": { + "M2ManagedApplicationAction": { + "$ref": "#/definitions/M2ManagedApplicationAction" + } + }, + "required": [ + "M2ManagedApplicationAction" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "M2NonManagedApplicationAction", + "properties": { + "M2NonManagedApplicationAction": { + "$ref": "#/definitions/M2NonManagedApplicationAction" + } + }, + "required": [ + "M2NonManagedApplicationAction" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "CloudFormationAction", + "properties": { + "CloudFormationAction": { + "$ref": "#/definitions/CloudFormationAction" + } + }, + "required": [ + "CloudFormationAction" + ], + "additionalProperties": false + } + ] + }, + "Script": { + "type": "object", + "properties": { + "ScriptLocation": { + "type": "string", + "maxLength": 1024, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "Type": { + "$ref": "#/definitions/ScriptType" + } + }, + "required": [ + "ScriptLocation", + "Type" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ScriptType": { + "type": "string", + "enum": [ + "Selenium" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Selenium \nUpdate requires: No interruption" + }, + "SourceDatabase": { + "type": "string", + "enum": [ + "z/OS-DB2" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: z/OS-DB2 \nUpdate requires: No interruption" + }, + "SourceDatabaseMetadata": { + "type": "object", + "properties": { + "Type": { + "$ref": "#/definitions/SourceDatabase" + }, + "CaptureTool": { + "$ref": "#/definitions/CaptureTool" + } + }, + "required": [ + "CaptureTool", + "Type" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Step": { + "type": "object", + "properties": { + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[A-Za-z][A-Za-z0-9_\\-]{1,59}$ \nUpdate requires: No interruption" + }, + "Description": { + "type": "string", + "maxLength": 1000, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1000 \nUpdate requires: No interruption" + }, + "Action": { + "$ref": "#/definitions/StepAction" + } + }, + "required": [ + "Action", + "Name" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StepAction": { + "oneOf": [ + { + "type": "object", + "title": "ResourceAction", + "properties": { + "ResourceAction": { + "$ref": "#/definitions/ResourceAction" + } + }, + "required": [ + "ResourceAction" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "MainframeAction", + "properties": { + "MainframeAction": { + "$ref": "#/definitions/MainframeAction" + } + }, + "required": [ + "MainframeAction" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "CompareAction", + "properties": { + "CompareAction": { + "$ref": "#/definitions/CompareAction" + } + }, + "required": [ + "CompareAction" + ], + "additionalProperties": false + } + ] + }, + "TN3270": { + "type": "object", + "properties": { + "Script": { + "$ref": "#/definitions/Script" + }, + "ExportDataSetNames": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^\\S{1,100}$ \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Script" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TagMap": { + "type": "object", + "maxProperties": 200, + "minProperties": 0, + "patternProperties": { + "^(?!aws:).+$": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TargetDatabase": { + "type": "string", + "enum": [ + "PostgreSQL" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PostgreSQL \nUpdate requires: No interruption" + }, + "TargetDatabaseMetadata": { + "type": "object", + "properties": { + "Type": { + "$ref": "#/definitions/TargetDatabase" + }, + "CaptureTool": { + "$ref": "#/definitions/CaptureTool" + } + }, + "required": [ + "CaptureTool", + "Type" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TestCaseLatestVersion": { + "type": "object", + "properties": { + "Version": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "Status": { + "$ref": "#/definitions/TestCaseLifecycle" + } + }, + "required": [ + "Status", + "Version" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TestCaseLifecycle": { + "type": "string", + "enum": [ + "Active", + "Deleting" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Active | Deleting \nUpdate requires: No interruption" + } + }, + "properties": { + "Description": { + "type": "string", + "maxLength": 1000, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1000 \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[A-Za-z][A-Za-z0-9_\\-]{1,59}$ \nUpdate requires: Replacement" + }, + "Steps": { + "type": "array", + "items": { + "$ref": "#/definitions/Step" + }, + "maxItems": 20, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "$ref": "#/definitions/TagMap" + } + }, + "required": [ + "Name", + "Steps" + ], + "readOnlyProperties": [ + "/properties/CreationTime", + "/properties/LastUpdateTime", + "/properties/LatestVersion", + "/properties/Status", + "/properties/TestCaseArn", + "/properties/TestCaseId", + "/properties/TestCaseVersion" + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "primaryIdentifier": [ + "/properties/TestCaseId" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "apptest:TagResource", + "apptest:UntagResource", + "apptest:ListTagsForResource" + ] + }, + "handlers": { + "create": { + "permissions": [ + "apptest:CreateTestCase", + "apptest:GetTestCase", + "apptest:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "apptest:GetTestCase", + "apptest:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "apptest:UpdateTestCase", + "apptest:GetTestCase", + "apptest:TagResource", + "apptest:UnTagResource", + "apptest:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "apptest:GetTestCase", + "apptest:ListTagsForResource", + "apptest:DeleteTestCase" + ] + }, + "list": { + "permissions": [ + "apptest:ListTestCases" + ] + } + }, + "additionalProperties": false, + "attributes": { + "CreationTime": { + "type": "string", + "format": "date-time", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LastUpdateTime": { + "type": "string", + "format": "date-time", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LatestVersion": { + "$ref": "#/definitions/TestCaseLatestVersion" + }, + "Status": { + "$ref": "#/definitions/TestCaseLifecycle" + }, + "TestCaseArn": { + "type": "string", + "markdownDescription": "\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" + }, + "TestCaseId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[A-Za-z0-9:/\\-]{1,100}$ \nUpdate requires: No interruption" + }, + "TestCaseVersion": { + "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-autoscaling-autoscalinggroup.json b/server/schema/resources/aws-autoscaling-autoscalinggroup.json index 7479caba..242ba6b3 100644 --- a/server/schema/resources/aws-autoscaling-autoscalinggroup.json +++ b/server/schema/resources/aws-autoscaling-autoscalinggroup.json @@ -10,7 +10,7 @@ "/properties/NotificationConfiguration" ], "typeName": "AWS::AutoScaling::AutoScalingGroup", - "description": "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. They do not provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2. For more information, see [Launch configurations](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html) and [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*.", + "description": "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*.", "createOnlyProperties": [ "/properties/InstanceId", "/properties/AutoScalingGroupName" @@ -107,7 +107,7 @@ "managed-fleets:Get*", "managed-fleets:DeleteAutoScalingGroup" ], - "timeoutInMinutes": 180 + "timeoutInMinutes": 240 } }, "writeOnlyProperties": [ @@ -144,7 +144,7 @@ "markdownDescription": "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\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LaunchTemplateSpecification": { - "description": "Specifies a launch template to use when provisioning EC2 instances for an Auto Scaling group.\n You must specify the following:\n + The ID or the name of the launch template, but not both.\n + The version of the launch template.\n \n ``LaunchTemplateSpecification`` is property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource. It is also a property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) and [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property types.\n For information about creating a launch template, see [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) and [Create a launch template for an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html) in the *Amazon EC2 Auto Scaling User Guide*.\n For examples of launch templates, see [Auto scaling template snippets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-autoscaling.html) and the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate--examples) section in the ``AWS::EC2::LaunchTemplate`` resource.", + "description": "Specifies a launch template to use when provisioning EC2 instances for an Auto Scaling group.\n You must specify the following:\n + The ID or the name of the launch template, but not both.\n + The version of the launch template.\n \n ``LaunchTemplateSpecification`` is property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource. It is also a property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) and [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property types.\n For information about creating a launch template, see [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) and [Create a launch template for an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html) in the *Amazon EC2 Auto Scaling User Guide*.\n For examples of launch templates, see [Create launch templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ec2-launch-templates.html).", "additionalProperties": false, "type": "object", "properties": { @@ -167,7 +167,7 @@ "required": [ "Version" ], - "markdownDescription": "Specifies a launch template to use when provisioning EC2 instances for an Auto Scaling group.\n You must specify the following:\n + The ID or the name of the launch template, but not both.\n + The version of the launch template.\n \n ``LaunchTemplateSpecification`` is property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource. It is also a property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) and [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property types.\n For information about creating a launch template, see [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) and [Create a launch template for an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html) in the *Amazon EC2 Auto Scaling User Guide*.\n For examples of launch templates, see [Auto scaling template snippets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-autoscaling.html) and the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate--examples) section in the ``AWS::EC2::LaunchTemplate`` resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies a launch template to use when provisioning EC2 instances for an Auto Scaling group.\n You must specify the following:\n + The ID or the name of the launch template, but not both.\n + The version of the launch template.\n \n ``LaunchTemplateSpecification`` is property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource. It is also a property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) and [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property types.\n For information about creating a launch template, see [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) and [Create a launch template for an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html) in the *Amazon EC2 Auto Scaling User Guide*.\n For examples of launch templates, see [Create launch templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ec2-launch-templates.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "InstancesDistribution": { "description": "Use this structure to specify the distribution of On-Demand Instances and Spot Instances and the allocation strategies used to fulfill On-Demand and Spot capacities for a mixed instances policy.\n 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 ``InstancesDistribution`` 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.", @@ -261,9 +261,9 @@ "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 [Configure a notification target for a lifecycle hook](https://docs.aws.amazon.com/autoscaling/ec2/userguide/prepare-for-lifecycle-notifications.html#lifecycle-hook-notification-target) 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.", + "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 [Configure a notification target for a lifecycle hook](https://docs.aws.amazon.com/autoscaling/ec2/userguide/prepare-for-lifecycle-notifications.html#lifecycle-hook-notification-target) 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" + "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": [ @@ -291,7 +291,7 @@ "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" }, "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 [Auto scaling template snippets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-autoscaling.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*.", + "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*.", "additionalProperties": false, "type": "object", "properties": { @@ -309,20 +309,20 @@ }, "NotificationTypes": { "uniqueItems": false, - "description": "A list of event types that send a notification. Event types can include any of the following types. \n *Allowed values*:\n + ``autoscaling:EC2_INSTANCE_LAUNCH`` \n + ``autoscaling:EC2_INSTANCE_LAUNCH_ERROR`` \n + ``autoscaling:EC2_INSTANCE_TERMINATE`` \n + ``autoscaling:EC2_INSTANCE_TERMINATE_ERROR`` \n + ``autoscaling:TEST_NOTIFICATION``", + "description": "A list of event types that send a notification. Event types can include any of the following types. \n *Allowed values*:\n + ``autoscaling:EC2_INSTANCE_LAUNCH`` \n + ``autoscaling:EC2_INSTANCE_LAUNCH_ERROR`` \n + ``autoscaling:EC2_INSTANCE_TERMINATE`` \n + ``autoscaling:EC2_INSTANCE_TERMINATE_ERROR`` \n + ``autoscaling:TEST_NOTIFICATION``", "insertionOrder": false, "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of event types that send a notification. Event types can include any of the following types. \n *Allowed values*:\n + ``autoscaling:EC2_INSTANCE_LAUNCH`` \n + ``autoscaling:EC2_INSTANCE_LAUNCH_ERROR`` \n + ``autoscaling:EC2_INSTANCE_TERMINATE`` \n + ``autoscaling:EC2_INSTANCE_TERMINATE_ERROR`` \n + ``autoscaling:TEST_NOTIFICATION``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of event types that send a notification. Event types can include any of the following types. \n *Allowed values*:\n + ``autoscaling:EC2_INSTANCE_LAUNCH`` \n + ``autoscaling:EC2_INSTANCE_LAUNCH_ERROR`` \n + ``autoscaling:EC2_INSTANCE_TERMINATE`` \n + ``autoscaling:EC2_INSTANCE_TERMINATE_ERROR`` \n + ``autoscaling:TEST_NOTIFICATION``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ "TopicARN" ], - "markdownDescription": "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 [Auto scaling template snippets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-autoscaling.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*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "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*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "MetricsCollection": { "description": "``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.", @@ -331,14 +331,14 @@ "properties": { "Metrics": { "uniqueItems": false, - "description": "Identifies the metrics to enable.\n You can specify one or more of the following metrics:\n + ``GroupMinSize`` \n + ``GroupMaxSize`` \n + ``GroupDesiredCapacity`` \n + ``GroupInServiceInstances`` \n + ``GroupPendingInstances`` \n + ``GroupStandbyInstances`` \n + ``GroupTerminatingInstances`` \n + ``GroupTotalInstances`` \n + ``GroupInServiceCapacity`` \n + ``GroupPendingCapacity`` \n + ``GroupStandbyCapacity`` \n + ``GroupTerminatingCapacity`` \n + ``GroupTotalCapacity`` \n + ``WarmPoolDesiredCapacity`` \n + ``WarmPoolWarmedCapacity`` \n + ``WarmPoolPendingCapacity`` \n + ``WarmPoolTerminatingCapacity`` \n + ``WarmPoolTotalCapacity`` \n + ``GroupAndWarmPoolDesiredCapacity`` \n + ``GroupAndWarmPoolTotalCapacity`` \n \n If you specify ``Granularity`` and don't specify any metrics, all metrics are enabled.\n For more information, see [Auto Scaling group metrics](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html#as-group-metrics) in the *Amazon EC2 Auto Scaling User Guide*.", + "description": "Identifies the metrics to enable.\n You can specify one or more of the following metrics:\n + ``GroupMinSize`` \n + ``GroupMaxSize`` \n + ``GroupDesiredCapacity`` \n + ``GroupInServiceInstances`` \n + ``GroupPendingInstances`` \n + ``GroupStandbyInstances`` \n + ``GroupTerminatingInstances`` \n + ``GroupTotalInstances`` \n + ``GroupInServiceCapacity`` \n + ``GroupPendingCapacity`` \n + ``GroupStandbyCapacity`` \n + ``GroupTerminatingCapacity`` \n + ``GroupTotalCapacity`` \n + ``WarmPoolDesiredCapacity`` \n + ``WarmPoolWarmedCapacity`` \n + ``WarmPoolPendingCapacity`` \n + ``WarmPoolTerminatingCapacity`` \n + ``WarmPoolTotalCapacity`` \n + ``GroupAndWarmPoolDesiredCapacity`` \n + ``GroupAndWarmPoolTotalCapacity`` \n \n If you specify ``Granularity`` and don't specify any metrics, all metrics are enabled.\n For more information, see [Amazon CloudWatch metrics for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-metrics.html) in the *Amazon EC2 Auto Scaling User Guide*.", "insertionOrder": false, "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "Identifies the metrics to enable.\n You can specify one or more of the following metrics:\n + ``GroupMinSize`` \n + ``GroupMaxSize`` \n + ``GroupDesiredCapacity`` \n + ``GroupInServiceInstances`` \n + ``GroupPendingInstances`` \n + ``GroupStandbyInstances`` \n + ``GroupTerminatingInstances`` \n + ``GroupTotalInstances`` \n + ``GroupInServiceCapacity`` \n + ``GroupPendingCapacity`` \n + ``GroupStandbyCapacity`` \n + ``GroupTerminatingCapacity`` \n + ``GroupTotalCapacity`` \n + ``WarmPoolDesiredCapacity`` \n + ``WarmPoolWarmedCapacity`` \n + ``WarmPoolPendingCapacity`` \n + ``WarmPoolTerminatingCapacity`` \n + ``WarmPoolTotalCapacity`` \n + ``GroupAndWarmPoolDesiredCapacity`` \n + ``GroupAndWarmPoolTotalCapacity`` \n \n If you specify ``Granularity`` and don't specify any metrics, all metrics are enabled.\n For more information, see [Auto Scaling group metrics](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html#as-group-metrics) in the *Amazon EC2 Auto Scaling User Guide*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Identifies the metrics to enable.\n You can specify one or more of the following metrics:\n + ``GroupMinSize`` \n + ``GroupMaxSize`` \n + ``GroupDesiredCapacity`` \n + ``GroupInServiceInstances`` \n + ``GroupPendingInstances`` \n + ``GroupStandbyInstances`` \n + ``GroupTerminatingInstances`` \n + ``GroupTotalInstances`` \n + ``GroupInServiceCapacity`` \n + ``GroupPendingCapacity`` \n + ``GroupStandbyCapacity`` \n + ``GroupTerminatingCapacity`` \n + ``GroupTotalCapacity`` \n + ``WarmPoolDesiredCapacity`` \n + ``WarmPoolWarmedCapacity`` \n + ``WarmPoolPendingCapacity`` \n + ``WarmPoolTerminatingCapacity`` \n + ``WarmPoolTotalCapacity`` \n + ``GroupAndWarmPoolDesiredCapacity`` \n + ``GroupAndWarmPoolTotalCapacity`` \n \n If you specify ``Granularity`` and don't specify any metrics, all metrics are enabled.\n For more information, see [Amazon CloudWatch metrics for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-metrics.html) in the *Amazon EC2 Auto Scaling User Guide*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Granularity": { "description": "The frequency at which Amazon EC2 Auto Scaling sends aggregated data to CloudWatch. The only valid value is ``1Minute``.", @@ -532,9 +532,9 @@ "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 Elastic Compute Cloud User Guide*.\n You can specify up to 40 instance types per Auto Scaling group.", + "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 Elastic Compute Cloud User Guide*.\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": "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" @@ -579,7 +579,7 @@ "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" }, "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 [Auto scaling template snippets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-autoscaling.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.", + "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": { @@ -701,9 +701,9 @@ "markdownDescription": "Indicates whether instance types must provide On-Demand Instance hibernation support.\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 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 indicate no price protection threshold, specify a high value, such as ``999999``. \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, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100``.", + "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 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``.", "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 To indicate no price protection threshold, specify a high value, such as ``999999``. \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, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "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" }, "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", @@ -711,9 +711,9 @@ "markdownDescription": "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\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 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 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.\n Default: ``100``", + "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 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``.", "type": "integer", - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot 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 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.\n Default: ``100``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot 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" }, "AcceleratorNames": { "uniqueItems": true, @@ -756,7 +756,7 @@ "MemoryMiB", "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 [Auto scaling template snippets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-autoscaling.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" + "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" } }, "properties": { @@ -803,9 +803,9 @@ "markdownDescription": "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*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Cooldown": { - "description": "*Only needed if you use simple scaling policies.* \n The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see [Scaling cooldowns for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Default: ``300`` seconds", + "description": "*Only needed if you use simple scaling policies.* \n The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see [Scaling cooldowns for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-scaling-cooldowns.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Default: ``300`` seconds", "type": "string", - "markdownDescription": "*Only needed if you use simple scaling policies.* \n The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see [Scaling cooldowns for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Default: ``300`` seconds\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "*Only needed if you use simple scaling policies.* \n The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see [Scaling cooldowns for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-scaling-cooldowns.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Default: ``300`` seconds\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "NotificationConfigurations": { "uniqueItems": false, @@ -833,9 +833,9 @@ "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" }, "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 [Using 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*.", + "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", - "markdownDescription": "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 [Using 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*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "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*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "LaunchTemplate": { "description": "Information used to specify the launch template and version to use to launch instances. You can alternatively associate a launch template to the Auto Scaling group by specifying a ``MixedInstancesPolicy``. For more information about creating launch templates, see [Create a launch template for an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html) in the *Amazon EC2 Auto Scaling User Guide*.\n If you omit this property, you must specify ``MixedInstancesPolicy``, ``LaunchConfigurationName``, or ``InstanceId``.", @@ -925,14 +925,14 @@ }, "TerminationPolicies": { "uniqueItems": false, - "description": "A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Work with Amazon EC2 Auto Scaling termination policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias``", + "description": "A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Configure termination policies for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias``", "insertionOrder": true, "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Work with Amazon EC2 Auto Scaling termination policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Configure termination policies for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "AutoScalingGroupName": { "description": "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.", @@ -940,9 +940,9 @@ "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" }, "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 [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*.\n By default, Amazon EC2 Auto Scaling specifies ``units``, which translates into number of instances.\n Valid values: ``units`` | ``vcpu`` | ``memory-mib``", + "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", - "markdownDescription": "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 [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*.\n By default, Amazon EC2 Auto Scaling specifies ``units``, which translates into number of instances.\n Valid values: ``units`` | ``vcpu`` | ``memory-mib``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "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``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "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.", @@ -950,14 +950,14 @@ "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" }, "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 Auto Scaling instances](https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.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``, ``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 Auto Scaling instances](https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.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``, ``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 [Replacing 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*.", + "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*.", "type": "integer", - "markdownDescription": "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 [Replacing 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*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "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*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "attributes": {} diff --git a/server/schema/resources/aws-autoscaling-launchconfiguration.json b/server/schema/resources/aws-autoscaling-launchconfiguration.json index c7c2beca..fd8bde97 100644 --- a/server/schema/resources/aws-autoscaling-launchconfiguration.json +++ b/server/schema/resources/aws-autoscaling-launchconfiguration.json @@ -1,12 +1,68 @@ { + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-autoscaling.git", + "tagging": { + "taggable": false + }, + "handlers": { + "read": { + "permissions": [ + "autoscaling:DescribeLaunchConfigurations" + ] + }, + "create": { + "permissions": [ + "autoscaling:CreateLaunchConfiguration", + "autoscaling:DescribeLaunchConfigurations", + "iam:PassRole" + ] + }, + "list": { + "permissions": [ + "autoscaling:DescribeLaunchConfigurations" + ] + }, + "delete": { + "permissions": [ + "autoscaling:DeleteLaunchConfiguration", + "autoscaling:DescribeLaunchConfigurations" + ] + } + }, "typeName": "AWS::AutoScaling::LaunchConfiguration", "description": "The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances.", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-autoscaling.git", + "writeOnlyProperties": [ + "/properties/InstanceId" + ], + "createOnlyProperties": [ + "/properties/AssociatePublicIpAddress", + "/properties/BlockDeviceMappings", + "/properties/ClassicLinkVPCId", + "/properties/ClassicLinkVPCSecurityGroups", + "/properties/EbsOptimized", + "/properties/IamInstanceProfile", + "/properties/ImageId", + "/properties/InstanceId", + "/properties/InstanceMonitoring", + "/properties/InstanceType", + "/properties/KernelId", + "/properties/KeyName", + "/properties/LaunchConfigurationName", + "/properties/MetadataOptions", + "/properties/PlacementTenancy", + "/properties/RamDiskId", + "/properties/SecurityGroups", + "/properties/SpotPrice", + "/properties/UserData" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/LaunchConfigurationName" + ], "definitions": { "MetadataOptions": { "description": "MetadataOptions is a property of AWS::AutoScaling::LaunchConfiguration that describes metadata options for the instances.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "HttpPutResponseHopLimit": { "description": "The desired HTTP PUT response hop limit for instance metadata requests.", @@ -28,9 +84,14 @@ }, "BlockDeviceMapping": { "description": "BlockDeviceMapping is a property of AWS::AutoScaling::LaunchConfiguration that describes a block device mapping for an Auto Scaling group.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { + "Ebs": { + "description": "Parameters used to automatically set up EBS volumes when an instance is launched.", + "$ref": "#/definitions/BlockDevice", + "markdownDescription": "Parameters used to automatically set up EBS volumes when an instance is launched.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "NoDevice": { "description": "Setting this value to true suppresses the specified device included in the block device mapping of the AMI.", "type": "boolean", @@ -41,11 +102,6 @@ "type": "string", "markdownDescription": "The name of the virtual device.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Ebs": { - "description": "Parameters used to automatically set up EBS volumes when an instance is launched.", - "$ref": "#/definitions/BlockDevice", - "markdownDescription": "Parameters used to automatically set up EBS volumes when an instance is launched.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, "DeviceName": { "description": "The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh). ", "type": "string", @@ -59,8 +115,8 @@ }, "BlockDevice": { "description": "BlockDevice is a subproperty of BlockDeviceMapping that describes an Amazon EBS volume.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "SnapshotId": { "description": "The snapshot ID of the volume to use.", @@ -77,6 +133,11 @@ "type": "boolean", "markdownDescription": "Specifies whether the volume should be encrypted. \n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, + "Throughput": { + "description": "The throughput (MiBps) to provision for a gp3 volume.", + "type": "integer", + "markdownDescription": "The throughput (MiBps) to provision for a gp3 volume.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, "Iops": { "description": "The number of input/output (I/O) operations per second (IOPS) to provision for the volume. ", "type": "integer", @@ -91,190 +152,143 @@ "description": "Indicates whether the volume is deleted on instance termination. ", "type": "boolean", "markdownDescription": "Indicates whether the volume is deleted on instance termination. \n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "Throughput": { - "description": "The throughput (MiBps) to provision for a gp3 volume.", - "type": "integer", - "markdownDescription": "The throughput (MiBps) to provision for a gp3 volume.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "BlockDevice is a subproperty of BlockDeviceMapping that describes an Amazon EBS volume.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { - "AssociatePublicIpAddress": { - "description": "For Auto Scaling groups that are running in a virtual private cloud (VPC), specifies whether to assign a public IP address to the group's instances.", - "type": "boolean", - "markdownDescription": "For Auto Scaling groups that are running in a virtual private cloud (VPC), specifies whether to assign a public IP address to the group's instances.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "PlacementTenancy": { + "description": "The tenancy of the instance, either default or dedicated.", + "type": "string", + "markdownDescription": "The tenancy of the instance, either default or dedicated.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "BlockDeviceMappings": { - "description": "Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.", - "type": "array", - "uniqueItems": true, + "SecurityGroups": { + "description": "A list that contains the security groups to assign to the instances in the Auto Scaling group.", "insertionOrder": false, + "type": "array", "items": { - "$ref": "#/definitions/BlockDeviceMapping" + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::EC2::SecurityGroup", + "propertyPath": "/properties/GroupId" + } + }, + { + "relationshipRef": { + "typeName": "AWS::EC2::SecurityGroup", + "propertyPath": "/properties/Id" + } + } + ], + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "A list that contains the security groups to assign to the instances in the Auto Scaling group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, - "ClassicLinkVPCId": { - "description": "The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.", + "LaunchConfigurationName": { + "minLength": 1, + "description": "The name of the launch configuration. This name must be unique per Region per account.", "type": "string", - "markdownDescription": "The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "maxLength": 255, + "markdownDescription": "The name of the launch configuration. This name must be unique per Region per account.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: Replacement" + }, + "MetadataOptions": { + "description": "The metadata options for the instances.", + "$ref": "#/definitions/MetadataOptions", + "markdownDescription": "The metadata options for the instances.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + }, + "InstanceId": { + "description": "The ID of the Amazon EC2 instance you want to use to create the launch configuration.", + "type": "string", + "markdownDescription": "The ID of the Amazon EC2 instance you want to use to create the launch configuration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "UserData": { + "description": "The Base64-encoded user data to make available to the launched EC2 instances.", + "type": "string", + "maxLength": 21847, + "markdownDescription": "The Base64-encoded user data to make available to the launched EC2 instances.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 21847 \nUpdate requires: Replacement" }, "ClassicLinkVPCSecurityGroups": { "description": "The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.", - "type": "array", "insertionOrder": false, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, - "EbsOptimized": { - "description": "Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).", - "type": "boolean", - "markdownDescription": "Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "BlockDeviceMappings": { + "uniqueItems": true, + "description": "Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/BlockDeviceMapping" + }, + "markdownDescription": "Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, "IamInstanceProfile": { "description": "Provides the name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role.", "type": "string", "markdownDescription": "Provides the name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "ImageId": { - "description": "Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.", - "type": "string", - "markdownDescription": "Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "InstanceId": { - "description": "The ID of the Amazon EC2 instance you want to use to create the launch configuration.", + "KernelId": { + "description": "Provides the ID of the kernel associated with the EC2 AMI.", "type": "string", - "markdownDescription": "The ID of the Amazon EC2 instance you want to use to create the launch configuration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "Provides the ID of the kernel associated with the EC2 AMI.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "InstanceMonitoring": { - "description": "Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.", + "AssociatePublicIpAddress": { + "description": "For Auto Scaling groups that are running in a virtual private cloud (VPC), specifies whether to assign a public IP address to the group's instances.", "type": "boolean", - "markdownDescription": "Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "markdownDescription": "For Auto Scaling groups that are running in a virtual private cloud (VPC), specifies whether to assign a public IP address to the group's instances.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" }, - "InstanceType": { - "description": "Specifies the instance type of the EC2 instance.", + "ClassicLinkVPCId": { + "description": "The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.", "type": "string", - "markdownDescription": "Specifies the instance type of the EC2 instance.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "KernelId": { - "description": "Provides the ID of the kernel associated with the EC2 AMI.", - "type": "string", - "markdownDescription": "Provides the ID of the kernel associated with the EC2 AMI.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "EbsOptimized": { + "description": "Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).", + "type": "boolean", + "markdownDescription": "Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" }, "KeyName": { "description": "Provides the name of the EC2 key pair.", "type": "string", "markdownDescription": "Provides the name of the EC2 key pair.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "LaunchConfigurationName": { - "description": "The name of the launch configuration. This name must be unique per Region per account.", + "SpotPrice": { + "description": "The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.", "type": "string", - "minLength": 1, - "maxLength": 255, - "markdownDescription": "The name of the launch configuration. This name must be unique per Region per account.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: Replacement" + "markdownDescription": "The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "MetadataOptions": { - "description": "The metadata options for the instances.", - "$ref": "#/definitions/MetadataOptions", - "markdownDescription": "The metadata options for the instances.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "ImageId": { + "description": "Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.", + "type": "string", + "markdownDescription": "Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, - "PlacementTenancy": { - "description": "The tenancy of the instance, either default or dedicated.", + "InstanceType": { + "description": "Specifies the instance type of the EC2 instance.", "type": "string", - "markdownDescription": "The tenancy of the instance, either default or dedicated.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "Specifies the instance type of the EC2 instance.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "RamDiskId": { "description": "The ID of the RAM disk to select.", "type": "string", "markdownDescription": "The ID of the RAM disk to select.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "SecurityGroups": { - "description": "A list that contains the security groups to assign to the instances in the Auto Scaling group.", - "type": "array", - "insertionOrder": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "A list that contains the security groups to assign to the instances in the Auto Scaling group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" - }, - "SpotPrice": { - "description": "The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.", - "type": "string", - "markdownDescription": "The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "UserData": { - "description": "The Base64-encoded user data to make available to the launched EC2 instances.", - "type": "string", - "maxLength": 21847, - "markdownDescription": "The Base64-encoded user data to make available to the launched EC2 instances.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 21847 \nUpdate requires: Replacement" + "InstanceMonitoring": { + "description": "Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.", + "type": "boolean", + "markdownDescription": "Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" } }, - "additionalProperties": false, "required": [ "ImageId", "InstanceType" ], - "createOnlyProperties": [ - "/properties/AssociatePublicIpAddress", - "/properties/BlockDeviceMappings", - "/properties/ClassicLinkVPCId", - "/properties/ClassicLinkVPCSecurityGroups", - "/properties/EbsOptimized", - "/properties/IamInstanceProfile", - "/properties/ImageId", - "/properties/InstanceId", - "/properties/InstanceMonitoring", - "/properties/InstanceType", - "/properties/KernelId", - "/properties/KeyName", - "/properties/LaunchConfigurationName", - "/properties/MetadataOptions", - "/properties/PlacementTenancy", - "/properties/RamDiskId", - "/properties/SecurityGroups", - "/properties/SpotPrice", - "/properties/UserData" - ], - "tagging": { - "taggable": false - }, - "primaryIdentifier": [ - "/properties/LaunchConfigurationName" - ], - "writeOnlyProperties": [ - "/properties/InstanceId" - ], - "handlers": { - "create": { - "permissions": [ - "autoscaling:CreateLaunchConfiguration", - "autoscaling:DescribeLaunchConfigurations", - "iam:PassRole" - ] - }, - "read": { - "permissions": [ - "autoscaling:DescribeLaunchConfigurations" - ] - }, - "delete": { - "permissions": [ - "autoscaling:DeleteLaunchConfiguration", - "autoscaling:DescribeLaunchConfigurations" - ] - }, - "list": { - "permissions": [ - "autoscaling:DescribeLaunchConfigurations" - ] - } - }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-autoscaling-scalingpolicy.json b/server/schema/resources/aws-autoscaling-scalingpolicy.json index 16156562..cd2b18bc 100644 --- a/server/schema/resources/aws-autoscaling-scalingpolicy.json +++ b/server/schema/resources/aws-autoscaling-scalingpolicy.json @@ -76,7 +76,7 @@ "properties": { "MetricName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Dimensions": { "type": "array", @@ -87,9 +87,18 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "Metrics": { + "type": "array", + "insertionOrder": false, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/TargetTrackingMetricDataQuery" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "Statistic": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Unit": { "type": "string", @@ -97,14 +106,10 @@ }, "Namespace": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "required": [ - "MetricName", - "Statistic", - "Namespace" - ], + "required": [], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TargetTrackingConfiguration": { @@ -330,6 +335,28 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "TargetTrackingMetricStat": { + "type": "object", + "additionalProperties": false, + "properties": { + "Metric": { + "$ref": "#/definitions/Metric" + }, + "Stat": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Unit": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Stat", + "Metric" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "MetricStat": { "type": "object", "additionalProperties": false, @@ -352,6 +379,35 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "TargetTrackingMetricDataQuery": { + "type": "object", + "additionalProperties": false, + "properties": { + "Label": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MetricStat": { + "$ref": "#/definitions/TargetTrackingMetricStat" + }, + "Id": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ReturnData": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Expression": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Id" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "MetricDataQuery": { "type": "object", "additionalProperties": false, diff --git a/server/schema/resources/aws-b2bi-capability.json b/server/schema/resources/aws-b2bi-capability.json index 34f2c155..967c1382 100644 --- a/server/schema/resources/aws-b2bi-capability.json +++ b/server/schema/resources/aws-b2bi-capability.json @@ -212,9 +212,10 @@ "enum": [ "VERSION_4010", "VERSION_4030", - "VERSION_5010" + "VERSION_5010", + "VERSION_5010_HIPAA" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VERSION_4010 | VERSION_4030 | VERSION_5010 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VERSION_4010 | VERSION_4030 | VERSION_5010 | VERSION_5010_HIPAA \nUpdate requires: No interruption" } }, "properties": { diff --git a/server/schema/resources/aws-bedrock-agent.json b/server/schema/resources/aws-bedrock-agent.json index eccd3f94..eb98fcef 100644 --- a/server/schema/resources/aws-bedrock-agent.json +++ b/server/schema/resources/aws-bedrock-agent.json @@ -36,21 +36,39 @@ "markdownDescription": "Contains information about the API Schema for the Action Group\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "ActionGroupExecutor": { - "type": "object", - "title": "Lambda", - "properties": { - "Lambda": { - "type": "string", - "maxLength": 2048, - "description": "ARN of a Lambda.", - "markdownDescription": "ARN of a Lambda.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 2048 \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: No interruption" + "description": "Type of Executors for an Action Group", + "oneOf": [ + { + "type": "object", + "title": "Lambda", + "properties": { + "Lambda": { + "type": "string", + "maxLength": 2048, + "pattern": "^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-_]+))?$", + "description": "ARN of a Lambda." + } + }, + "required": [ + "Lambda" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "CustomControl", + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "additionalProperties": false } - }, - "required": [ - "Lambda" ], - "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Type of Executors for an Action Group\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "ActionGroupSignature": { "type": "string", @@ -97,6 +115,9 @@ "ActionGroupState": { "$ref": "#/definitions/ActionGroupState" }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, "SkipResourceInUseCheckOnDelete": { "description": "Specifies whether to allow deleting action group while it is in use.", "type": "boolean", @@ -161,6 +182,80 @@ ], "markdownDescription": "Creation Mode for Prompt Configuration.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEFAULT | OVERRIDDEN \nUpdate requires: No interruption" }, + "CustomControlMethod": { + "type": "string", + "description": "Custom control of action execution", + "enum": [ + "RETURN_CONTROL" + ], + "markdownDescription": "Custom control of action execution\n\n---\n\nRequired: No \nType: String \nAllowed Values: RETURN_CONTROL \nUpdate requires: No interruption" + }, + "Function": { + "type": "object", + "description": "Function definition", + "properties": { + "Name": { + "type": "string", + "description": "Name for a resource.", + "markdownDescription": "Name for a resource.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^([0-9a-zA-Z][_-]?){1,100}$ \nUpdate requires: No interruption" + }, + "Description": { + "type": "string", + "maxLength": 1200, + "minLength": 1, + "description": "Description of function", + "markdownDescription": "Description of function\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1200 \nUpdate requires: No interruption" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + } + }, + "required": [ + "Name" + ], + "additionalProperties": false, + "markdownDescription": "Function definition\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "FunctionSchema": { + "description": "Schema of Functions", + "type": "object", + "title": "Functions", + "properties": { + "Functions": { + "type": "array", + "items": { + "$ref": "#/definitions/Function" + }, + "description": "List of Function definitions", + "insertionOrder": false, + "markdownDescription": "List of Function definitions\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Functions" + ], + "additionalProperties": false, + "markdownDescription": "Schema of Functions\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" + }, "InferenceConfiguration": { "type": "object", "description": "Configuration for inference in prompt configuration", @@ -218,6 +313,43 @@ ], "markdownDescription": "State of the knowledge base; whether it is enabled or disabled\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" }, + "ParameterDetail": { + "type": "object", + "description": "Parameter detail", + "properties": { + "Description": { + "type": "string", + "maxLength": 500, + "minLength": 1, + "description": "Description of function parameter.", + "markdownDescription": "Description of function parameter.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 500 \nUpdate requires: No interruption" + }, + "Type": { + "$ref": "#/definitions/Type" + }, + "Required": { + "type": "boolean", + "description": "Information about if a parameter is required for function call. Default to false.", + "markdownDescription": "Information about if a parameter is required for function call. Default to false.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "Type" + ], + "additionalProperties": false, + "markdownDescription": "Parameter detail\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ParameterMap": { + "type": "object", + "description": "A map of parameter name and detail", + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "additionalProperties": false, + "markdownDescription": "A map of parameter name and detail\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PromptConfiguration": { "type": "object", "description": "BasePromptConfiguration per Prompt Type.", @@ -331,6 +463,18 @@ }, "additionalProperties": false, "markdownDescription": "A map of tag keys and values\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Type": { + "type": "string", + "description": "Parameter Type", + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "markdownDescription": "Parameter Type\n\n---\n\nRequired: No \nType: String \nAllowed Values: string | number | integer | boolean | array \nUpdate requires: No interruption" } }, "properties": { @@ -352,7 +496,7 @@ "type": "string", "maxLength": 2048, "description": "ARN of a IAM role.", - "markdownDescription": "ARN of a IAM role.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:iam::([0-9]{12})?:role/(service-role/)?AmazonBedrockExecutionRoleForAgents.+$ \nUpdate requires: No interruption" + "markdownDescription": "ARN of a IAM role.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "AutoPrepare": { "description": "Specifies whether to automatically prepare after creating or updating the agent.", @@ -387,6 +531,9 @@ "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" }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, "IdleSessionTTLInSeconds": { "type": "number", "maximum": 3600, @@ -396,10 +543,9 @@ }, "Instruction": { "type": "string", - "maxLength": 1200, "minLength": 40, "description": "Instruction for the agent.", - "markdownDescription": "Instruction for the agent.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 40 \nMaximum Length: 1200 \nUpdate requires: No interruption" + "markdownDescription": "Instruction for the agent.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 40 \nUpdate requires: No interruption" }, "KnowledgeBases": { "type": "array", @@ -456,6 +602,9 @@ "bedrock:ListAgentActionGroups", "bedrock:TagResource", "bedrock:ListTagsForResource", + "bedrock:CreateGuardrail", + "bedrock:CreateGuardrailVersion", + "bedrock:GetGuardrail", "iam:PassRole" ] }, @@ -466,7 +615,9 @@ "bedrock:ListAgentActionGroups", "bedrock:GetAgentKnowledgeBase", "bedrock:ListAgentKnowledgeBases", - "bedrock:ListTagsForResource" + "bedrock:ListTagsForResource", + "bedrock:GetGuardrail", + "kms:Decrypt" ] }, "update": { @@ -487,18 +638,24 @@ "bedrock:TagResource", "bedrock:UntagResource", "bedrock:ListTagsForResource", + "bedrock:UpdateGuardrail", + "bedrock:GetGuardrail", + "kms:Decrypt", "iam:PassRole" ] }, "delete": { "permissions": [ "bedrock:GetAgent", - "bedrock:DeleteAgent" + "bedrock:DeleteAgent", + "bedrock:DeleteGuardrail", + "bedrock:GetGuardrail" ] }, "list": { "permissions": [ - "bedrock:ListAgents" + "bedrock:ListAgents", + "bedrock:ListGuardrails" ] } }, diff --git a/server/schema/resources/aws-bedrock-datasource.json b/server/schema/resources/aws-bedrock-datasource.json index 2af01960..c9c51f6f 100644 --- a/server/schema/resources/aws-bedrock-datasource.json +++ b/server/schema/resources/aws-bedrock-datasource.json @@ -52,9 +52,10 @@ "description": "The status of a data source.", "enum": [ "AVAILABLE", - "DELETING" + "DELETING", + "DELETE_UNSUCCESSFUL" ], - "markdownDescription": "The status of a data source.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AVAILABLE | DELETING \nUpdate requires: No interruption" + "markdownDescription": "The status of a data source.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AVAILABLE | DELETING | DELETE_UNSUCCESSFUL \nUpdate requires: No interruption" }, "DataSourceType": { "type": "string", @@ -64,6 +65,15 @@ ], "markdownDescription": "The type of the data source location.\n\n---\n\nRequired: No \nType: String \nAllowed Values: S3 \nUpdate requires: No interruption" }, + "DataDeletionPolicy": { + "type": "string", + "description": "The deletion policy for the data source.", + "enum": [ + "RETAIN", + "DELETE" + ], + "markdownDescription": "The deletion policy for the data source.\n\n---\n\nRequired: No \nType: String \nAllowed Values: RETAIN | DELETE \nUpdate requires: No interruption" + }, "FixedSizeChunkingConfiguration": { "type": "object", "description": "Configurations for when you choose fixed-size chunking. If you set the chunkingStrategy as NONE, exclude this field.", @@ -114,6 +124,13 @@ "description": "A list of S3 prefixes that define the object containing the data sources.", "insertionOrder": false, "markdownDescription": "A list of S3 prefixes that define the object containing the data sources.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "BucketOwnerAccountId": { + "type": "string", + "maxLength": 12, + "minLength": 12, + "description": "The account ID for the owner of the S3 bucket.", + "markdownDescription": "The account ID for the owner of the S3 bucket.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 12 \nPattern: ^[0-9]{12}$ \nUpdate requires: No interruption" } }, "required": [ @@ -175,6 +192,9 @@ }, "VectorIngestionConfiguration": { "$ref": "#/definitions/VectorIngestionConfiguration" + }, + "DataDeletionPolicy": { + "$ref": "#/definitions/DataDeletionPolicy" } }, "required": [ @@ -186,7 +206,8 @@ "/properties/DataSourceId", "/properties/DataSourceStatus", "/properties/CreatedAt", - "/properties/UpdatedAt" + "/properties/UpdatedAt", + "/properties/FailureReasons" ], "createOnlyProperties": [ "/properties/KnowledgeBaseId", @@ -260,6 +281,19 @@ "type": "string", "description": "The time at which the knowledge base was last updated.", "markdownDescription": "The time at which the knowledge base was last updated.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "FailureReasons": { + "type": "array", + "items": { + "type": "string", + "maxLength": 2048, + "description": "Failure Reason for Error.", + "markdownDescription": "Failure Reason for Error.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "maxItems": 2048, + "description": "The details of the failure reasons related to the data source.", + "insertionOrder": false, + "markdownDescription": "The details of the failure reasons related to the data source.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-bedrock-guardrailversion.json b/server/schema/resources/aws-bedrock-guardrailversion.json new file mode 100644 index 00000000..e5926fd3 --- /dev/null +++ b/server/schema/resources/aws-bedrock-guardrailversion.json @@ -0,0 +1,85 @@ +{ + "typeName": "AWS::Bedrock::GuardrailVersion", + "description": "Definition of AWS::Bedrock::GuardrailVersion Resource Type", + "definitions": {}, + "properties": { + "Description": { + "type": "string", + "maxLength": 200, + "minLength": 1, + "description": "Description of the Guardrail version", + "markdownDescription": "Description of the Guardrail version\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nUpdate requires: Replacement" + }, + "GuardrailIdentifier": { + "type": "string", + "maxLength": 2048, + "description": "Identifier (GuardrailId or GuardrailArn) for the guardrail", + "markdownDescription": "Identifier (GuardrailId or GuardrailArn) for the guardrail\n\n---\n\nRequired: Yes \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: Replacement" + } + }, + "required": [ + "GuardrailIdentifier" + ], + "readOnlyProperties": [ + "/properties/GuardrailArn", + "/properties/GuardrailId", + "/properties/Version" + ], + "createOnlyProperties": [ + "/properties/Description", + "/properties/GuardrailIdentifier" + ], + "writeOnlyProperties": [ + "/properties/GuardrailIdentifier" + ], + "primaryIdentifier": [ + "/properties/GuardrailId", + "/properties/Version" + ], + "handlers": { + "create": { + "permissions": [ + "bedrock:CreateGuardrailVersion", + "bedrock:GetGuardrail", + "kms:CreateGrant", + "kms:Decrypt" + ] + }, + "read": { + "permissions": [ + "bedrock:GetGuardrail", + "kms:Decrypt" + ] + }, + "delete": { + "permissions": [ + "bedrock:DeleteGuardrail", + "bedrock:GetGuardrail", + "kms:RetireGrant" + ] + } + }, + "tagging": { + "taggable": false + }, + "additionalProperties": false, + "attributes": { + "GuardrailArn": { + "type": "string", + "maxLength": 2048, + "description": "Arn representation for the guardrail", + "markdownDescription": "Arn representation for the guardrail\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+$ \nUpdate requires: No interruption" + }, + "GuardrailId": { + "type": "string", + "maxLength": 64, + "description": "Unique id for the guardrail", + "markdownDescription": "Unique id for the guardrail\n\n---\n\nRequired: No \nType: String \nMaximum Length: 64 \nPattern: ^[a-z0-9]+$ \nUpdate requires: No interruption" + }, + "Version": { + "type": "string", + "description": "Guardrail version", + "markdownDescription": "Guardrail version\n\n---\n\nRequired: No \nType: String \nPattern: ^[1-9][0-9]{0,7}$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-bedrock-knowledgebase.json b/server/schema/resources/aws-bedrock-knowledgebase.json index 46c6f794..5ce475ab 100644 --- a/server/schema/resources/aws-bedrock-knowledgebase.json +++ b/server/schema/resources/aws-bedrock-knowledgebase.json @@ -28,9 +28,10 @@ "ACTIVE", "DELETING", "UPDATING", - "FAILED" + "FAILED", + "DELETE_UNSUCCESSFUL" ], - "markdownDescription": "The status of a knowledge base.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | ACTIVE | DELETING | UPDATING | FAILED \nUpdate requires: No interruption" + "markdownDescription": "The status of a knowledge base.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | ACTIVE | DELETING | UPDATING | FAILED | DELETE_UNSUCCESSFUL \nUpdate requires: No interruption" }, "KnowledgeBaseStorageType": { "type": "string", @@ -370,10 +371,10 @@ "properties": { "EmbeddingModelArn": { "type": "string", - "maxLength": 1011, + "maxLength": 2048, "minLength": 20, "description": "The ARN of the model used to create vector embeddings for the knowledge base.", - "markdownDescription": "The ARN of the model used to create vector embeddings for the knowledge base.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 1011 \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}))$ \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the model used to create vector embeddings for the knowledge base.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \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" } }, "required": [ diff --git a/server/schema/resources/aws-budgets-budget.json b/server/schema/resources/aws-budgets-budget.json index aa3f01a6..e839f2f2 100644 --- a/server/schema/resources/aws-budgets-budget.json +++ b/server/schema/resources/aws-budgets-budget.json @@ -3,6 +3,9 @@ "description": "Resource Type definition for AWS::Budgets::Budget", "additionalProperties": false, "properties": { + "Budget": { + "$ref": "#/definitions/BudgetData" + }, "NotificationsWithSubscribers": { "type": "array", "uniqueItems": false, @@ -11,8 +14,13 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, - "Budget": { - "$ref": "#/definitions/BudgetData" + "ResourceTags": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/ResourceTag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "definitions": { @@ -30,6 +38,24 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ResourceTag": { + "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: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Key" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Subscriber": { "type": "object", "additionalProperties": false, diff --git a/server/schema/resources/aws-budgets-budgetsaction.json b/server/schema/resources/aws-budgets-budgetsaction.json index e540a0a9..d80d3a81 100644 --- a/server/schema/resources/aws-budgets-budgetsaction.json +++ b/server/schema/resources/aws-budgets-budgetsaction.json @@ -167,6 +167,25 @@ }, "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ResourceTag": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "markdownDescription": "\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": { @@ -217,6 +236,13 @@ }, "Definition": { "$ref": "#/definitions/Definition" + }, + "ResourceTags": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceTag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -244,18 +270,23 @@ "create": { "permissions": [ "budgets:CreateBudgetAction", - "iam:PassRole" + "iam:PassRole", + "budgets:TagResource" ] }, "read": { "permissions": [ - "budgets:DescribeBudgetAction" + "budgets:DescribeBudgetAction", + "budgets:ListTagsForResource" ] }, "update": { "permissions": [ "budgets:UpdateBudgetAction", - "iam:PassRole" + "iam:PassRole", + "budgets:TagResource", + "budgets:UntagResource", + "budgets:ListTagsForResource" ] }, "delete": { @@ -270,6 +301,13 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/ResourceTags" + }, "attributes": { "ActionId": { "type": "string", diff --git a/server/schema/resources/aws-chatbot-microsoftteamschannelconfiguration.json b/server/schema/resources/aws-chatbot-microsoftteamschannelconfiguration.json index 7c9b2169..b6987a57 100644 --- a/server/schema/resources/aws-chatbot-microsoftteamschannelconfiguration.json +++ b/server/schema/resources/aws-chatbot-microsoftteamschannelconfiguration.json @@ -2,6 +2,27 @@ "typeName": "AWS::Chatbot::MicrosoftTeamsChannelConfiguration", "description": "Resource schema for AWS::Chatbot::MicrosoftTeamsChannelConfiguration.", "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html", + "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": { "TeamId": { "description": "The id of the Microsoft Teams team", @@ -67,6 +88,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" + }, + "Tags": { + "description": "The tags to add to the configuration", + "type": "array", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to add to the configuration\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -92,6 +123,7 @@ "create": { "permissions": [ "chatbot:CreateMicrosoftTeamsChannelConfiguration", + "chatbot:TagResource", "iam:PassRole", "iam:CreateServiceLinkedRole" ] @@ -104,6 +136,9 @@ "update": { "permissions": [ "chatbot:UpdateMicrosoftTeamsChannelConfiguration", + "chatbot:TagResource", + "chatbot:UntagResource", + "chatbot:ListTagsForResource", "iam:PassRole" ] }, @@ -120,7 +155,11 @@ } }, "tagging": { - "taggable": false + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags" }, "attributes": { "Arn": { diff --git a/server/schema/resources/aws-chatbot-slackchannelconfiguration.json b/server/schema/resources/aws-chatbot-slackchannelconfiguration.json index 9cff42cf..5f655bfe 100644 --- a/server/schema/resources/aws-chatbot-slackchannelconfiguration.json +++ b/server/schema/resources/aws-chatbot-slackchannelconfiguration.json @@ -2,6 +2,27 @@ "typeName": "AWS::Chatbot::SlackChannelConfiguration", "description": "Resource schema for AWS::Chatbot::SlackChannelConfiguration.", "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html", + "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": { "SlackWorkspaceId": { "description": "The id of the Slack workspace", @@ -55,6 +76,16 @@ }, "markdownDescription": "The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied as a default if this is not set.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "Tags": { + "description": "The tags to add to the configuration", + "type": "array", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to add to the configuration\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "UserRoleRequired": { "description": "Enables use of a user role requirement in your chat configuration", "type": "boolean", @@ -83,6 +114,7 @@ "create": { "permissions": [ "chatbot:CreateSlackChannelConfiguration", + "chatbot:TagResource", "iam:PassRole", "iam:CreateServiceLinkedRole" ] @@ -95,6 +127,9 @@ "update": { "permissions": [ "chatbot:UpdateSlackChannelConfiguration", + "chatbot:TagResource", + "chatbot:UntagResource", + "chatbot:ListTagsForResource", "iam:PassRole" ] }, @@ -109,6 +144,13 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags" + }, "attributes": { "Arn": { "description": "Amazon Resource Name (ARN) of the configuration", diff --git a/server/schema/resources/aws-cloudformation-stackset.json b/server/schema/resources/aws-cloudformation-stackset.json index 5e443253..a8b540ee 100644 --- a/server/schema/resources/aws-cloudformation-stackset.json +++ b/server/schema/resources/aws-cloudformation-stackset.json @@ -83,6 +83,15 @@ ], "markdownDescription": "The concurrency type of deploying StackSets operations in regions, could be in parallel or one region at a time\n\n---\n\nRequired: No \nType: String \nAllowed Values: SEQUENTIAL | PARALLEL \nUpdate requires: No interruption" }, + "ConcurrencyMode": { + "description": "Specifies how the concurrency level behaves during the operation execution.", + "type": "string", + "enum": [ + "STRICT_FAILURE_TOLERANCE", + "SOFT_FAILURE_TOLERANCE" + ], + "markdownDescription": "Specifies how the concurrency level behaves during the operation execution.\n\n---\n\nRequired: No \nType: String \nAllowed Values: STRICT_FAILURE_TOLERANCE | SOFT_FAILURE_TOLERANCE \nUpdate requires: No interruption" + }, "Active": { "description": "When true, StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order.", "type": "boolean", @@ -123,6 +132,9 @@ }, "RegionConcurrencyType": { "$ref": "#/definitions/RegionConcurrencyType" + }, + "ConcurrencyMode": { + "$ref": "#/definitions/ConcurrencyMode" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-cloudwatch-dashboard.json b/server/schema/resources/aws-cloudwatch-dashboard.json index 13a82dc2..eb5e800b 100644 --- a/server/schema/resources/aws-cloudwatch-dashboard.json +++ b/server/schema/resources/aws-cloudwatch-dashboard.json @@ -1,17 +1,26 @@ { "typeName": "AWS::CloudWatch::Dashboard", "description": "Resource Type definition for AWS::CloudWatch::Dashboard", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch", "additionalProperties": false, "properties": { "DashboardName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "The name of the dashboard. The name must be between 1 and 255 characters. If you do not specify a name, one will be generated automatically.", + "markdownDescription": "The name of the dashboard. The name must be between 1 and 255 characters. If you do not specify a name, one will be generated automatically.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "DashboardBody": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The detailed information about the dashboard in JSON format, including the widgets to include and their location on the dashboard", + "markdownDescription": "The detailed information about the dashboard in JSON format, including the widgets to include and their location on the dashboard\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "required": [ "DashboardBody" ], @@ -19,15 +28,36 @@ "/properties/DashboardName" ], "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id" + "/properties/DashboardName" ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "handlers": { + "create": { + "permissions": [ + "cloudwatch:PutDashboard", + "cloudwatch:GetDashboard" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetDashboard" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutDashboard" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteDashboards", + "cloudwatch:GetDashboard" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListDashboards" + ] } - } + }, + "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-cloudwatch-metricstream.json b/server/schema/resources/aws-cloudwatch-metricstream.json index 76e0dcf4..5cd85ec7 100644 --- a/server/schema/resources/aws-cloudwatch-metricstream.json +++ b/server/schema/resources/aws-cloudwatch-metricstream.json @@ -20,7 +20,7 @@ "type": "string", "minLength": 20, "maxLength": 2048, - "markdownDescription": "The ARN of the Kinesis Firehose where to stream the data.\n\n---\n\nRequired: Conditional \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the Kinesis Firehose where to stream the data.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "IncludeFilters": { "description": "Define which metrics will be streamed. Metrics matched by multiple instances of MetricStreamFilter are joined with an OR operation by default. If both IncludeFilters and ExcludeFilters are omitted, all metrics in the account will be streamed. IncludeFilters and ExcludeFilters are mutually exclusive. Default to null.", @@ -44,14 +44,14 @@ "type": "string", "minLength": 20, "maxLength": 2048, - "markdownDescription": "The ARN of the role that provides access to the Kinesis Firehose.\n\n---\n\nRequired: Conditional \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the role that provides access to the Kinesis Firehose.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "OutputFormat": { "description": "The output format of the data streamed to the Kinesis Firehose.", "type": "string", "minLength": 1, "maxLength": 255, - "markdownDescription": "The output format of the data streamed to the Kinesis Firehose.\n\n---\n\nRequired: Conditional \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + "markdownDescription": "The output format of the data streamed to the Kinesis Firehose.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" }, "StatisticsConfigurations": { "description": "By default, a metric stream always sends the MAX, MIN, SUM, and SAMPLECOUNT statistics for each metric that is streamed. You can use this parameter to have the metric stream also send additional statistics in the stream. This array can have up to 100 members.", @@ -184,9 +184,9 @@ "Value": { "description": "String which you can use to describe or define the tag.", "type": "string", - "minLength": 1, + "minLength": 0, "maxLength": 256, - "markdownDescription": "String which you can use to describe or define the tag.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "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": [ @@ -231,12 +231,7 @@ ] } }, - "required": [ - "FirehoseArn", - "RoleArn", - "OutputFormat" - ], - "anyOf": [ + "allOf": [ { "required": [ "FirehoseArn", @@ -244,26 +239,12 @@ "OutputFormat" ] }, - { - "allOf": [ - { - "required": [ - "FirehoseArn", - "RoleArn", - "OutputFormat" - ] - } - ] - }, { "oneOf": [ + {}, { "required": [ - "IncludeFilters" - ] - }, - { - "required": [ + "IncludeFilters", "ExcludeFilters" ] } diff --git a/server/schema/resources/aws-codebuild-fleet.json b/server/schema/resources/aws-codebuild-fleet.json index 10600efb..9efe17ed 100644 --- a/server/schema/resources/aws-codebuild-fleet.json +++ b/server/schema/resources/aws-codebuild-fleet.json @@ -35,6 +35,21 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: BUILD_GENERAL1_SMALL | BUILD_GENERAL1_MEDIUM | BUILD_GENERAL1_LARGE | BUILD_GENERAL1_2XLARGE \nUpdate requires: No interruption" }, + "OverflowBehavior": { + "type": "string", + "enum": [ + "QUEUE", + "ON_DEMAND" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: QUEUE | ON_DEMAND \nUpdate requires: No interruption" + }, + "FleetServiceRole": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^(?:arn:)[a-zA-Z+-=,._:/@]+$ \nUpdate requires: No interruption" + }, + "FleetVpcConfig": { + "$ref": "#/definitions/VpcConfig" + }, "Tags": { "type": "array", "insertionOrder": false, @@ -69,6 +84,35 @@ "Key" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "VpcConfig": { + "type": "object", + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Subnets": { + "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" + }, + "SecurityGroupIds": { + "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" } }, "primaryIdentifier": [ @@ -88,7 +132,8 @@ "create": { "permissions": [ "codebuild:BatchGetFleets", - "codebuild:CreateFleet" + "codebuild:CreateFleet", + "iam:PassRole" ] }, "delete": { @@ -110,7 +155,8 @@ "update": { "permissions": [ "codebuild:BatchGetFleets", - "codebuild:UpdateFleet" + "codebuild:UpdateFleet", + "iam:PassRole" ] } }, diff --git a/server/schema/resources/aws-codebuild-project.json b/server/schema/resources/aws-codebuild-project.json index a88c20ab..729f1db8 100644 --- a/server/schema/resources/aws-codebuild-project.json +++ b/server/schema/resources/aws-codebuild-project.json @@ -178,6 +178,20 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ScopeConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Name" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "RegistryCredential": { "type": "object", "additionalProperties": false, @@ -547,6 +561,9 @@ "Webhook": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ScopeConfiguration": { + "$ref": "#/definitions/ScopeConfiguration" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-codepipeline-pipeline.json b/server/schema/resources/aws-codepipeline-pipeline.json index d5769806..2ab2eedf 100644 --- a/server/schema/resources/aws-codepipeline-pipeline.json +++ b/server/schema/resources/aws-codepipeline-pipeline.json @@ -1,149 +1,99 @@ { "typeName": "AWS::CodePipeline::Pipeline", - "description": "Resource Type definition for AWS::CodePipeline::Pipeline", - "additionalProperties": false, - "properties": { - "ArtifactStores": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/ArtifactStoreMap" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "DisableInboundStageTransitions": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/StageTransition" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Stages": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/StageDeclaration" - }, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "ExecutionMode": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "RestartExecutionOnUpdate": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "Triggers": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/PipelineTriggerDeclaration" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "RoleArn": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Name": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "Variables": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/VariableDeclaration" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "ArtifactStore": { - "$ref": "#/definitions/ArtifactStore" - }, - "PipelineType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \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" - } - }, + "description": "The AWS::CodePipeline::Pipeline resource creates a CodePipeline pipeline that describes how software changes go through a release process.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-codepipeline", "definitions": { "BlockerDeclaration": { + "description": "Reserved for future use.", "type": "object", "additionalProperties": false, "properties": { - "Type": { + "Name": { + "description": "Reserved for future use.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Reserved for future use.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Name": { + "Type": { + "description": "Reserved for future use.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "enum": [ + "Schedule" + ], + "markdownDescription": "Reserved for future use.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Schedule \nUpdate requires: No interruption" } }, "required": [ "Type", "Name" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Reserved for future use.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "GitConfiguration": { + "description": "A type of trigger configuration for Git-based source actions.", "type": "object", "additionalProperties": false, "properties": { "Push": { + "description": "The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details.", "type": "array", "uniqueItems": true, "items": { "$ref": "#/definitions/GitPushFilter" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "SourceActionName": { + "description": "The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "PullRequest": { + "description": "The field where the repository event that will start the pipeline is specified as pull requests.", "type": "array", "uniqueItems": true, "items": { "$ref": "#/definitions/GitPullRequestFilter" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The field where the repository event that will start the pipeline is specified as pull requests.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ "SourceActionName" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A type of trigger configuration for Git-based source actions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ActionTypeId": { + "description": "Represents information about an action type.", "type": "object", "additionalProperties": false, "properties": { "Owner": { + "description": "The creator of the action being called. There are three valid values for the Owner field in the action category section within your pipeline structure: AWS, ThirdParty, and Custom.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The creator of the action being called. There are three valid values for the Owner field in the action category section within your pipeline structure: AWS, ThirdParty, and Custom.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Category": { + "description": "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.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "enum": [ + "Source", + "Build", + "Test", + "Deploy", + "Invoke", + "Approval" + ], + "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" }, "Version": { + "description": "A string that describes the action version.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A string that describes the action version.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Provider": { + "description": "The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of CodeDeploy, which would be specified as CodeDeploy.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of CodeDeploy, which would be specified as CodeDeploy.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -152,9 +102,10 @@ "Version", "Provider" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Represents information about an action type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ArtifactStoreMap": { + "description": "A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.", "type": "object", "additionalProperties": false, "properties": { @@ -162,17 +113,19 @@ "$ref": "#/definitions/ArtifactStore" }, "Region": { + "description": "The action declaration's AWS Region, such as us-east-1.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The action declaration's AWS Region, such as us-east-1.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "ArtifactStore", "Region" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "PipelineTriggerDeclaration": { + "description": "Represents information about the specified trigger configuration, such as the filter criteria and the source stage for the action that contains the trigger.", "type": "object", "additionalProperties": false, "properties": { @@ -180,35 +133,43 @@ "$ref": "#/definitions/GitConfiguration" }, "ProviderType": { + "description": "The source provider for the event, such as connections configured for a repository with Git tags, for the specified trigger configuration.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "enum": [ + "CodeStarSourceConnection" + ], + "markdownDescription": "The source provider for the event, such as connections configured for a repository with Git tags, for the specified trigger configuration.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CodeStarSourceConnection \nUpdate requires: No interruption" } }, "required": [ "ProviderType" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Represents information about the specified trigger configuration, such as the filter criteria and the source stage for the action that contains the trigger.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EncryptionKey": { + "description": "Represents information about the key used to encrypt data in the artifact store, such as an AWS Key Management Service (AWS KMS) key", "type": "object", "additionalProperties": false, "properties": { "Type": { + "description": "The type of encryption key, such as an AWS KMS key. When creating or updating a pipeline, the value must be set to 'KMS'.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The type of encryption key, such as an AWS KMS key. When creating or updating a pipeline, the value must be set to 'KMS'.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Id": { + "description": "The ID used to identify the key. For an AWS KMS key, you can use the key ID, the key ARN, or the alias ARN.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ID used to identify the key. For an AWS KMS key, you can use the key ID, the key ARN, or the alias ARN.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Type", "Id" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Represents information about the key used to encrypt data in the artifact store, such as an AWS Key Management Service (AWS KMS) key\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "GitPullRequestFilter": { + "description": "The event criteria for the pull request trigger configuration, such as the lists of branches or file paths to include and exclude.", "type": "object", "additionalProperties": false, "properties": { @@ -216,21 +177,23 @@ "$ref": "#/definitions/GitFilePathFilterCriteria" }, "Events": { + "description": "The field that specifies which pull request events to filter on (opened, updated, closed) for the trigger configuration.", "type": "array", "uniqueItems": 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" + "markdownDescription": "The field that specifies which pull request events to filter on (opened, updated, closed) for the trigger configuration.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Branches": { "$ref": "#/definitions/GitBranchFilterCriteria" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The event criteria for the pull request trigger configuration, such as the lists of branches or file paths to include and exclude.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "GitPushFilter": { + "description": "The event criteria that specify when a specified repository event will start the pipeline for the specified trigger configuration, such as the lists of Git tags to include and exclude.", "type": "object", "additionalProperties": false, "properties": { @@ -244,9 +207,10 @@ "$ref": "#/definitions/GitTagFilterCriteria" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The event criteria that specify when a specified repository event will start the pipeline for the specified trigger configuration, such as the lists of Git tags to include and exclude.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ActionDeclaration": { + "description": "Represents information about an action declaration.", "type": "object", "additionalProperties": false, "properties": { @@ -254,8 +218,9 @@ "$ref": "#/definitions/ActionTypeId" }, "Configuration": { + "description": "The action's configuration. These are key-value pairs that specify input values for an action.", "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The action's configuration. These are key-value pairs that specify input values for an action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "InputArtifacts": { "type": "array", @@ -274,62 +239,72 @@ "markdownDescription": "\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", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The action declaration's AWS Region, such as us-east-1.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Namespace": { + "description": "The variable namespace associated with the action. All variables produced as output by this action fall under this namespace.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The variable namespace associated with the action. All variables produced as output by this action fall under this namespace.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RoleArn": { + "description": "The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline.\n\n---\n\nRequired: No \nType: String \nPattern: arn:aws(-[\\w]+)*:iam::[0-9]{12}:role/.* \nUpdate requires: No interruption" }, "RunOrder": { + "description": "The order in which actions are run.", "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The order in which actions are run.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Name": { + "description": "The action declaration's name.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The action declaration's name.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "TimeoutInMinutes": { + "description": "A timeout duration in minutes that can be applied against the ActionType\u2019s default timeout value specified in Quotas for AWS CodePipeline. This attribute is available only to the manual approval ActionType.", "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "A timeout duration in minutes that can be applied against the ActionType\u2019s default timeout value specified in Quotas for AWS CodePipeline. This attribute is available only to the manual approval ActionType.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "required": [ "ActionTypeId", "Name" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Represents information about an action declaration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "GitFilePathFilterCriteria": { + "description": "The Git repository file paths specified as filter criteria to start the pipeline.", "type": "object", "additionalProperties": false, "properties": { "Includes": { + "description": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.", "type": "array", "uniqueItems": 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" + "markdownDescription": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Excludes": { + "description": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.", "type": "array", "uniqueItems": 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" + "markdownDescription": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The Git repository file paths specified as filter criteria to start the pipeline.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "StageDeclaration": { + "description": "Represents information about a stage and its definition.", "type": "object", "additionalProperties": false, "properties": { @@ -350,199 +325,398 @@ "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, "Name": { + "description": "The name of the stage.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the stage.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "OnFailure": { + "type": "object", + "description": "The method to use when a stage has not completed successfully", + "$ref": "#/definitions/FailureConditions", + "markdownDescription": "The method to use when a stage has not completed successfully\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ "Actions", "Name" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Represents information about a stage and its definition.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "InputArtifact": { + "description": "Represents information about an artifact to be worked on, such as a test or build artifact.", "type": "object", "additionalProperties": false, "properties": { "Name": { + "description": "The name of the artifact to be worked on (for example, \"My App\").", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the artifact to be worked on (for example, \"My App\").\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Name" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Represents information about an artifact to be worked on, such as a test or build artifact.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ArtifactStore": { + "description": "The S3 bucket where artifacts for the pipeline are stored.", "type": "object", "additionalProperties": false, "properties": { "Type": { + "description": "The type of the artifact store, such as S3.", + "enum": [ + "S3" + ], "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The type of the artifact store, such as S3.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: S3 \nUpdate requires: No interruption" }, "EncryptionKey": { "$ref": "#/definitions/EncryptionKey" }, "Location": { + "description": "The S3 bucket used for storing the artifacts for a pipeline. You can specify the name of an S3 bucket but not a folder in the bucket. A folder to contain the pipeline artifacts is created for you based on the name of the pipeline. You can use any S3 bucket in the same AWS Region as the pipeline to store your pipeline artifacts.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The S3 bucket used for storing the artifacts for a pipeline. You can specify the name of an S3 bucket but not a folder in the bucket. A folder to contain the pipeline artifacts is created for you based on the name of the pipeline. You can use any S3 bucket in the same AWS Region as the pipeline to store your pipeline artifacts.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Type", "Location" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The S3 bucket where artifacts for the pipeline are stored.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "VariableDeclaration": { + "description": "A variable declared at the pipeline level.", "type": "object", "additionalProperties": false, "properties": { "DefaultValue": { + "description": "The value of a pipeline-level variable.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The value of a pipeline-level variable.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Description": { + "description": "The description of a pipeline-level variable. It's used to add additional context about the variable, and not being used at time when pipeline executes.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The description of a pipeline-level variable. It's used to add additional context about the variable, and not being used at time when pipeline executes.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Name": { + "description": "The name of a pipeline-level variable.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of a pipeline-level variable.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Name" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A variable declared at the pipeline level.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "StageTransition": { + "description": "The name of the pipeline in which you want to disable the flow of artifacts from one stage to another.", "type": "object", "additionalProperties": false, "properties": { "StageName": { + "description": "The name of the stage where you want to disable the inbound or outbound transition of artifacts.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the stage where you want to disable the inbound or outbound transition of artifacts.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Reason": { + "description": "The reason given to the user that a stage is disabled, such as waiting for manual approval or manual tests. This message is displayed in the pipeline console UI.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The reason given to the user that a stage is disabled, such as waiting for manual approval or manual tests. This message is displayed in the pipeline console UI.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "StageName", "Reason" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The name of the pipeline in which you want to disable the flow of artifacts from one stage to another.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "GitTagFilterCriteria": { + "description": "The Git tags specified as filter criteria for whether a Git tag repository event will start the pipeline.", "type": "object", "additionalProperties": false, "properties": { "Includes": { + "description": "The list of patterns of Git tags that, when pushed, are to be included as criteria that starts the pipeline.", "type": "array", "uniqueItems": 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" + "markdownDescription": "The list of patterns of Git tags that, when pushed, are to be included as criteria that starts the pipeline.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Excludes": { + "description": "The list of patterns of Git tags that, when pushed, are to be excluded from starting the pipeline.", "type": "array", "uniqueItems": 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" + "markdownDescription": "The list of patterns of Git tags that, when pushed, are to be excluded from starting the pipeline.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The Git tags specified as filter criteria for whether a Git tag repository event will start the pipeline.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { + "description": "A tag is a key-value pair that is used to manage the resource.", "type": "object", "additionalProperties": false, "properties": { "Value": { + "description": "The tag's value.", "type": "string", - "markdownDescription": "\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" }, "Key": { + "description": "The tag's key.", "type": "string", - "markdownDescription": "\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" } }, "required": [ "Value", "Key" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A tag is a key-value pair that is used to manage the resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "GitBranchFilterCriteria": { + "description": "The Git repository branches specified as filter criteria to start the pipeline.", "type": "object", "additionalProperties": false, "properties": { "Includes": { + "description": "The list of patterns of Git branches that, when a commit is pushed, are to be included as criteria that starts the pipeline.", "type": "array", "uniqueItems": 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" + "markdownDescription": "The list of patterns of Git branches that, when a commit is pushed, are to be included as criteria that starts the pipeline.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Excludes": { + "description": "The list of patterns of Git branches that, when a commit is pushed, are to be excluded from starting the pipeline.", "type": "array", "uniqueItems": 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" + "markdownDescription": "The list of patterns of Git branches that, when a commit is pushed, are to be excluded from starting the pipeline.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The Git repository branches specified as filter criteria to start the pipeline.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "OutputArtifact": { + "description": "Represents information about the output of an action.", "type": "object", "additionalProperties": false, "properties": { "Name": { + "description": "The name of the output of an artifact, such as \"My App\".", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the output of an artifact, such as \"My App\".\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Name" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Represents information about the output of an action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "FailureConditions": { + "description": "The configuration that specifies the result, such as rollback, to occur upon stage failure", + "type": "object", + "additionalProperties": false, + "properties": { + "Result": { + "type": "string", + "description": "The specified result for when the failure conditions are met, such as rolling back the stage", + "enum": [ + "ROLLBACK" + ], + "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 configuration that specifies the result, such as rollback, to occur upon stage failure\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "properties": { + "ArtifactStores": { + "description": "A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/ArtifactStoreMap" + }, + "markdownDescription": "A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "DisableInboundStageTransitions": { + "description": "Represents the input of a DisableStageTransition action.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/StageTransition" + }, + "markdownDescription": "Represents the input of a DisableStageTransition action.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Stages": { + "description": "Represents information about a stage and its definition.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/StageDeclaration" + }, + "markdownDescription": "Represents information about a stage and its definition.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "ExecutionMode": { + "description": "The method that the pipeline will use to handle multiple executions. The default mode is SUPERSEDED.", + "enum": [ + "QUEUED", + "SUPERSEDED", + "PARALLEL" + ], + "default": "SUPERSEDED", + "type": "string", + "markdownDescription": "The method that the pipeline will use to handle multiple executions. The default mode is SUPERSEDED.\n\n---\n\nRequired: No \nType: String \nAllowed Values: QUEUED | SUPERSEDED | PARALLEL \nUpdate requires: No interruption" + }, + "RestartExecutionOnUpdate": { + "description": "Indicates whether to rerun the CodePipeline pipeline after you update it.", + "type": "boolean", + "markdownDescription": "Indicates whether to rerun the CodePipeline pipeline after you update it.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Triggers": { + "description": "The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/PipelineTriggerDeclaration" + }, + "markdownDescription": "The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RoleArn": { + "description": "The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn\n\n---\n\nRequired: Yes \nType: String \nPattern: arn:aws(-[\\w]+)*:iam::[0-9]{12}:role/.* \nUpdate requires: No interruption" + }, + "Name": { + "description": "The name of the pipeline.", + "type": "string", + "markdownDescription": "The name of the pipeline.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Variables": { + "description": "A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@\\-_]+.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/VariableDeclaration" + }, + "markdownDescription": "A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@\\-_]+.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ArtifactStore": { + "description": "The S3 bucket where artifacts for the pipeline are stored.", + "$ref": "#/definitions/ArtifactStore", + "markdownDescription": "The S3 bucket where artifacts for the pipeline are stored.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "PipelineType": { + "description": "CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.", + "type": "string", + "enum": [ + "V1", + "V2" + ], + "markdownDescription": "CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.\n\n---\n\nRequired: No \nType: String \nAllowed Values: V1 | V2 \nUpdate requires: No interruption" + }, + "Tags": { + "description": "Specifies the tags applied to the pipeline.", + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies the tags applied to the pipeline.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, "required": [ "Stages", "RoleArn" ], - "createOnlyProperties": [ - "/properties/Name" + "readOnlyProperties": [ + "/properties/Version" ], "primaryIdentifier": [ - "/properties/Id" + "/properties/Name" ], - "readOnlyProperties": [ - "/properties/Id", - "/properties/Version" + "createOnlyProperties": [ + "/properties/Name" + ], + "writeOnlyProperties": [ + "/properties/RestartExecutionOnUpdate" ], + "handlers": { + "create": { + "permissions": [ + "iam:GetRole", + "iam:PassRole", + "codepipeline:GetPipeline", + "codepipeline:CreatePipeline", + "codepipeline:DisableStageTransition", + "codepipeline:GetPipelineState", + "codepipeline:TagResource", + "codestar-connections:PassConnection" + ] + }, + "read": { + "permissions": [ + "codepipeline:GetPipeline", + "codepipeline:ListTagsForResource", + "codepipeline:GetPipelineState" + ] + }, + "update": { + "permissions": [ + "iam:GetRole", + "iam:PassRole", + "codepipeline:EnableStageTransition", + "codepipeline:StartPipelineExecution", + "codepipeline:GetPipeline", + "codepipeline:UpdatePipeline", + "codepipeline:GetPipelineState", + "codepipeline:DisableStageTransition", + "codepipeline:TagResource", + "codepipeline:UntagResource", + "codestar-connections:PassConnection" + ] + }, + "delete": { + "permissions": [ + "codepipeline:GetPipeline", + "codepipeline:DeletePipeline" + ] + }, + "list": { + "permissions": [ + "codepipeline:ListPipelines" + ] + } + }, "attributes": { "Version": { + "description": "The version of the pipeline.", "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 version of the pipeline.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-cognito-userpoolresourceserver.json b/server/schema/resources/aws-cognito-userpoolresourceserver.json index e4ff8833..1b369725 100644 --- a/server/schema/resources/aws-cognito-userpoolresourceserver.json +++ b/server/schema/resources/aws-cognito-userpoolresourceserver.json @@ -1,69 +1,110 @@ { "typeName": "AWS::Cognito::UserPoolResourceServer", "description": "Resource Type definition for AWS::Cognito::UserPoolResourceServer", - "additionalProperties": false, - "properties": { - "UserPoolId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "Identifier": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "Scopes": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/ResourceServerScopeType" - }, - "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" - } + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false }, "definitions": { "ResourceServerScopeType": { "type": "object", - "additionalProperties": false, "properties": { - "ScopeName": { + "ScopeDescription": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "ScopeDescription": { + "ScopeName": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "ScopeName", - "ScopeDescription" + "ScopeDescription", + "ScopeName" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "properties": { + "UserPoolId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "Identifier": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Scopes": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceServerScopeType" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, "required": [ "UserPoolId", "Identifier", "Name" ], "createOnlyProperties": [ - "/properties/Identifier", - "/properties/UserPoolId" + "/properties/UserPoolId", + "/properties/Identifier" ], "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id" + "/properties/UserPoolId", + "/properties/Identifier" ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "handlers": { + "create": { + "permissions": [ + "cognito-idp:CreateResourceServer", + "iam:PassRole" + ], + "timeoutInMinutes": 2 + }, + "read": { + "permissions": [ + "cognito-idp:DescribeResourceServer" + ] + }, + "update": { + "permissions": [ + "cognito-idp:UpdateResourceServer", + "iam:PassRole" + ], + "timeoutInMinutes": 2 + }, + "delete": { + "permissions": [ + "cognito-idp:DeleteResourceServer" + ], + "timeoutInMinutes": 2 + }, + "list": { + "handlerSchema": { + "properties": { + "UserPoolId": { + "$ref": "resource-schema.json#/properties/UserPoolId" + } + }, + "required": [ + "UserPoolId" + ] + }, + "permissions": [ + "cognito-idp:ListResourceServers" + ] } - } + }, + "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-cognito-userpooluicustomizationattachment.json b/server/schema/resources/aws-cognito-userpooluicustomizationattachment.json index e24475e2..8a846764 100644 --- a/server/schema/resources/aws-cognito-userpooluicustomizationattachment.json +++ b/server/schema/resources/aws-cognito-userpooluicustomizationattachment.json @@ -1,12 +1,14 @@ { "typeName": "AWS::Cognito::UserPoolUICustomizationAttachment", "description": "Resource Type definition for AWS::Cognito::UserPoolUICustomizationAttachment", - "additionalProperties": false, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "properties": { - "CSS": { - "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: Replacement" @@ -14,26 +16,51 @@ "ClientId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "CSS": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "additionalProperties": false, "required": [ - "ClientId", - "UserPoolId" + "UserPoolId", + "ClientId" ], - "createOnlyProperties": [ + "primaryIdentifier": [ "/properties/UserPoolId", "/properties/ClientId" ], - "readOnlyProperties": [ - "/properties/Id" - ], - "primaryIdentifier": [ - "/properties/Id" + "createOnlyProperties": [ + "/properties/UserPoolId", + "/properties/ClientId" ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "handlers": { + "create": { + "permissions": [ + "cognito-idp:SetUICustomization", + "cognito-idp:GetUICustomization" + ], + "timeoutInMinutes": 2 + }, + "read": { + "permissions": [ + "cognito-idp:GetUICustomization" + ] + }, + "update": { + "permissions": [ + "cognito-idp:SetUICustomization" + ], + "timeoutInMinutes": 2 + }, + "delete": { + "permissions": [ + "cognito-idp:SetUICustomization", + "cognito-idp:GetUICustomization" + ], + "timeoutInMinutes": 2 } - } + }, + "attributes": {} } \ 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 b771ba9e..6a82ebbc 100644 --- a/server/schema/resources/aws-connect-evaluationform.json +++ b/server/schema/resources/aws-connect-evaluationform.json @@ -1,6 +1,6 @@ { "typeName": "AWS::Connect::EvaluationForm", - "description": "Resource Type definition for AWS::Connect::EvaluationForm", + "description": "Creates an evaluation form for the specified CON instance.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", "definitions": { "RefId": { @@ -23,64 +23,64 @@ "markdownDescription": "The score of an answer option.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "EvaluationFormBaseItem": { - "description": "The evaluation form base item.", + "description": "An item at the root level. All items must be sections.", "type": "object", "additionalProperties": false, "properties": { "Section": { - "description": "The evaluation form section item", + "description": "A subsection or inner section of an item.", "$ref": "#/definitions/EvaluationFormSection", - "markdownDescription": "The evaluation form section item\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "markdownDescription": "A subsection or inner section of an item.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ "Section" ], - "markdownDescription": "The evaluation form base item.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "An item at the root level. All items must be sections.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EvaluationFormItem": { - "description": "The evaluation form item.", + "description": "Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.", "type": "object", "additionalProperties": false, "properties": { "Section": { - "description": "The evaluation form section item", + "description": "The information of the section.", "$ref": "#/definitions/EvaluationFormSection", - "markdownDescription": "The evaluation form section item\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The information of the section.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Question": { - "description": "The evaluation form question item", + "description": "The information of the question.", "$ref": "#/definitions/EvaluationFormQuestion", - "markdownDescription": "The evaluation form question item\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The information of the question.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "The evaluation form item.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EvaluationFormSection": { - "description": "The evaluation form section.", + "description": "Information about a section from an evaluation form. A section can contain sections and/or questions. Evaluation forms can only contain sections and subsections (two level nesting).", "type": "object", "additionalProperties": false, "properties": { "Title": { - "description": "The title of the section.", + "description": "The title of the section.\n *Length Constraints*: Minimum length of 1. Maximum length of 128.", "type": "string", "minLength": 1, "maxLength": 128, - "markdownDescription": "The title of the section.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "The title of the section.\n *Length Constraints*: Minimum length of 1. Maximum length of 128.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Instructions": { - "description": "The instructions for the section.", + "description": "The instructions of the section.", "type": "string", "maxLength": 1024, - "markdownDescription": "The instructions for the section.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + "markdownDescription": "The instructions of the section.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "RefId": { - "description": "The identifier to reference the section.", + "description": "The identifier of the section. An identifier must be unique within the evaluation form.\n *Length Constraints*: Minimum length of 1. Maximum length of 40.", "$ref": "#/definitions/RefId", - "markdownDescription": "The identifier to reference the section.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "markdownDescription": "The identifier of the section. An identifier must be unique within the evaluation form.\n *Length Constraints*: Minimum length of 1. Maximum length of 40.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "Items": { - "description": "The list of section items.", + "description": "The items of the section.\n *Minimum*: 1", "type": "array", "insertionOrder": true, "minItems": 1, @@ -88,59 +88,59 @@ "items": { "$ref": "#/definitions/EvaluationFormItem" }, - "markdownDescription": "The list of section items.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The items of the section.\n *Minimum*: 1\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Weight": { - "description": "The item weight used for scoring.", + "description": "The scoring weight of the section.\n *Minimum*: 0 \n *Maximum*: 100", "$ref": "#/definitions/Weight", - "markdownDescription": "The item weight used for scoring.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The scoring weight of the section.\n *Minimum*: 0 \n *Maximum*: 100\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "RefId", "Title" ], - "markdownDescription": "The evaluation form section.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about a section from an evaluation form. A section can contain sections and/or questions. Evaluation forms can only contain sections and subsections (two level nesting).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EvaluationFormNumericQuestionOption": { - "description": "The option ranges used for scoring in numeric questions.", + "description": "Information about the option range used for scoring in numeric questions.", "type": "object", "additionalProperties": false, "properties": { "MinValue": { - "description": "The minimum value of the option range.", + "description": "The minimum answer value of the range option.", "type": "integer", - "markdownDescription": "The minimum value of the option range.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The minimum answer value of the range option.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "MaxValue": { - "description": "The maximum value of the option range.", + "description": "The maximum answer value of the range option.", "type": "integer", - "markdownDescription": "The maximum value of the option range.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The maximum answer value of the range option.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "Score": { - "description": "The score of the option range.", + "description": "The score assigned to answer values within the range option.\n *Minimum*: 0\n *Maximum*: 10", "$ref": "#/definitions/Score", - "markdownDescription": "The score of the option range.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The score assigned to answer values within the range option.\n *Minimum*: 0\n *Maximum*: 10\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "AutomaticFail": { - "description": "The flag to mark the option as automatic fail.", + "description": "The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.", "type": "boolean", - "markdownDescription": "The flag to mark the option as automatic fail.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ "MinValue", "MaxValue" ], - "markdownDescription": "The option ranges used for scoring in numeric questions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about the option range used for scoring in numeric questions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "NumericQuestionPropertyValueAutomation": { - "description": "The automation property name of the question.", + "description": "Information about the property value used in automation of a numeric questions.", "type": "object", "additionalProperties": false, "properties": { "Label": { - "description": "The automation property label.", + "description": "The property label of the automation.", "type": "string", "enum": [ "OVERALL_CUSTOMER_SENTIMENT_SCORE", @@ -152,47 +152,47 @@ "AGENT_INTERACTION_DURATION", "CUSTOMER_HOLD_TIME" ], - "markdownDescription": "The automation property label.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: OVERALL_CUSTOMER_SENTIMENT_SCORE | OVERALL_AGENT_SENTIMENT_SCORE | NON_TALK_TIME | NON_TALK_TIME_PERCENTAGE | NUMBER_OF_INTERRUPTIONS | CONTACT_DURATION | AGENT_INTERACTION_DURATION | CUSTOMER_HOLD_TIME \nUpdate requires: No interruption" + "markdownDescription": "The property label of the automation.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: OVERALL_CUSTOMER_SENTIMENT_SCORE | OVERALL_AGENT_SENTIMENT_SCORE | NON_TALK_TIME | NON_TALK_TIME_PERCENTAGE | NUMBER_OF_INTERRUPTIONS | CONTACT_DURATION | AGENT_INTERACTION_DURATION | CUSTOMER_HOLD_TIME \nUpdate requires: No interruption" } }, "required": [ "Label" ], - "markdownDescription": "The automation property name of the question.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about the property value used in automation of a numeric questions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EvaluationFormNumericQuestionAutomation": { - "description": "The automation properties for the numeric question.", + "description": "Information about the automation configuration in numeric questions.", "type": "object", "additionalProperties": false, "properties": { "PropertyValue": { - "description": "The automation property name of the question.", + "description": "The property value of the automation.", "$ref": "#/definitions/NumericQuestionPropertyValueAutomation", - "markdownDescription": "The automation property name of the question.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "markdownDescription": "The property value of the automation.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ "PropertyValue" ], - "markdownDescription": "The automation properties for the numeric question.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about the automation configuration in numeric questions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EvaluationFormNumericQuestionProperties": { - "description": "The properties of the numeric question.", + "description": "Information about properties for a numeric question in an evaluation form.", "type": "object", "additionalProperties": false, "properties": { "MinValue": { - "description": "The minimum value for answers of the question.", + "description": "The minimum answer value.", "type": "integer", - "markdownDescription": "The minimum value for answers of the question.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The minimum answer value.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "MaxValue": { - "description": "The maximum value for answers of the question.", + "description": "The maximum answer value.", "type": "integer", - "markdownDescription": "The maximum value for answers of the question.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The maximum answer value.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "Options": { - "description": "The list of option ranges used for scoring.", + "description": "The scoring options of the numeric question.", "type": "array", "insertionOrder": true, "minItems": 1, @@ -200,61 +200,61 @@ "items": { "$ref": "#/definitions/EvaluationFormNumericQuestionOption" }, - "markdownDescription": "The list of option ranges used for scoring.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The scoring options of the numeric question.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Automation": { - "description": "The automation properties for the numeric question.", + "description": "The automation properties of the numeric question.", "$ref": "#/definitions/EvaluationFormNumericQuestionAutomation", - "markdownDescription": "The automation properties for the numeric question.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The automation properties of the numeric question.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "MinValue", "MaxValue" ], - "markdownDescription": "The properties of the numeric question.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about properties for a numeric question in an evaluation form.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EvaluationFormSingleSelectQuestionAutomationOption": { - "description": "The automation option for the single-select question.", + "description": "The automation options of the single select question.", "type": "object", "additionalProperties": false, "properties": { "RuleCategory": { - "description": "The automation option based on Rules categories.", + "description": "The automation option based on a rule category for the single select question.", "$ref": "#/definitions/SingleSelectQuestionRuleCategoryAutomation", - "markdownDescription": "The automation option based on Rules categories.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "markdownDescription": "The automation option based on a rule category for the single select question.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ "RuleCategory" ], - "markdownDescription": "The automation option for the single-select question.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The automation options of the single select question.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SingleSelectQuestionRuleCategoryAutomation": { - "description": "The automation option based on Rules categories.", + "description": "Information about the automation option based on a rule category for a single select question.\n *Length Constraints*: Minimum length of 1. Maximum length of 50.", "type": "object", "additionalProperties": false, "properties": { "Category": { - "description": "The category name as defined in Rules.", + "description": "The category name, as defined in Rules.\n *Minimum*: 1\n *Maximum*: 50", "type": "string", "minLength": 1, "maxLength": 50, - "markdownDescription": "The category name as defined in Rules.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" + "markdownDescription": "The category name, as defined in Rules.\n *Minimum*: 1\n *Maximum*: 50\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" }, "Condition": { - "description": "The automation condition applied on contact categories.", + "description": "The condition to apply for the automation option. If the condition is PRESENT, then the option is applied when the contact data includes the category. Similarly, if the condition is NOT_PRESENT, then the option is applied when the contact data does not include the category.\n *Allowed values*: ``PRESENT`` | ``NOT_PRESENT`` \n *Maximum*: 50", "type": "string", "enum": [ "PRESENT", "NOT_PRESENT" ], - "markdownDescription": "The automation condition applied on contact categories.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: PRESENT | NOT_PRESENT \nUpdate requires: No interruption" + "markdownDescription": "The condition to apply for the automation option. If the condition is PRESENT, then the option is applied when the contact data includes the category. Similarly, if the condition is NOT_PRESENT, then the option is applied when the contact data does not include the category.\n *Allowed values*: ``PRESENT`` | ``NOT_PRESENT`` \n *Maximum*: 50\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: PRESENT | NOT_PRESENT \nUpdate requires: No interruption" }, "OptionRefId": { - "description": "The option identifier referencing the option to be selected when the automation option is triggered.", + "description": "The identifier of the answer option. An identifier must be unique within the question.\n *Length Constraints*: Minimum length of 1. Maximum length of 40.", "$ref": "#/definitions/RefId", - "markdownDescription": "The option identifier referencing the option to be selected when the automation option is triggered.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "markdownDescription": "The identifier of the answer option. An identifier must be unique within the question.\n *Length Constraints*: Minimum length of 1. Maximum length of 40.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -262,15 +262,15 @@ "Condition", "OptionRefId" ], - "markdownDescription": "The automation option based on Rules categories.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about the automation option based on a rule category for a single select question.\n *Length Constraints*: Minimum length of 1. Maximum length of 50.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EvaluationFormSingleSelectQuestionAutomation": { - "description": "The automation properties for the single-select question.", + "description": "Information about the automation configuration in single select questions. Automation options are evaluated in order, and the first matched option is applied. If no automation option matches, and there is a default option, then the default option is applied.", "type": "object", "additionalProperties": false, "properties": { "Options": { - "description": "The answer options for the automation.", + "description": "The automation options of the single select question.\n *Minimum*: 1\n *Maximum*: 20", "type": "array", "insertionOrder": true, "minItems": 1, @@ -278,60 +278,60 @@ "items": { "$ref": "#/definitions/EvaluationFormSingleSelectQuestionAutomationOption" }, - "markdownDescription": "The answer options for the automation.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The automation options of the single select question.\n *Minimum*: 1\n *Maximum*: 20\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, "DefaultOptionRefId": { - "description": "The option reference identifier of the default answer.", + "description": "The identifier of the default answer option, when none of the automation options match the criteria.\n *Length Constraints*: Minimum length of 1. Maximum length of 40.", "$ref": "#/definitions/RefId", - "markdownDescription": "The option reference identifier of the default answer.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The identifier of the default answer option, when none of the automation options match the criteria.\n *Length Constraints*: Minimum length of 1. Maximum length of 40.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "Options" ], - "markdownDescription": "The automation properties for the single-select question.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about the automation configuration in single select questions. Automation options are evaluated in order, and the first matched option is applied. If no automation option matches, and there is a default option, then the default option is applied.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EvaluationFormSingleSelectQuestionOption": { - "description": "The option for a question.", + "description": "Information about the automation configuration in single select questions.", "type": "object", "additionalProperties": false, "properties": { "RefId": { - "description": "The identifier used to reference the option.", + "description": "The identifier of the answer option. An identifier must be unique within the question.\n *Length Constraints*: Minimum length of 1. Maximum length of 40.", "$ref": "#/definitions/RefId", - "markdownDescription": "The identifier used to reference the option.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "markdownDescription": "The identifier of the answer option. An identifier must be unique within the question.\n *Length Constraints*: Minimum length of 1. Maximum length of 40.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "Text": { - "description": "The title of the option.", + "description": "The title of the answer option.\n *Length Constraints*: Minimum length of 1. Maximum length of 128.", "type": "string", "minLength": 1, "maxLength": 128, - "markdownDescription": "The title of the option.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "The title of the answer option.\n *Length Constraints*: Minimum length of 1. Maximum length of 128.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Score": { - "description": "The score of the option.", + "description": "The score assigned to the answer option.\n *Minimum*: 0\n *Maximum*: 10", "$ref": "#/definitions/Score", - "markdownDescription": "The score of the option.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The score assigned to the answer option.\n *Minimum*: 0\n *Maximum*: 10\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "AutomaticFail": { - "description": "The flag to mark the option as automatic fail.", + "description": "The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.", "type": "boolean", - "markdownDescription": "The flag to mark the option as automatic fail.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ "RefId", "Text" ], - "markdownDescription": "The option for a question.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about the automation configuration in single select questions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EvaluationFormSingleSelectQuestionProperties": { - "description": "The properties of the single-select question.", + "description": "Information about the options in single select questions.", "type": "object", "additionalProperties": false, "properties": { "Options": { - "description": "The list of options for the question.", + "description": "The answer options of the single select question.\n *Minimum*: 2\n *Maximum*: 256", "type": "array", "insertionOrder": true, "minItems": 2, @@ -339,30 +339,30 @@ "items": { "$ref": "#/definitions/EvaluationFormSingleSelectQuestionOption" }, - "markdownDescription": "The list of options for the question.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The answer options of the single select question.\n *Minimum*: 2\n *Maximum*: 256\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, "DisplayAs": { - "description": "The display mode of the single-select question.", + "description": "The display mode of the single select question.\n *Allowed values*: ``DROPDOWN`` | ``RADIO``", "type": "string", "enum": [ "DROPDOWN", "RADIO" ], - "markdownDescription": "The display mode of the single-select question.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DROPDOWN | RADIO \nUpdate requires: No interruption" + "markdownDescription": "The display mode of the single select question.\n *Allowed values*: ``DROPDOWN`` | ``RADIO``\n\n---\n\nRequired: No \nType: String \nAllowed Values: DROPDOWN | RADIO \nUpdate requires: No interruption" }, "Automation": { - "description": "The automation properties for the single-select question.", + "description": "The display mode of the single select question.", "$ref": "#/definitions/EvaluationFormSingleSelectQuestionAutomation", - "markdownDescription": "The automation properties for the single-select question.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The display mode of the single select question.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "Options" ], - "markdownDescription": "The properties of the single-select question.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about the options in single select questions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EvaluationFormQuestionTypeProperties": { - "description": "The properties of the question.", + "description": "Information about properties for a question in an evaluation form. The question type properties must be either for a numeric question or a single select question.", "type": "object", "additionalProperties": false, "properties": { @@ -372,35 +372,35 @@ "markdownDescription": "The properties of the numeric question.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "SingleSelect": { - "description": "The properties of the single-select question.", + "description": "The properties of the numeric question.", "$ref": "#/definitions/EvaluationFormSingleSelectQuestionProperties", - "markdownDescription": "The properties of the single-select question.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The properties of the numeric question.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "The properties of the question.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about properties for a question in an evaluation form. The question type properties must be either for a numeric question or a single select question.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EvaluationFormQuestion": { - "description": "The evaluation form question.", + "description": "Information about a question from an evaluation form.", "type": "object", "additionalProperties": false, "properties": { "Title": { - "description": "The title of the question.", + "description": "The title of the question.\n *Length Constraints*: Minimum length of 1. Maximum length of 350.", "type": "string", "minLength": 1, "maxLength": 350, - "markdownDescription": "The title of the question.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 350 \nUpdate requires: No interruption" + "markdownDescription": "The title of the question.\n *Length Constraints*: Minimum length of 1. Maximum length of 350.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 350 \nUpdate requires: No interruption" }, "Instructions": { - "description": "The instructions for the question.", + "description": "The instructions of the section.\n *Length Constraints*: Minimum length of 0. Maximum length of 1024.", "type": "string", "maxLength": 1024, - "markdownDescription": "The instructions for the question.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + "markdownDescription": "The instructions of the section.\n *Length Constraints*: Minimum length of 0. Maximum length of 1024.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "RefId": { - "description": "The identifier used to reference the question.", + "description": "The identifier of the question. An identifier must be unique within the evaluation form.\n *Length Constraints*: Minimum length of 1. Maximum length of 40.", "$ref": "#/definitions/RefId", - "markdownDescription": "The identifier used to reference the question.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "markdownDescription": "The identifier of the question. An identifier must be unique within the evaluation form.\n *Length Constraints*: Minimum length of 1. Maximum length of 40.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "NotApplicableEnabled": { "description": "The flag to enable not applicable answers to the question.", @@ -408,24 +408,24 @@ "markdownDescription": "The flag to enable not applicable answers to the question.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "QuestionType": { - "description": "The type of the question.", + "description": "The type of the question.\n *Allowed values*: ``NUMERIC`` | ``SINGLESELECT`` | ``TEXT``", "type": "string", "enum": [ "NUMERIC", "SINGLESELECT", "TEXT" ], - "markdownDescription": "The type of the question.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: NUMERIC | SINGLESELECT | TEXT \nUpdate requires: No interruption" + "markdownDescription": "The type of the question.\n *Allowed values*: ``NUMERIC`` | ``SINGLESELECT`` | ``TEXT``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: NUMERIC | SINGLESELECT | TEXT \nUpdate requires: No interruption" }, "QuestionTypeProperties": { - "description": "The properties of the question", + "description": "The properties of the type of question. Text questions do not have to define question type properties.", "$ref": "#/definitions/EvaluationFormQuestionTypeProperties", - "markdownDescription": "The properties of the question\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The properties of the type of question. Text questions do not have to define question type properties.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Weight": { - "description": "The question weight used for scoring.", + "description": "The scoring weight of the section.\n *Minimum*: 0\n *Maximum*: 100", "$ref": "#/definitions/Weight", - "markdownDescription": "The question weight used for scoring.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The scoring weight of the section.\n *Minimum*: 0\n *Maximum*: 100\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -433,37 +433,37 @@ "Title", "QuestionType" ], - "markdownDescription": "The evaluation form question.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about a question from an evaluation form.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ScoringStrategy": { - "description": "The scoring strategy.", + "description": "A scoring strategy of the evaluation form.", "type": "object", "additionalProperties": false, "properties": { "Mode": { - "description": "The scoring mode.", + "description": "The scoring mode of the evaluation form.\n *Allowed values*: ``QUESTION_ONLY`` | ``SECTION_ONLY``", "type": "string", "enum": [ "QUESTION_ONLY", "SECTION_ONLY" ], - "markdownDescription": "The scoring mode.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: QUESTION_ONLY | SECTION_ONLY \nUpdate requires: No interruption" + "markdownDescription": "The scoring mode of the evaluation form.\n *Allowed values*: ``QUESTION_ONLY`` | ``SECTION_ONLY``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: QUESTION_ONLY | SECTION_ONLY \nUpdate requires: No interruption" }, "Status": { - "description": "The scoring status.", + "description": "The scoring status of the evaluation form.\n *Allowed values*: ``ENABLED`` | ``DISABLED``", "type": "string", "enum": [ "ENABLED", "DISABLED" ], - "markdownDescription": "The scoring status.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + "markdownDescription": "The scoring status of the evaluation form.\n *Allowed values*: ``ENABLED`` | ``DISABLED``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" } }, "required": [ "Mode", "Status" ], - "markdownDescription": "The scoring strategy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A scoring strategy of the evaluation form.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "description": "A key-value pair to associate with a resource.", @@ -472,16 +472,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": [ @@ -493,25 +493,25 @@ }, "properties": { "Title": { - "description": "The title of the evaluation form.", + "description": "A title of the evaluation form.", "type": "string", "minLength": 1, "maxLength": 128, - "markdownDescription": "The title of the evaluation form.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "A title of the evaluation form.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Description": { - "description": "The description of the evaluation form.", + "description": "The description of the evaluation form.\n *Length Constraints*: Minimum length of 0. Maximum length of 1024.", "type": "string", "maxLength": 1024, - "markdownDescription": "The description of the evaluation form.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + "markdownDescription": "The description of the evaluation form.\n *Length Constraints*: Minimum length of 0. Maximum length of 1024.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "InstanceArn": { - "description": "The Amazon Resource Name (ARN) of the instance.", + "description": "The identifier of the Amazon Connect instance.", "type": "string", - "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: 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" }, "Items": { - "description": "The list of evaluation form items.", + "description": "Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.\n *Minimum size*: 1\n *Maximum size*: 100", "type": "array", "insertionOrder": true, "minItems": 1, @@ -519,25 +519,25 @@ "items": { "$ref": "#/definitions/EvaluationFormBaseItem" }, - "markdownDescription": "The list of evaluation form items.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.\n *Minimum size*: 1\n *Maximum size*: 100\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, "ScoringStrategy": { - "description": "The scoring strategy.", + "description": "A scoring strategy of the evaluation form.", "$ref": "#/definitions/ScoringStrategy", - "markdownDescription": "The scoring strategy.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "A scoring strategy of the evaluation form.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Status": { - "description": "The status of the evaluation form.", + "description": "The status of the evaluation form.\n *Allowed values*: ``DRAFT`` | ``ACTIVE``", "type": "string", "default": "DRAFT", "enum": [ "DRAFT", "ACTIVE" ], - "markdownDescription": "The status of the evaluation form.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DRAFT | ACTIVE \nUpdate requires: No interruption" + "markdownDescription": "The status of the evaluation form.\n *Allowed values*: ``DRAFT`` | ``ACTIVE``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DRAFT | ACTIVE \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, @@ -545,7 +545,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" } }, "additionalProperties": false, @@ -606,9 +606,9 @@ }, "attributes": { "EvaluationFormArn": { - "description": "The Amazon Resource Name (ARN) for the evaluation form.", + "description": "", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) for the evaluation form.\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]*/evaluation-form/[-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]*/evaluation-form/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-connect-routingprofile.json b/server/schema/resources/aws-connect-routingprofile.json index 88af3a67..7345e8ac 100644 --- a/server/schema/resources/aws-connect-routingprofile.json +++ b/server/schema/resources/aws-connect-routingprofile.json @@ -187,7 +187,6 @@ "description": "The queues to associate with this routing profile.", "type": "array", "minItems": 1, - "maxItems": 10, "insertionOrder": false, "items": { "$ref": "#/definitions/RoutingProfileQueueConfig" diff --git a/server/schema/resources/aws-connect-rule.json b/server/schema/resources/aws-connect-rule.json index c1f58a7a..c6d0744d 100644 --- a/server/schema/resources/aws-connect-rule.json +++ b/server/schema/resources/aws-connect-rule.json @@ -166,6 +166,22 @@ "additionalProperties": false, "markdownDescription": "The definition of task action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SubmitAutoEvaluationAction": { + "description": "The definition of submit auto evaluation action.", + "type": "object", + "properties": { + "EvaluationFormArn": { + "description": "The Amazon Resource Name (ARN) of the evaluation form.", + "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" + } + }, + "required": [ + "EvaluationFormArn" + ], + "additionalProperties": false, + "markdownDescription": "The definition of submit auto evaluation action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "EventBridgeAction": { "description": "The definition for event bridge action.", "type": "object", @@ -393,6 +409,18 @@ "maxItems": 1, "markdownDescription": "This action will end associated tasks when a rule is triggered.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "SubmitAutoEvaluationActions": { + "description": "This action will submit an auto contact evaluation when a rule is triggered.", + "type": "array", + "insertionOrder": false, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/SubmitAutoEvaluationAction" + }, + "minItems": 1, + "maxItems": 1, + "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.", "type": "object", @@ -417,6 +445,9 @@ }, "EndAssociatedTasksActions": { "$ref": "#/definitions/EndAssociatedTasksActions" + }, + "SubmitAutoEvaluationActions": { + "$ref": "#/definitions/SubmitAutoEvaluationActions" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-connectcampaigns-campaign.json b/server/schema/resources/aws-connectcampaigns-campaign.json index 6fb7e798..c05bf7b4 100644 --- a/server/schema/resources/aws-connectcampaigns-campaign.json +++ b/server/schema/resources/aws-connectcampaigns-campaign.json @@ -142,6 +142,11 @@ "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": [ diff --git a/server/schema/resources/aws-controltower-enabledcontrol.json b/server/schema/resources/aws-controltower-enabledcontrol.json index de74a68f..0e9e99c6 100644 --- a/server/schema/resources/aws-controltower-enabledcontrol.json +++ b/server/schema/resources/aws-controltower-enabledcontrol.json @@ -138,7 +138,8 @@ "organizations:ListPoliciesForTarget", "organizations:ListTargetsForPolicy", "organizations:DescribePolicy" - ] + ], + "timeoutInMinutes": 720 }, "update": { "permissions": [ @@ -155,7 +156,8 @@ "organizations:ListPoliciesForTarget", "organizations:ListTargetsForPolicy", "organizations:DescribePolicy" - ] + ], + "timeoutInMinutes": 720 }, "delete": { "permissions": [ @@ -169,7 +171,8 @@ "organizations:ListPoliciesForTarget", "organizations:ListTargetsForPolicy", "organizations:DescribePolicy" - ] + ], + "timeoutInMinutes": 720 }, "read": { "permissions": [ diff --git a/server/schema/resources/aws-datasync-agent.json b/server/schema/resources/aws-datasync-agent.json index 5ce28882..acc28828 100644 --- a/server/schema/resources/aws-datasync-agent.json +++ b/server/schema/resources/aws-datasync-agent.json @@ -35,8 +35,8 @@ "description": "The name configured for the agent. Text reference used to identify the agent in the console.", "type": "string", "maxLength": 256, - "minLength": 1, - "markdownDescription": "The name configured for the agent. Text reference used to identify the agent in the console.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9\\s+=._:@/-]+$ \nUpdate requires: No interruption" + "minLength": 0, + "markdownDescription": "The name configured for the agent. Text reference used to identify the agent in the console.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9\\s+=._:@/-]+$ \nUpdate requires: No interruption" }, "ActivationKey": { "description": "Activation key of the Agent.", diff --git a/server/schema/resources/aws-datasync-task.json b/server/schema/resources/aws-datasync-task.json index ce67a87b..c2715ce9 100644 --- a/server/schema/resources/aws-datasync-task.json +++ b/server/schema/resources/aws-datasync-task.json @@ -283,12 +283,18 @@ "description": "A cron expression that specifies when AWS DataSync initiates a scheduled transfer from a source to a destination location", "type": "string", "maxLength": 256, - "markdownDescription": "A cron expression that specifies when AWS DataSync initiates a scheduled transfer from a source to a destination location\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9\\ \\_\\*\\?\\,\\|\\^\\-\\/\\#\\s\\(\\)\\+]*$ \nUpdate requires: No interruption" + "markdownDescription": "A cron expression that specifies when AWS DataSync initiates a scheduled transfer from a source to a destination location\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9\\ \\_\\*\\?\\,\\|\\^\\-\\/\\#\\s\\(\\)\\+]*$ \nUpdate requires: No interruption" + }, + "Status": { + "description": "Specifies status of a schedule.", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Specifies status of a schedule.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" } }, - "required": [ - "ScheduleExpression" - ], "markdownDescription": "Specifies the schedule you want your task to use for repeated executions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Options": { diff --git a/server/schema/resources/aws-datazone-groupprofile.json b/server/schema/resources/aws-datazone-groupprofile.json new file mode 100644 index 00000000..78bed335 --- /dev/null +++ b/server/schema/resources/aws-datazone-groupprofile.json @@ -0,0 +1,132 @@ +{ + "typeName": "AWS::DataZone::GroupProfile", + "description": "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.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", + "definitions": { + "GroupProfileStatus": { + "type": "string", + "description": "The status of the group profile.", + "enum": [ + "ASSIGNED", + "NOT_ASSIGNED" + ], + "markdownDescription": "The status of the group profile.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ASSIGNED | NOT_ASSIGNED \nUpdate requires: No interruption" + } + }, + "properties": { + "DomainIdentifier": { + "type": "string", + "description": "The identifier of the Amazon DataZone domain in which the group profile would be created.", + "markdownDescription": "The identifier of the Amazon DataZone domain in which the group profile would be created.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^dzd[-_][a-zA-Z0-9_-]{1,36}$ \nUpdate requires: Replacement" + }, + "GroupIdentifier": { + "type": "string", + "description": "The ID of the group.", + "markdownDescription": "The ID of the group.\n\n---\n\nRequired: Yes \nType: String \nPattern: (^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$|[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\t\\n\\r ]+) \nUpdate requires: Replacement" + }, + "Status": { + "$ref": "#/definitions/GroupProfileStatus" + } + }, + "required": [ + "DomainIdentifier", + "GroupIdentifier" + ], + "readOnlyProperties": [ + "/properties/DomainId", + "/properties/GroupName", + "/properties/Id" + ], + "writeOnlyProperties": [ + "/properties/DomainIdentifier", + "/properties/GroupIdentifier" + ], + "createOnlyProperties": [ + "/properties/DomainIdentifier", + "/properties/GroupIdentifier" + ], + "primaryIdentifier": [ + "/properties/DomainId", + "/properties/Id" + ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "datazone:CreateGroupProfile", + "datazone:GetGroupProfile", + "datazone:UpdateGroupProfile", + "sso:ListProfiles", + "sso:GetProfile", + "sso:AssociateProfile", + "sso:DisassociateProfile" + ] + }, + "read": { + "permissions": [ + "datazone:GetGroupProfile" + ] + }, + "update": { + "permissions": [ + "datazone:UpdateGroupProfile", + "datazone:GetGroupProfile", + "sso:ListProfiles", + "sso:GetProfile", + "sso:AssociateProfile", + "sso:DisassociateProfile" + ] + }, + "delete": { + "permissions": [ + "datazone:DeleteGroupProfile", + "datazone:GetGroupProfile", + "datazone:UpdateGroupProfile", + "sso:ListProfiles", + "sso:GetProfile", + "sso:AssociateProfile", + "sso:DisassociateProfile" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "DomainIdentifier": { + "$ref": "resource-schema.json#/properties/DomainIdentifier" + } + }, + "required": [ + "DomainIdentifier" + ] + }, + "permissions": [ + "datazone:SearchGroupProfiles" + ] + } + }, + "additionalProperties": false, + "attributes": { + "DomainId": { + "type": "string", + "description": "The identifier of the Amazon DataZone domain in which the group profile is created.", + "markdownDescription": "The identifier of the Amazon DataZone domain in which the group profile is created.\n\n---\n\nRequired: No \nType: String \nPattern: ^dzd[-_][a-zA-Z0-9_-]{1,36}$ \nUpdate requires: No interruption" + }, + "GroupName": { + "type": "string", + "description": "The group-name of the Group Profile.", + "maxLength": 1024, + "minLength": 1, + "markdownDescription": "The group-name of the Group Profile.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^[a-zA-Z_0-9+=,.@-]+$ \nUpdate requires: No interruption" + }, + "Id": { + "type": "string", + "description": "The ID of the Amazon DataZone group profile.", + "markdownDescription": "The ID of the Amazon DataZone group profile.\n\n---\n\nRequired: No \nType: String \nPattern: ^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-datazone-projectmembership.json b/server/schema/resources/aws-datazone-projectmembership.json new file mode 100644 index 00000000..ca576517 --- /dev/null +++ b/server/schema/resources/aws-datazone-projectmembership.json @@ -0,0 +1,141 @@ +{ + "tagging": { + "taggable": false + }, + "typeName": "AWS::DataZone::ProjectMembership", + "description": "Definition of AWS::DataZone::ProjectMembership Resource Type", + "createOnlyProperties": [ + "/properties/DomainIdentifier", + "/properties/ProjectIdentifier", + "/properties/Member" + ], + "primaryIdentifier": [ + "/properties/DomainIdentifier", + "/properties/MemberIdentifier", + "/properties/MemberIdentifierType", + "/properties/ProjectIdentifier" + ], + "required": [ + "Designation", + "DomainIdentifier", + "ProjectIdentifier", + "Member" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", + "handlers": { + "read": { + "permissions": [ + "datazone:ListProjectMemberships" + ] + }, + "create": { + "permissions": [ + "datazone:CreateProjectMembership", + "datazone:ListProjectMemberships", + "iam:GetRole", + "datazone:GetGroupProfile", + "datazone:GetUserProfile" + ] + }, + "update": { + "permissions": [ + "datazone:CreateProjectMembership", + "datazone:DeleteProjectMembership" + ] + }, + "list": { + "permissions": [ + "datazone:ListProjectMemberships" + ], + "handlerSchema": { + "properties": { + "ProjectIdentifier": { + "$ref": "resource-schema.json#/properties/ProjectIdentifier" + }, + "DomainIdentifier": { + "$ref": "resource-schema.json#/properties/DomainIdentifier" + } + }, + "required": [ + "DomainIdentifier", + "ProjectIdentifier" + ] + } + }, + "delete": { + "permissions": [ + "datazone:DeleteProjectMembership" + ] + } + }, + "writeOnlyProperties": [ + "/properties/Designation", + "/properties/Member" + ], + "additionalProperties": false, + "definitions": { + "UserDesignation": { + "type": "string", + "enum": [ + "PROJECT_OWNER", + "PROJECT_CONTRIBUTOR" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PROJECT_OWNER | PROJECT_CONTRIBUTOR \nUpdate requires: No interruption" + }, + "MemberIdentifierType": { + "type": "string", + "enum": [ + "USER_IDENTIFIER", + "GROUP_IDENTIFIER" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: USER_IDENTIFIER | GROUP_IDENTIFIER \nUpdate requires: No interruption" + }, + "Member": { + "oneOf": [ + { + "additionalProperties": false, + "type": "object", + "title": "UserIdentifier", + "properties": { + "UserIdentifier": { + "type": "string" + } + }, + "required": [ + "UserIdentifier" + ] + }, + { + "additionalProperties": false, + "type": "object", + "title": "GroupIdentifier", + "properties": { + "GroupIdentifier": { + "type": "string" + } + }, + "required": [ + "GroupIdentifier" + ] + } + ] + } + }, + "properties": { + "ProjectIdentifier": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-zA-Z0-9_-]{1,36}$ \nUpdate requires: Replacement" + }, + "Designation": { + "$ref": "#/definitions/UserDesignation" + }, + "Member": { + "$ref": "#/definitions/Member" + }, + "DomainIdentifier": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^dzd[-_][a-zA-Z0-9_-]{1,36}$ \nUpdate requires: Replacement" + } + }, + "attributes": {} +} \ No newline at end of file diff --git a/server/schema/resources/aws-datazone-userprofile.json b/server/schema/resources/aws-datazone-userprofile.json new file mode 100644 index 00000000..e51d54bf --- /dev/null +++ b/server/schema/resources/aws-datazone-userprofile.json @@ -0,0 +1,238 @@ +{ + "typeName": "AWS::DataZone::UserProfile", + "description": "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.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", + "definitions": { + "IamUserProfileDetails": { + "type": "object", + "description": "The details of the IAM User Profile.", + "properties": { + "Arn": { + "type": "string", + "description": "The ARN of the IAM User Profile.", + "markdownDescription": "The ARN of the IAM User Profile.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The details of the IAM User Profile.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SsoUserProfileDetails": { + "type": "object", + "description": "The details of the SSO User Profile.", + "properties": { + "Username": { + "type": "string", + "description": "The username of the SSO User Profile.", + "maxLength": 1024, + "minLength": 1, + "markdownDescription": "The username of the SSO User Profile.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^[a-zA-Z_0-9+=,.@-]+$ \nUpdate requires: No interruption" + }, + "FirstName": { + "type": "string", + "description": "The First Name of the IAM User Profile.", + "markdownDescription": "The First Name of the IAM User Profile.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LastName": { + "type": "string", + "description": "The Last Name of the IAM User Profile.", + "markdownDescription": "The Last Name of the IAM User Profile.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The details of the SSO User Profile.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "UserProfileDetails": { + "oneOf": [ + { + "type": "object", + "title": "Iam", + "properties": { + "Iam": { + "$ref": "#/definitions/IamUserProfileDetails" + } + }, + "required": [ + "Iam" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "Sso", + "properties": { + "Sso": { + "$ref": "#/definitions/SsoUserProfileDetails" + } + }, + "required": [ + "Sso" + ], + "additionalProperties": false + } + ] + }, + "UserProfileStatus": { + "type": "string", + "description": "The status of the user profile.", + "enum": [ + "ASSIGNED", + "NOT_ASSIGNED", + "ACTIVATED", + "DEACTIVATED" + ], + "markdownDescription": "The status of the user profile.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ASSIGNED | NOT_ASSIGNED | ACTIVATED | DEACTIVATED \nUpdate requires: No interruption" + }, + "UserProfileType": { + "type": "string", + "description": "The type of the user profile.", + "enum": [ + "IAM", + "SSO" + ], + "markdownDescription": "The type of the user profile.\n\n---\n\nRequired: No \nType: String \nAllowed Values: IAM | SSO \nUpdate requires: No interruption" + }, + "UserType": { + "type": "string", + "description": "The type of the user.", + "enum": [ + "IAM_USER", + "IAM_ROLE", + "SSO_USER" + ], + "markdownDescription": "The type of the user.\n\n---\n\nRequired: No \nType: String \nAllowed Values: IAM_USER | IAM_ROLE | SSO_USER \nUpdate requires: No interruption" + } + }, + "properties": { + "DomainIdentifier": { + "type": "string", + "description": "The identifier of the Amazon DataZone domain in which the user profile would be created.", + "markdownDescription": "The identifier of the Amazon DataZone domain in which the user profile would be created.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^dzd[-_][a-zA-Z0-9_-]{1,36}$ \nUpdate requires: Replacement" + }, + "Status": { + "$ref": "#/definitions/UserProfileStatus" + }, + "UserIdentifier": { + "type": "string", + "description": "The ID of the user.", + "markdownDescription": "The ID of the user.\n\n---\n\nRequired: Yes \nType: String \nPattern: (^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$|^[a-zA-Z_0-9+=,.@-]+$|^arn:aws:iam::\\d{12}:.+$) \nUpdate requires: Replacement" + }, + "UserType": { + "$ref": "#/definitions/UserType" + } + }, + "required": [ + "DomainIdentifier", + "UserIdentifier" + ], + "readOnlyProperties": [ + "/properties/DomainId", + "/properties/Type", + "/properties/Id", + "/properties/Details" + ], + "writeOnlyProperties": [ + "/properties/DomainIdentifier", + "/properties/UserIdentifier", + "/properties/UserType" + ], + "createOnlyProperties": [ + "/properties/DomainIdentifier", + "/properties/UserIdentifier", + "/properties/UserType" + ], + "primaryIdentifier": [ + "/properties/DomainId", + "/properties/Id" + ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "datazone:CreateUserProfile", + "datazone:GetUserProfile", + "datazone:UpdateUserProfile", + "datazone:GetDomain", + "sso:ListProfiles", + "sso:GetProfile", + "sso:AssociateProfile", + "sso:DisassociateProfile", + "iam:GetRole", + "iam:GetUser" + ] + }, + "read": { + "permissions": [ + "datazone:GetUserProfile" + ] + }, + "update": { + "permissions": [ + "datazone:UpdateUserProfile", + "datazone:GetUserProfile", + "datazone:UpdateUserProfile", + "sso:ListProfiles", + "sso:GetProfile", + "sso:AssociateProfile", + "sso:DisassociateProfile", + "iam:GetRole", + "iam:GetUser" + ] + }, + "delete": { + "permissions": [ + "datazone:DeleteUserProfile", + "datazone:GetUserProfile", + "datazone:UpdateUserProfile", + "sso:ListProfiles", + "sso:GetProfile", + "sso:AssociateProfile", + "sso:DisassociateProfile", + "iam:GetRole", + "iam:GetUser" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "DomainIdentifier": { + "$ref": "resource-schema.json#/properties/DomainIdentifier" + }, + "UserType": { + "$ref": "resource-schema.json#/properties/UserType" + } + }, + "required": [ + "DomainIdentifier", + "UserType" + ] + }, + "permissions": [ + "datazone:SearchUserProfiles" + ] + } + }, + "additionalProperties": false, + "attributes": { + "Details": { + "$ref": "#/definitions/UserProfileDetails" + }, + "DomainId": { + "type": "string", + "description": "The identifier of the Amazon DataZone domain in which the user profile is created.", + "markdownDescription": "The identifier of the Amazon DataZone domain in which the user profile is created.\n\n---\n\nRequired: No \nType: String \nPattern: ^dzd[-_][a-zA-Z0-9_-]{1,36}$ \nUpdate requires: No interruption" + }, + "Id": { + "type": "string", + "description": "The ID of the Amazon DataZone user profile.", + "markdownDescription": "The ID of the Amazon DataZone user profile.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Type": { + "$ref": "#/definitions/UserProfileType" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-deadline-farm.json b/server/schema/resources/aws-deadline-farm.json index ec933251..2cc0f56d 100644 --- a/server/schema/resources/aws-deadline-farm.json +++ b/server/schema/resources/aws-deadline-farm.json @@ -1,6 +1,34 @@ { "typeName": "AWS::Deadline::Farm", "description": "Definition of AWS::Deadline::Farm Resource Type", + "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 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 -. ", + "minLength": 1, + "maxLength": 127, + "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 \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "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, + "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" + } + }, + "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": { "Description": { "type": "string", @@ -18,6 +46,17 @@ "KmsKeyArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[-a-z]*:kms:.*:key/.* \nUpdate requires: Replacement" + }, + "Tags": { + "type": "array", + "maxItems": 50, + "description": "An array of key-value pairs to apply to this resource.", + "items": { + "$ref": "#/definitions/Tag" + }, + "insertionOrder": false, + "uniqueItems": true, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -28,10 +67,16 @@ "/properties/Arn" ], "tagging": { - "taggable": false, - "tagOnCreate": false, - "tagUpdatable": false, - "cloudFormationSystemTags": false + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "deadline:TagResource", + "deadline:UntagResource", + "deadline:ListTagsForResource" + ] }, "createOnlyProperties": [ "/properties/KmsKeyArn" @@ -44,6 +89,9 @@ "permissions": [ "deadline:CreateFarm", "deadline:GetFarm", + "deadline:TagResource", + "deadline:ListTagsForResource", + "identitystore:ListGroupMembershipsForMember", "kms:Encrypt", "kms:Decrypt", "kms:CreateGrant", @@ -53,6 +101,7 @@ "read": { "permissions": [ "deadline:GetFarm", + "deadline:ListTagsForResource", "identitystore:ListGroupMembershipsForMember", "kms:Encrypt", "kms:Decrypt", @@ -64,6 +113,9 @@ "permissions": [ "deadline:UpdateFarm", "deadline:GetFarm", + "deadline:TagResource", + "deadline:UntagResource", + "deadline:ListTagsForResource", "identitystore:ListGroupMembershipsForMember", "kms:Encrypt", "kms:Decrypt", @@ -97,7 +149,7 @@ }, "Arn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:(aws[a-zA-Z-]*):deadline:[a-z0-9-]+:[0-9]+:farm/.+? \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:(aws[a-zA-Z-]*):deadline:[a-z0-9-]+:[0-9]+:farm/farm-[0-9a-z]{32}$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-deadline-fleet.json b/server/schema/resources/aws-deadline-fleet.json index 6fd6a552..ca325c92 100644 --- a/server/schema/resources/aws-deadline-fleet.json +++ b/server/schema/resources/aws-deadline-fleet.json @@ -435,6 +435,32 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: LINUX \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 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 -. ", + "minLength": 1, + "maxLength": 127, + "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 \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "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, + "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" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "VCpuCountRange": { "type": "object", "properties": { @@ -495,6 +521,17 @@ "RoleArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:(aws[a-zA-Z-]*):iam::\\d{12}:role(/[!-.0-~]+)*/[\\w+=,.@-]+$ \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "maxItems": 50, + "description": "An array of key-value pairs to apply to this resource.", + "items": { + "$ref": "#/definitions/Tag" + }, + "insertionOrder": false, + "uniqueItems": true, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -517,10 +554,16 @@ "/properties/Arn" ], "tagging": { - "taggable": false, - "tagOnCreate": false, - "tagUpdatable": false, - "cloudFormationSystemTags": false + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "deadline:TagResource", + "deadline:UntagResource", + "deadline:ListTagsForResource" + ] }, "handlers": { "create": { @@ -529,13 +572,16 @@ "deadline:GetFleet", "iam:PassRole", "identitystore:ListGroupMembershipsForMember", - "logs:CreateLogGroup" + "logs:CreateLogGroup", + "deadline:TagResource", + "deadline:ListTagsForResource" ] }, "read": { "permissions": [ "deadline:GetFleet", - "identitystore:ListGroupMembershipsForMember" + "identitystore:ListGroupMembershipsForMember", + "deadline:ListTagsForResource" ] }, "update": { @@ -543,7 +589,10 @@ "deadline:UpdateFleet", "deadline:GetFleet", "iam:PassRole", - "identitystore:ListGroupMembershipsForMember" + "identitystore:ListGroupMembershipsForMember", + "deadline:TagResource", + "deadline:UntagResource", + "deadline:ListTagsForResource" ] }, "delete": { diff --git a/server/schema/resources/aws-deadline-licenseendpoint.json b/server/schema/resources/aws-deadline-licenseendpoint.json index 36fe09b7..92e263cc 100644 --- a/server/schema/resources/aws-deadline-licenseendpoint.json +++ b/server/schema/resources/aws-deadline-licenseendpoint.json @@ -11,6 +11,32 @@ "NOT_READY" ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATE_IN_PROGRESS | DELETE_IN_PROGRESS | READY | NOT_READY \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 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 -. ", + "minLength": 1, + "maxLength": 127, + "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 \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "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, + "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" + } + }, + "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": { @@ -41,6 +67,17 @@ "maxLength": 32, "minLength": 1, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 32 \nUpdate requires: Replacement" + }, + "Tags": { + "type": "array", + "maxItems": 50, + "description": "An array of key-value pairs to apply to this resource.", + "items": { + "$ref": "#/definitions/Tag" + }, + "insertionOrder": false, + "uniqueItems": true, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -64,10 +101,16 @@ "/properties/Arn" ], "tagging": { - "taggable": false, - "tagOnCreate": false, - "tagUpdatable": false, - "cloudFormationSystemTags": false + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "deadline:TagResource", + "deadline:UntagResource", + "deadline:ListTagsForResource" + ] }, "handlers": { "create": { @@ -76,11 +119,22 @@ "deadline:GetLicenseEndpoint", "ec2:CreateTags", "ec2:CreateVpcEndpoint", - "ec2:DescribeVpcEndpoints" + "ec2:DescribeVpcEndpoints", + "deadline:TagResource", + "deadline:ListTagsForResource" ] }, "read": { "permissions": [ + "deadline:GetLicenseEndpoint", + "deadline:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "deadline:TagResource", + "deadline:UntagResource", + "deadline:ListTagsForResource", "deadline:GetLicenseEndpoint" ] }, diff --git a/server/schema/resources/aws-deadline-meteredproduct.json b/server/schema/resources/aws-deadline-meteredproduct.json index ec7751bf..7a7cc017 100644 --- a/server/schema/resources/aws-deadline-meteredproduct.json +++ b/server/schema/resources/aws-deadline-meteredproduct.json @@ -10,24 +10,6 @@ "ProductId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[0-9a-z]{1,32}-[.0-9a-z]{1,32}$ \nUpdate requires: Replacement" - }, - "Port": { - "type": "integer", - "minimum": 1024, - "maximum": 65535, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Family": { - "type": "string", - "minLength": 1, - "maxLength": 64, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "Vendor": { - "type": "string", - "minLength": 1, - "maxLength": 64, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" } }, "createOnlyProperties": [ @@ -35,7 +17,10 @@ "/properties/ProductId" ], "readOnlyProperties": [ - "/properties/Arn" + "/properties/Arn", + "/properties/Port", + "/properties/Family", + "/properties/Vendor" ], "primaryIdentifier": [ "/properties/Arn" @@ -83,6 +68,24 @@ }, "additionalProperties": false, "attributes": { + "Port": { + "type": "integer", + "minimum": 1024, + "maximum": 65535, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Family": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + }, + "Vendor": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + }, "Arn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:(aws[a-zA-Z-]*):deadline:[a-z0-9-]+:[0-9]{12}:license-endpoint/le-[0-9a-z]{32}/metered-product/[0-9a-z]{1,32}-[.0-9a-z]{1,32} \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-deadline-monitor.json b/server/schema/resources/aws-deadline-monitor.json new file mode 100644 index 00000000..2a4022f9 --- /dev/null +++ b/server/schema/resources/aws-deadline-monitor.json @@ -0,0 +1,109 @@ +{ + "typeName": "AWS::Deadline::Monitor", + "description": "Definition of AWS::Deadline::Monitor Resource Type", + "properties": { + "DisplayName": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + }, + "IdentityCenterInstanceArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$ \nUpdate requires: Replacement" + }, + "RoleArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:(aws[a-zA-Z-]*):iam::\\d{12}:role(/[!-.0-~]+)*/[\\w+=,.@-]+$ \nUpdate requires: No interruption" + }, + "Subdomain": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-z0-9-]{1,100}$ \nUpdate requires: No interruption" + } + }, + "required": [ + "DisplayName", + "IdentityCenterInstanceArn", + "RoleArn", + "Subdomain" + ], + "readOnlyProperties": [ + "/properties/IdentityCenterApplicationArn", + "/properties/MonitorId", + "/properties/Url", + "/properties/Arn" + ], + "createOnlyProperties": [ + "/properties/IdentityCenterInstanceArn" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "deadline:CreateMonitor", + "deadline:GetMonitor", + "iam:PassRole", + "kms:CreateGrant", + "sso:CreateApplication", + "sso:DeleteApplication", + "sso:PutApplicationAssignmentConfiguration", + "sso:PutApplicationAuthenticationMethod", + "sso:PutApplicationGrant" + ] + }, + "read": { + "permissions": [ + "deadline:GetMonitor" + ] + }, + "update": { + "permissions": [ + "deadline:GetMonitor", + "deadline:UpdateMonitor", + "iam:PassRole", + "kms:CreateGrant", + "sso:PutApplicationGrant", + "sso:UpdateApplication" + ] + }, + "delete": { + "permissions": [ + "deadline:DeleteMonitor", + "deadline:GetMonitor", + "sso:DeleteApplication" + ] + }, + "list": { + "permissions": [ + "deadline:ListMonitors" + ] + } + }, + "additionalProperties": false, + "attributes": { + "IdentityCenterApplicationArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MonitorId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^monitor-[0-9a-f]{32}$ \nUpdate requires: No interruption" + }, + "Url": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Arn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:(aws[a-zA-Z-]*):deadline:[a-z0-9-]+:[0-9]+:monitor/monitor-[0-9a-z]{32}$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-deadline-queue.json b/server/schema/resources/aws-deadline-queue.json index 9ab4f8af..d7095b30 100644 --- a/server/schema/resources/aws-deadline-queue.json +++ b/server/schema/resources/aws-deadline-queue.json @@ -86,6 +86,32 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: QUEUE_CONFIGURED_USER | WORKER_AGENT_USER \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 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 -. ", + "minLength": 1, + "maxLength": 127, + "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 \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "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, + "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" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "WindowsUser": { "type": "object", "properties": { @@ -164,6 +190,17 @@ "RoleArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:(aws[a-zA-Z-]*):iam::\\d{12}:role(/[!-.0-~]+)*/[\\w+=,.@-]+$ \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "maxItems": 50, + "description": "An array of key-value pairs to apply to this resource.", + "items": { + "$ref": "#/definitions/Tag" + }, + "insertionOrder": false, + "uniqueItems": true, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -180,10 +217,16 @@ "/properties/Arn" ], "tagging": { - "taggable": false, - "tagOnCreate": false, - "tagUpdatable": false, - "cloudFormationSystemTags": false + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "deadline:TagResource", + "deadline:UntagResource", + "deadline:ListTagsForResource" + ] }, "handlers": { "create": { @@ -193,13 +236,16 @@ "iam:PassRole", "identitystore:ListGroupMembershipsForMember", "logs:CreateLogGroup", - "s3:ListBucket" + "s3:ListBucket", + "deadline:TagResource", + "deadline:ListTagsForResource" ] }, "read": { "permissions": [ "deadline:GetQueue", - "identitystore:ListGroupMembershipsForMember" + "identitystore:ListGroupMembershipsForMember", + "deadline:ListTagsForResource" ] }, "update": { @@ -209,7 +255,10 @@ "iam:PassRole", "identitystore:ListGroupMembershipsForMember", "logs:CreateLogGroup", - "s3:ListBucket" + "s3:ListBucket", + "deadline:TagResource", + "deadline:UntagResource", + "deadline:ListTagsForResource" ] }, "delete": { diff --git a/server/schema/resources/aws-directoryservice-simplead.json b/server/schema/resources/aws-directoryservice-simplead.json index 31d6783d..39205c10 100644 --- a/server/schema/resources/aws-directoryservice-simplead.json +++ b/server/schema/resources/aws-directoryservice-simplead.json @@ -120,7 +120,9 @@ "ec2:DescribeNetworkInterfaces", "ec2:AuthorizeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", - "ec2:CreateTags" + "ec2:CreateTags", + "ec2:RevokeSecurityGroupIngress", + "ec2:RevokeSecurityGroupEgress" ], "timeoutInMinutes": 60 }, diff --git a/server/schema/resources/aws-dms-dataprovider.json b/server/schema/resources/aws-dms-dataprovider.json index 71c3b628..5e8781a5 100644 --- a/server/schema/resources/aws-dms-dataprovider.json +++ b/server/schema/resources/aws-dms-dataprovider.json @@ -37,10 +37,10 @@ "enum": [ "none", "require", - "verify_ca", - "verify_full" + "verify-ca", + "verify-full" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: none | require | verify_ca | verify_full \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: none | require | verify-ca | verify-full \nUpdate requires: No interruption" } }, "properties": { @@ -87,136 +87,186 @@ "Settings": { "description": "The property identifies the exact type of settings for the data provider.", "type": "object", - "anyOf": [ - { + "properties": { + "PostgreSqlSettings": { "description": "PostgreSqlSettings property identifier.", "type": "object", - "additionalProperties": false, "properties": { - "PostgreSqlSettings": { + "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", - "additionalProperties": false, - "properties": { - "ServerName": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "DatabaseName": { - "type": "string" - }, - "SslMode": { - "type": "object", - "$ref": "#/definitions/DmsSslModeValue" - }, - "CertificateArn": { - "type": "string" - } - } + "$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", + "DatabaseName" + ], + "additionalProperties": false, + "markdownDescription": "PostgreSqlSettings property identifier.\n\n---\n\nRequired: Conditional \nUpdate requires: No interruption" }, - { + "MySqlSettings": { "description": "MySqlSettings property identifier.", "type": "object", - "additionalProperties": false, "properties": { - "MySqlSettings": { + "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", - "additionalProperties": false, - "properties": { - "ServerName": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "SslMode": { - "type": "object", - "$ref": "#/definitions/DmsSslModeValue" - }, - "CertificateArn": { - "type": "string" - } - } + "$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": "MySqlSettings property identifier.\n\n---\n\nRequired: Conditional \nUpdate requires: No interruption" }, - { + "OracleSettings": { "description": "OracleSettings property identifier.", "type": "object", - "additionalProperties": false, "properties": { - "OracleSettings": { + "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", - "additionalProperties": false, - "properties": { - "ServerName": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "DatabaseName": { - "type": "string" - }, - "SslMode": { - "type": "object", - "$ref": "#/definitions/DmsSslModeValue" - }, - "CertificateArn": { - "type": "string" - }, - "AsmServer": { - "type": "string" - }, - "SecretsManagerOracleAsmSecretId": { - "type": "string" - }, - "SecretsManagerOracleAsmAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecurityDbEncryptionSecretId": { - "type": "string" - }, - "SecretsManagerSecurityDbEncryptionAccessRoleArn": { - "type": "string" - } - } + "$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" + }, + "AsmServer": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SecretsManagerOracleAsmSecretId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SecretsManagerOracleAsmAccessRoleArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SecretsManagerSecurityDbEncryptionSecretId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SecretsManagerSecurityDbEncryptionAccessRoleArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } - } + }, + "required": [ + "ServerName", + "Port", + "SslMode", + "DatabaseName" + ], + "additionalProperties": false, + "markdownDescription": "OracleSettings property identifier.\n\n---\n\nRequired: Conditional \nUpdate requires: No interruption" }, - { + "MicrosoftSqlServerSettings": { "description": "MicrosoftSqlServerSettings property identifier.", "type": "object", - "additionalProperties": false, "properties": { - "MicrosoftSqlServerSettings": { + "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", - "additionalProperties": false, - "properties": { - "ServerName": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "DatabaseName": { - "type": "string" - }, - "SslMode": { - "type": "object", - "$ref": "#/definitions/DmsSslModeValue" - }, - "CertificateArn": { - "type": "string" - } - } + "$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", + "DatabaseName" + ], + "additionalProperties": false, + "markdownDescription": "MicrosoftSqlServerSettings property identifier.\n\n---\n\nRequired: Conditional \nUpdate requires: No interruption" + } + }, + "anyOf": [ + { + "required": [ + "PostgreSqlSettings" + ] + }, + { + "required": [ + "MySqlSettings" + ] + }, + { + "required": [ + "OracleSettings" + ] + }, + { + "required": [ + "MicrosoftSqlServerSettings" + ] } ], + "additionalProperties": false, "markdownDescription": "The property identifies the exact type of settings for the data provider.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tags": { diff --git a/server/schema/resources/aws-dms-replicationconfig.json b/server/schema/resources/aws-dms-replicationconfig.json index b024421d..59cfcdab 100644 --- a/server/schema/resources/aws-dms-replicationconfig.json +++ b/server/schema/resources/aws-dms-replicationconfig.json @@ -87,11 +87,6 @@ "type": "string", "markdownDescription": "A unique identifier of replication configuration\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ReplicationConfigArn": { - "description": "The Amazon Resource Name (ARN) of the Replication Config", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the Replication Config\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "SourceEndpointArn": { "description": "The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration", "type": "string", @@ -151,7 +146,7 @@ "/properties/ResourceIdentifier" ], "readOnlyProperties": [ - "/Properties/ReplicationConfigArn" + "/properties/ReplicationConfigArn" ], "primaryIdentifier": [ "/properties/ReplicationConfigArn" @@ -215,5 +210,11 @@ ] } }, - "attributes": {} + "attributes": { + "ReplicationConfigArn": { + "description": "The Amazon Resource Name (ARN) of the Replication Config", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the Replication Config\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } } \ No newline at end of file diff --git a/server/schema/resources/aws-dynamodb-globaltable.json b/server/schema/resources/aws-dynamodb-globaltable.json index 8fac526c..4166ccdc 100644 --- a/server/schema/resources/aws-dynamodb-globaltable.json +++ b/server/schema/resources/aws-dynamodb-globaltable.json @@ -1,206 +1,134 @@ { - "handlers": { - "read": { - "permissions": [ - "dynamodb:Describe*", - "dynamodb:GetResourcePolicy", - "application-autoscaling:Describe*", - "cloudwatch:PutMetricData", - "dynamodb:ListTagsOfResource", - "kms:DescribeKey" - ] + "typeName": "AWS::DynamoDB::GlobalTable", + "description": "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable", + "additionalProperties": false, + "properties": { + "AttributeDefinitions": { + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AttributeDefinition" + }, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, - "create": { - "permissions": [ - "dynamodb:CreateTable", - "dynamodb:CreateTableReplica", - "dynamodb:Describe*", - "dynamodb:UpdateTimeToLive", - "dynamodb:UpdateContributorInsights", - "dynamodb:UpdateContinuousBackups", - "dynamodb:ListTagsOfResource", - "dynamodb:Query", - "dynamodb:Scan", - "dynamodb:UpdateItem", - "dynamodb:PutItem", - "dynamodb:GetItem", - "dynamodb:DeleteItem", - "dynamodb:BatchWriteItem", - "dynamodb:TagResource", - "dynamodb:EnableKinesisStreamingDestination", - "dynamodb:DisableKinesisStreamingDestination", - "dynamodb:UpdateTableReplicaAutoScaling", - "dynamodb:TagResource", - "dynamodb:GetResourcePolicy", - "dynamodb:PutResourcePolicy", - "application-autoscaling:DeleteScalingPolicy", - "application-autoscaling:DeleteScheduledAction", - "application-autoscaling:DeregisterScalableTarget", - "application-autoscaling:Describe*", - "application-autoscaling:PutScalingPolicy", - "application-autoscaling:PutScheduledAction", - "application-autoscaling:RegisterScalableTarget", - "kinesis:ListStreams", - "kinesis:DescribeStream", - "kinesis:PutRecords", - "kms:CreateGrant", - "kms:DescribeKey", - "kms:ListAliases", - "kms:Decrypt", - "kms:RevokeGrant", - "cloudwatch:PutMetricData", - "iam:CreateServiceLinkedRole" - ] + "BillingMode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "update": { - "permissions": [ - "dynamodb:Describe*", - "dynamodb:CreateTableReplica", - "dynamodb:UpdateTable", - "dynamodb:UpdateTimeToLive", - "dynamodb:UpdateContinuousBackups", - "dynamodb:UpdateContributorInsights", - "dynamodb:ListTagsOfResource", - "dynamodb:Query", - "dynamodb:Scan", - "dynamodb:UpdateItem", - "dynamodb:PutItem", - "dynamodb:GetItem", - "dynamodb:DeleteItem", - "dynamodb:BatchWriteItem", - "dynamodb:DeleteTable", - "dynamodb:DeleteTableReplica", - "dynamodb:UpdateItem", - "dynamodb:TagResource", - "dynamodb:UntagResource", - "dynamodb:EnableKinesisStreamingDestination", - "dynamodb:DisableKinesisStreamingDestination", - "dynamodb:UpdateTableReplicaAutoScaling", - "dynamodb:UpdateKinesisStreamingDestination", - "dynamodb:GetResourcePolicy", - "dynamodb:PutResourcePolicy", - "dynamodb:DeleteResourcePolicy", - "application-autoscaling:DeleteScalingPolicy", - "application-autoscaling:DeleteScheduledAction", - "application-autoscaling:DeregisterScalableTarget", - "application-autoscaling:Describe*", - "application-autoscaling:PutScalingPolicy", - "application-autoscaling:PutScheduledAction", - "application-autoscaling:RegisterScalableTarget", - "kinesis:ListStreams", - "kinesis:DescribeStream", - "kinesis:PutRecords", - "kms:CreateGrant", - "kms:DescribeKey", - "kms:ListAliases", - "kms:RevokeGrant", - "cloudwatch:PutMetricData" - ], - "timeoutInMinutes": 1200 + "GlobalSecondaryIndexes": { + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/GlobalSecondaryIndex" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "list": { - "permissions": [ - "dynamodb:ListTables", - "cloudwatch:PutMetricData" - ] + "KeySchema": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/KeySchema" + }, + "minItems": 1, + "maxItems": 2, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" }, - "delete": { - "permissions": [ - "dynamodb:Describe*", - "dynamodb:DeleteTable", - "application-autoscaling:DeleteScalingPolicy", - "application-autoscaling:DeleteScheduledAction", - "application-autoscaling:DeregisterScalableTarget", - "application-autoscaling:Describe*", - "application-autoscaling:PutScalingPolicy", - "application-autoscaling:PutScheduledAction", - "application-autoscaling:RegisterScalableTarget" - ] + "LocalSecondaryIndexes": { + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LocalSecondaryIndex" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + }, + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/WriteProvisionedThroughputSettings" + }, + "WriteOnDemandThroughputSettings": { + "$ref": "#/definitions/WriteOnDemandThroughputSettings" + }, + "Replicas": { + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ReplicaSpecification" + }, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "SSESpecification": { + "$ref": "#/definitions/SSESpecification" + }, + "StreamSpecification": { + "$ref": "#/definitions/StreamSpecification" + }, + "TableName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/TimeToLiveSpecification" } }, - "typeName": "AWS::DynamoDB::GlobalTable", - "readOnlyProperties": [ - "/properties/Arn", - "/properties/StreamArn", - "/properties/TableId" - ], - "description": "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable", - "additionalIdentifiers": [ - [ - "/properties/Arn" - ], - [ - "/properties/StreamArn" - ] - ], - "writeOnlyProperties": [ - "/properties/Replicas/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity", - "/properties/Replicas/*/GlobalSecondaryIndexes/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity", - "/properties/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity", - "/properties/GlobalSecondaryIndexes/*/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity" - ], - "createOnlyProperties": [ - "/properties/LocalSecondaryIndexes", - "/properties/TableName", - "/properties/KeySchema" - ], - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/TableName" - ], "definitions": { - "LocalSecondaryIndex": { - "additionalProperties": false, + "StreamSpecification": { "type": "object", + "additionalProperties": false, "properties": { - "IndexName": { - "minLength": 3, + "StreamViewType": { "type": "string", - "maxLength": 255, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 255 \nUpdate requires: No interruption" - }, - "Projection": { - "$ref": "#/definitions/Projection" - }, - "KeySchema": { - "maxItems": 2, - "uniqueItems": true, - "type": "array", - "items": { - "$ref": "#/definitions/KeySchema" - }, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "IndexName", - "Projection", - "KeySchema" + "StreamViewType" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SSESpecification": { + "ResourcePolicy": { + "type": "object", "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object", + "markdownDescription": "\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + } + }, + "required": [ + "PolicyDocument" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ReplicaStreamSpecification": { "type": "object", + "additionalProperties": false, "properties": { - "SSEEnabled": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" - }, - "SSEType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "ResourcePolicy": { + "$ref": "#/definitions/ResourcePolicy" } }, "required": [ - "SSEEnabled" + "ResourcePolicy" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "KinesisStreamSpecification": { - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { + "StreamArn": { + "type": "string", + "relationshipRef": { + "typeName": "AWS::Kinesis::Stream", + "propertyPath": "/properties/Arn" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, "ApproximateCreationDateTimePrecision": { "type": "string", "enum": [ @@ -208,14 +136,6 @@ "MILLISECOND" ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: MICROSECOND | MILLISECOND \nUpdate requires: No interruption" - }, - "StreamArn": { - "relationshipRef": { - "typeName": "AWS::Kinesis::Stream", - "propertyPath": "/properties/Arn" - }, - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -223,71 +143,60 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "StreamSpecification": { - "additionalProperties": false, + "KeySchema": { "type": "object", + "additionalProperties": false, "properties": { - "StreamViewType": { + "AttributeName": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "KeyType": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "StreamViewType" + "KeyType", + "AttributeName" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ContributorInsightsSpecification": { - "additionalProperties": false, + "PointInTimeRecoverySpecification": { "type": "object", + "additionalProperties": false, "properties": { - "Enabled": { + "PointInTimeRecoveryEnabled": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "required": [ - "Enabled" - ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ReplicaSpecification": { - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { - "SSESpecification": { - "$ref": "#/definitions/ReplicaSSESpecification" - }, - "KinesisStreamSpecification": { - "$ref": "#/definitions/KinesisStreamSpecification" - }, - "ContributorInsightsSpecification": { - "$ref": "#/definitions/ContributorInsightsSpecification" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/PointInTimeRecoverySpecification" - }, - "ReplicaStreamSpecification": { - "$ref": "#/definitions/ReplicaStreamSpecification" + "Region": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "GlobalSecondaryIndexes": { + "type": "array", "uniqueItems": true, "insertionOrder": false, - "type": "array", "items": { "$ref": "#/definitions/ReplicaGlobalSecondaryIndexSpecification" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Region": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "ResourcePolicy": { - "$ref": "#/definitions/ResourcePolicy" + "ContributorInsightsSpecification": { + "$ref": "#/definitions/ContributorInsightsSpecification" }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/ReadProvisionedThroughputSettings" + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/PointInTimeRecoverySpecification" }, "TableClass": { "type": "string", @@ -297,181 +206,115 @@ "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, + "SSESpecification": { + "$ref": "#/definitions/ReplicaSSESpecification" + }, "Tags": { - "uniqueItems": true, - "insertionOrder": false, "type": "array", + "insertionOrder": false, + "uniqueItems": true, "items": { "$ref": "#/definitions/Tag" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "required": [ - "Region" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "CapacityAutoScalingSettings": { - "additionalProperties": false, - "type": "object", - "properties": { - "MinCapacity": { - "type": "integer", - "minimum": 1, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, - "SeedCapacity": { - "type": "integer", - "minimum": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "TargetTrackingScalingPolicyConfiguration": { - "$ref": "#/definitions/TargetTrackingScalingPolicyConfiguration" + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/ReadProvisionedThroughputSettings" }, - "MaxCapacity": { - "type": "integer", - "minimum": 1, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity", - "TargetTrackingScalingPolicyConfiguration" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "AttributeDefinition": { - "additionalProperties": false, - "type": "object", - "properties": { - "AttributeType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "ReadOnDemandThroughputSettings": { + "$ref": "#/definitions/ReadOnDemandThroughputSettings" }, - "AttributeName": { - "minLength": 1, - "type": "string", - "maxLength": 255, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Projection": { - "additionalProperties": false, - "type": "object", - "properties": { - "NonKeyAttributes": { - "maxItems": 20, - "uniqueItems": true, - "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" + "KinesisStreamSpecification": { + "$ref": "#/definitions/KinesisStreamSpecification" }, - "ProjectionType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "ResourcePolicy": { + "$ref": "#/definitions/ResourcePolicy" + }, + "ReplicaStreamSpecification": { + "$ref": "#/definitions/ReplicaStreamSpecification" } }, + "required": [ + "Region" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "PointInTimeRecoverySpecification": { - "additionalProperties": false, + "TimeToLiveSpecification": { "type": "object", - "properties": { - "PointInTimeRecoveryEnabled": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ReplicaGlobalSecondaryIndexSpecification": { "additionalProperties": false, - "type": "object", "properties": { - "IndexName": { - "minLength": 3, + "AttributeName": { "type": "string", - "maxLength": 255, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 255 \nUpdate requires: No interruption" - }, - "ContributorInsightsSpecification": { - "$ref": "#/definitions/ContributorInsightsSpecification" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/ReadProvisionedThroughputSettings" + "Enabled": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ - "IndexName" + "Enabled" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TargetTrackingScalingPolicyConfiguration": { - "additionalProperties": false, + "LocalSecondaryIndex": { "type": "object", + "additionalProperties": false, "properties": { - "ScaleOutCooldown": { - "type": "integer", - "minimum": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "TargetValue": { - "format": "double", - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "IndexName": { + "type": "string", + "minLength": 3, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 255 \nUpdate requires: No interruption" }, - "DisableScaleIn": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "KeySchema": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/KeySchema" + }, + "maxItems": 2, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, - "ScaleInCooldown": { - "type": "integer", - "minimum": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Projection": { + "$ref": "#/definitions/Projection" } }, "required": [ - "TargetValue" + "IndexName", + "Projection", + "KeySchema" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "GlobalSecondaryIndex": { - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { "IndexName": { - "minLength": 3, "type": "string", + "minLength": 3, "maxLength": 255, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 255 \nUpdate requires: No interruption" }, - "Projection": { - "$ref": "#/definitions/Projection" - }, "KeySchema": { - "minItems": 1, - "maxItems": 2, - "uniqueItems": true, "type": "array", + "uniqueItems": true, "items": { "$ref": "#/definitions/KeySchema" }, + "minItems": 1, + "maxItems": 2, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, + "Projection": { + "$ref": "#/definitions/Projection" + }, "WriteProvisionedThroughputSettings": { "$ref": "#/definitions/WriteProvisionedThroughputSettings" + }, + "WriteOnDemandThroughputSettings": { + "$ref": "#/definitions/WriteOnDemandThroughputSettings" } }, "required": [ @@ -481,34 +324,30 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "WriteProvisionedThroughputSettings": { - "additionalProperties": false, + "SSESpecification": { "type": "object", - "properties": { - "WriteCapacityAutoScalingSettings": { - "$ref": "#/definitions/CapacityAutoScalingSettings" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ReplicaStreamSpecification": { "additionalProperties": false, - "type": "object", "properties": { - "ResourcePolicy": { - "$ref": "#/definitions/ResourcePolicy" + "SSEEnabled": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + }, + "SSEType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ - "ResourcePolicy" + "SSEEnabled" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ReplicaSSESpecification": { - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { "KMSMasterKeyId": { + "type": "string", "anyOf": [ { "relationshipRef": { @@ -529,7 +368,6 @@ } } ], - "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, @@ -538,90 +376,212 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ResourcePolicy": { - "additionalProperties": false, + "AttributeDefinition": { "type": "object", + "additionalProperties": false, "properties": { - "PolicyDocument": { - "type": "object", - "markdownDescription": "\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + "AttributeName": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "AttributeType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "PolicyDocument" + "AttributeName", + "AttributeType" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "KeySchema": { - "additionalProperties": false, + "Tag": { "type": "object", + "additionalProperties": false, "properties": { - "KeyType": { + "Key": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "AttributeName": { - "minLength": 1, + "Value": { "type": "string", - "maxLength": 255, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "KeyType", - "AttributeName" + "Value", + "Key" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tag": { + "Projection": { + "type": "object", "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "maxItems": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ProjectionType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ReplicaGlobalSecondaryIndexSpecification": { "type": "object", + "additionalProperties": false, "properties": { - "Value": { + "IndexName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "minLength": 3, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 255 \nUpdate requires: No interruption" }, - "Key": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "ContributorInsightsSpecification": { + "$ref": "#/definitions/ContributorInsightsSpecification" + }, + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/ReadProvisionedThroughputSettings" + }, + "ReadOnDemandThroughputSettings": { + "$ref": "#/definitions/ReadOnDemandThroughputSettings" } }, "required": [ - "Value", - "Key" + "IndexName" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ReadProvisionedThroughputSettings": { + "ContributorInsightsSpecification": { + "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" + }, + "ReadProvisionedThroughputSettings": { "type": "object", + "additionalProperties": false, "properties": { "ReadCapacityUnits": { "type": "integer", "minimum": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "ReadCapacityAutoScalingSettings": { - "$ref": "#/definitions/CapacityAutoScalingSettings" + "ReadCapacityAutoScalingSettings": { + "$ref": "#/definitions/CapacityAutoScalingSettings" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "WriteProvisionedThroughputSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "WriteCapacityAutoScalingSettings": { + "$ref": "#/definitions/CapacityAutoScalingSettings" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ReadOnDemandThroughputSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "MaxReadRequestUnits": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "WriteOnDemandThroughputSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "MaxWriteRequestUnits": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CapacityAutoScalingSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "MinCapacity": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "MaxCapacity": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "SeedCapacity": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "TargetTrackingScalingPolicyConfiguration": { + "$ref": "#/definitions/TargetTrackingScalingPolicyConfiguration" } }, + "required": [ + "MinCapacity", + "MaxCapacity", + "TargetTrackingScalingPolicyConfiguration" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TimeToLiveSpecification": { - "additionalProperties": false, + "TargetTrackingScalingPolicyConfiguration": { "type": "object", + "additionalProperties": false, "properties": { - "Enabled": { + "DisableScaleIn": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "AttributeName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "ScaleInCooldown": { + "type": "integer", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ScaleOutCooldown": { + "type": "integer", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "TargetValue": { + "type": "number", + "format": "double", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" } }, "required": [ - "Enabled" + "TargetValue" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } @@ -631,86 +591,162 @@ "AttributeDefinitions", "Replicas" ], - "properties": { - "SSESpecification": { - "$ref": "#/definitions/SSESpecification" - }, - "StreamSpecification": { - "$ref": "#/definitions/StreamSpecification" - }, - "Replicas": { - "minItems": 1, - "uniqueItems": true, - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/ReplicaSpecification" - }, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "WriteProvisionedThroughputSettings": { - "$ref": "#/definitions/WriteProvisionedThroughputSettings" - }, - "TableName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "AttributeDefinitions": { - "minItems": 1, - "uniqueItems": true, - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/AttributeDefinition" - }, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "BillingMode": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "readOnlyProperties": [ + "/properties/Arn", + "/properties/StreamArn", + "/properties/TableId" + ], + "createOnlyProperties": [ + "/properties/LocalSecondaryIndexes", + "/properties/TableName", + "/properties/KeySchema" + ], + "primaryIdentifier": [ + "/properties/TableName" + ], + "additionalIdentifiers": [ + [ + "/properties/Arn" + ], + [ + "/properties/StreamArn" + ] + ], + "writeOnlyProperties": [ + "/properties/Replicas/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity", + "/properties/Replicas/*/GlobalSecondaryIndexes/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity", + "/properties/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity", + "/properties/GlobalSecondaryIndexes/*/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity" + ], + "handlers": { + "create": { + "permissions": [ + "dynamodb:CreateTable", + "dynamodb:CreateTableReplica", + "dynamodb:Describe*", + "dynamodb:UpdateTimeToLive", + "dynamodb:UpdateContributorInsights", + "dynamodb:UpdateContinuousBackups", + "dynamodb:ListTagsOfResource", + "dynamodb:Query", + "dynamodb:Scan", + "dynamodb:UpdateItem", + "dynamodb:PutItem", + "dynamodb:GetItem", + "dynamodb:DeleteItem", + "dynamodb:BatchWriteItem", + "dynamodb:TagResource", + "dynamodb:EnableKinesisStreamingDestination", + "dynamodb:DisableKinesisStreamingDestination", + "dynamodb:UpdateTableReplicaAutoScaling", + "dynamodb:TagResource", + "dynamodb:GetResourcePolicy", + "dynamodb:PutResourcePolicy", + "application-autoscaling:DeleteScalingPolicy", + "application-autoscaling:DeleteScheduledAction", + "application-autoscaling:DeregisterScalableTarget", + "application-autoscaling:Describe*", + "application-autoscaling:PutScalingPolicy", + "application-autoscaling:PutScheduledAction", + "application-autoscaling:RegisterScalableTarget", + "kinesis:ListStreams", + "kinesis:DescribeStream", + "kinesis:PutRecords", + "kms:CreateGrant", + "kms:DescribeKey", + "kms:ListAliases", + "kms:Decrypt", + "kms:RevokeGrant", + "cloudwatch:PutMetricData", + "iam:CreateServiceLinkedRole" + ] }, - "GlobalSecondaryIndexes": { - "uniqueItems": true, - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/GlobalSecondaryIndex" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "read": { + "permissions": [ + "dynamodb:Describe*", + "dynamodb:GetResourcePolicy", + "application-autoscaling:Describe*", + "cloudwatch:PutMetricData", + "dynamodb:ListTagsOfResource", + "kms:DescribeKey" + ] }, - "KeySchema": { - "minItems": 1, - "maxItems": 2, - "uniqueItems": true, - "type": "array", - "items": { - "$ref": "#/definitions/KeySchema" - }, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" + "update": { + "permissions": [ + "dynamodb:Describe*", + "dynamodb:CreateTableReplica", + "dynamodb:UpdateTable", + "dynamodb:UpdateTimeToLive", + "dynamodb:UpdateContinuousBackups", + "dynamodb:UpdateContributorInsights", + "dynamodb:ListTagsOfResource", + "dynamodb:Query", + "dynamodb:Scan", + "dynamodb:UpdateItem", + "dynamodb:PutItem", + "dynamodb:GetItem", + "dynamodb:DeleteItem", + "dynamodb:BatchWriteItem", + "dynamodb:DeleteTable", + "dynamodb:DeleteTableReplica", + "dynamodb:UpdateItem", + "dynamodb:TagResource", + "dynamodb:UntagResource", + "dynamodb:EnableKinesisStreamingDestination", + "dynamodb:DisableKinesisStreamingDestination", + "dynamodb:UpdateTableReplicaAutoScaling", + "dynamodb:UpdateKinesisStreamingDestination", + "dynamodb:GetResourcePolicy", + "dynamodb:PutResourcePolicy", + "dynamodb:DeleteResourcePolicy", + "application-autoscaling:DeleteScalingPolicy", + "application-autoscaling:DeleteScheduledAction", + "application-autoscaling:DeregisterScalableTarget", + "application-autoscaling:Describe*", + "application-autoscaling:PutScalingPolicy", + "application-autoscaling:PutScheduledAction", + "application-autoscaling:RegisterScalableTarget", + "kinesis:ListStreams", + "kinesis:DescribeStream", + "kinesis:PutRecords", + "kms:CreateGrant", + "kms:DescribeKey", + "kms:ListAliases", + "kms:RevokeGrant", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 1200 }, - "LocalSecondaryIndexes": { - "uniqueItems": true, - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/LocalSecondaryIndex" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "delete": { + "permissions": [ + "dynamodb:Describe*", + "dynamodb:DeleteTable", + "application-autoscaling:DeleteScalingPolicy", + "application-autoscaling:DeleteScheduledAction", + "application-autoscaling:DeregisterScalableTarget", + "application-autoscaling:Describe*", + "application-autoscaling:PutScalingPolicy", + "application-autoscaling:PutScheduledAction", + "application-autoscaling:RegisterScalableTarget" + ] }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/TimeToLiveSpecification" + "list": { + "permissions": [ + "dynamodb:ListTables", + "cloudwatch:PutMetricData" + ] } }, "attributes": { - "TableId": { + "Arn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Arn": { + "StreamArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "StreamArn": { + "TableId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } diff --git a/server/schema/resources/aws-dynamodb-table.json b/server/schema/resources/aws-dynamodb-table.json index d6cc502d..ec0cdaf5 100644 --- a/server/schema/resources/aws-dynamodb-table.json +++ b/server/schema/resources/aws-dynamodb-table.json @@ -125,6 +125,26 @@ ], "additionalProperties": false, "definitions": { + "OnDemandThroughput": { + "description": "Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify ``MaxReadRequestUnits``, ``MaxWriteRequestUnits``, or both.", + "additionalProperties": false, + "type": "object", + "properties": { + "MaxReadRequestUnits": { + "description": "Maximum number of read request units for the specified table.\n To specify a maximum ``OnDemandThroughput`` on your table, set the value of ``MaxReadRequestUnits`` as greater than or equal to 1. To remove the maximum ``OnDemandThroughput`` that is currently set on your table, set the value of ``MaxReadRequestUnits`` to -1.", + "type": "integer", + "minimum": 1, + "markdownDescription": "Maximum number of read request units for the specified table.\n To specify a maximum ``OnDemandThroughput`` on your table, set the value of ``MaxReadRequestUnits`` as greater than or equal to 1. To remove the maximum ``OnDemandThroughput`` that is currently set on your table, set the value of ``MaxReadRequestUnits`` to -1.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MaxWriteRequestUnits": { + "description": "Maximum number of write request units for the specified table.\n To specify a maximum ``OnDemandThroughput`` on your table, set the value of ``MaxWriteRequestUnits`` as greater than or equal to 1. To remove the maximum ``OnDemandThroughput`` that is currently set on your table, set the value of ``MaxWriteRequestUnits`` to -1.", + "type": "integer", + "minimum": 1, + "markdownDescription": "Maximum number of write request units for the specified table.\n To specify a maximum ``OnDemandThroughput`` on your table, set the value of ``MaxWriteRequestUnits`` as greater than or equal to 1. To remove the maximum ``OnDemandThroughput`` that is currently set on your table, set the value of ``MaxWriteRequestUnits`` to -1.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify ``MaxReadRequestUnits``, ``MaxWriteRequestUnits``, or both.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "LocalSecondaryIndex": { "description": "Represents the properties of a local secondary index. A local secondary index can only be created when its parent table is created.", "additionalProperties": false, @@ -427,6 +447,11 @@ "type": "string", "markdownDescription": "The name of the global secondary index. The name must be unique among all other indexes on this table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, + "OnDemandThroughput": { + "description": "The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify ``MaxReadRequestUnits``, ``MaxWriteRequestUnits``, or both.", + "$ref": "#/definitions/OnDemandThroughput", + "markdownDescription": "The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify ``MaxReadRequestUnits``, ``MaxWriteRequestUnits``, or both.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "ContributorInsightsSpecification": { "description": "The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.", "$ref": "#/definitions/ContributorInsightsSpecification", @@ -606,6 +631,11 @@ } }, "properties": { + "OnDemandThroughput": { + "description": "Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify ``MaxReadRequestUnits``, ``MaxWriteRequestUnits``, or both.", + "$ref": "#/definitions/OnDemandThroughput", + "markdownDescription": "Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify ``MaxReadRequestUnits``, ``MaxWriteRequestUnits``, or both.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "SSESpecification": { "description": "Specifies the settings to enable server-side encryption.", "$ref": "#/definitions/SSESpecification", diff --git a/server/schema/resources/aws-ec2-customergateway.json b/server/schema/resources/aws-ec2-customergateway.json index 6711b1cb..f23d0db2 100644 --- a/server/schema/resources/aws-ec2-customergateway.json +++ b/server/schema/resources/aws-ec2-customergateway.json @@ -87,23 +87,23 @@ "markdownDescription": "The type of VPN connection that this customer gateway supports (``ipsec.1``).\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "IpAddress": { - "description": "IPv4 address for the customer gateway device's outside interface. The address must be static.", + "description": "IPv4 address for the customer gateway device's outside interface. The address must be static. If ``OutsideIpAddressType`` in your VPN connection options is set to ``PrivateIpv4``, you can use an RFC6598 or RFC1918 private IPv4 address. If ``OutsideIpAddressType`` is set to ``PublicIpv4``, you can use a public IPv4 address.", "type": "string", - "markdownDescription": "IPv4 address for the customer gateway device's outside interface. The address must be static.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "IPv4 address for the customer gateway device's outside interface. The address must be static. If ``OutsideIpAddressType`` in your VPN connection options is set to ``PrivateIpv4``, you can use an RFC6598 or RFC1918 private IPv4 address. If ``OutsideIpAddressType`` is set to ``PublicIpv4``, you can use a public IPv4 address.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "BgpAsnExtended": { "multipleOf": 1, "maximum": 4294967294, - "description": "", + "description": "For customer gateway devices that support BGP, specify the device's ASN. You must specify either ``BgpAsn`` or ``BgpAsnExtended`` when creating the customer gateway. If the ASN is larger than ``2,147,483,647``, you must use ``BgpAsnExtended``.\n Valid values: ``2,147,483,648`` to ``4,294,967,295``", "type": "number", "minimum": 2147483648, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: Replacement" + "markdownDescription": "For customer gateway devices that support BGP, specify the device's ASN. You must specify either ``BgpAsn`` or ``BgpAsnExtended`` when creating the customer gateway. If the ASN is larger than ``2,147,483,647``, you must use ``BgpAsnExtended``.\n Valid values: ``2,147,483,648`` to ``4,294,967,295``\n\n---\n\nRequired: No \nType: Number \nUpdate requires: Replacement" }, "BgpAsn": { "default": 65000, - "description": "For devices that support BGP, the customer gateway's BGP ASN.\n Default: 65000", + "description": "For customer gateway devices that support BGP, specify the device's ASN. You must specify either ``BgpAsn`` or ``BgpAsnExtended`` when creating the customer gateway. If the ASN is larger than ``2,147,483,647``, you must use ``BgpAsnExtended``.\n Default: 65000\n Valid values: ``1`` to ``2,147,483,647``", "type": "integer", - "markdownDescription": "For devices that support BGP, the customer gateway's BGP ASN.\n Default: 65000\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: Replacement" + "markdownDescription": "For customer gateway devices that support BGP, specify the device's ASN. You must specify either ``BgpAsn`` or ``BgpAsnExtended`` when creating the customer gateway. If the ASN is larger than ``2,147,483,647``, you must use ``BgpAsnExtended``.\n Default: 65000\n Valid values: ``1`` to ``2,147,483,647``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: Replacement" }, "Tags": { "uniqueItems": false, @@ -116,9 +116,9 @@ "markdownDescription": "One or more tags for the customer gateway.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "CertificateArn": { - "description": "", + "description": "The Amazon Resource Name (ARN) for the customer gateway certificate.", "type": "string", - "markdownDescription": "\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(b?)))?-[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-instance.json b/server/schema/resources/aws-ec2-instance.json index 35295987..714607d7 100644 --- a/server/schema/resources/aws-ec2-instance.json +++ b/server/schema/resources/aws-ec2-instance.json @@ -14,7 +14,8 @@ "/properties/PublicDnsName", "/properties/PublicIp", "/properties/PrivateDnsName", - "/properties/VpcId" + "/properties/VpcId", + "/properties/State" ], "description": "Resource Type definition for AWS::EC2::Instance", "createOnlyProperties": [ @@ -487,6 +488,24 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "State": { + "description": "The current state of the instance", + "additionalProperties": false, + "type": "object", + "properties": { + "Code": { + "description": "The state of the instance as a 16-bit unsigned integer.", + "type": "string", + "markdownDescription": "The state of the instance as a 16-bit unsigned integer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Name": { + "description": "The current state of the instance.", + "type": "string", + "markdownDescription": "The current state of the instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The current state of the instance\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Ebs": { "additionalProperties": false, "type": "object", @@ -908,6 +927,12 @@ "description": "The ID of the VPC that the instance is running in.", "type": "string", "markdownDescription": "The ID of the VPC that the instance is running in.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "State": { + "description": "The current state of the instance.", + "type": "object", + "$ref": "#/definitions/State", + "markdownDescription": "The current state of the instance.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-ec2-keypair.json b/server/schema/resources/aws-ec2-keypair.json index 3f925ca5..4ebcff11 100644 --- a/server/schema/resources/aws-ec2-keypair.json +++ b/server/schema/resources/aws-ec2-keypair.json @@ -1,25 +1,25 @@ { "typeName": "AWS::EC2::KeyPair", - "description": "The AWS::EC2::KeyPair creates an SSH key pair", + "description": "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.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions": { "Tag": { - "description": "A key-value pair to associate with a resource.", + "description": "Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).", "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": "The tag key.", "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 tag key.\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 tag value.", "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": "The tag value.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ @@ -27,49 +27,49 @@ "Value" ], "additionalProperties": false, - "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { "KeyName": { - "description": "The name of the SSH key pair", + "description": "A unique name for the key pair.\n Constraints: Up to 255 ASCII characters", "type": "string", - "markdownDescription": "The name of the SSH key pair\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "A unique name for the key pair.\n Constraints: Up to 255 ASCII characters\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "KeyType": { - "description": "The crypto-system used to generate a key pair.", + "description": "The type of key pair. Note that ED25519 keys are not supported for Windows instances.\n If the ``PublicKeyMaterial`` property is specified, the ``KeyType`` property is ignored, and the key type is inferred from the ``PublicKeyMaterial`` value.\n Default: ``rsa``", "type": "string", "default": "rsa", "enum": [ "rsa", "ed25519" ], - "markdownDescription": "The crypto-system used to generate a key pair.\n\n---\n\nRequired: No \nType: String \nAllowed Values: rsa | ed25519 \nUpdate requires: Replacement" + "markdownDescription": "The type of key pair. Note that ED25519 keys are not supported for Windows instances.\n If the ``PublicKeyMaterial`` property is specified, the ``KeyType`` property is ignored, and the key type is inferred from the ``PublicKeyMaterial`` value.\n Default: ``rsa``\n\n---\n\nRequired: No \nType: String \nAllowed Values: rsa | ed25519 \nUpdate requires: Replacement" }, "KeyFormat": { - "description": "The format of the private key", + "description": "The format of the key pair.\n Default: ``pem``", "type": "string", "default": "pem", "enum": [ "pem", "ppk" ], - "markdownDescription": "The format of the private key\n\n---\n\nRequired: No \nType: String \nAllowed Values: pem | ppk \nUpdate requires: Replacement" + "markdownDescription": "The format of the key pair.\n Default: ``pem``\n\n---\n\nRequired: No \nType: String \nAllowed Values: pem | ppk \nUpdate requires: Replacement" }, "PublicKeyMaterial": { - "description": "Plain text public key to import", + "description": "The public key material. The ``PublicKeyMaterial`` property is used to import a key pair. If this property is not specified, then a new key pair will be created.", "type": "string", - "markdownDescription": "Plain text public key to import\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The public key material. The ``PublicKeyMaterial`` property is used to import a key pair. If this property is not specified, then a new key pair will be created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "Tags": { - "description": "An array of key-value pairs to apply to this resource.", + "description": "The tags to apply to the key pair.", "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: Replacement" + "markdownDescription": "The tags to apply to the key pair.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" } }, "additionalProperties": false, @@ -132,14 +132,14 @@ }, "attributes": { "KeyFingerprint": { - "description": "A short sequence of bytes used for public key verification", + "description": "", "type": "string", - "markdownDescription": "A short sequence of bytes used for public key verification\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "KeyPairId": { - "description": "An AWS generated ID for the key pair", + "description": "", "type": "string", - "markdownDescription": "An AWS generated ID for the key pair\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-ec2-launchtemplate.json b/server/schema/resources/aws-ec2-launchtemplate.json index e67aecb3..13ac5629 100644 --- a/server/schema/resources/aws-ec2-launchtemplate.json +++ b/server/schema/resources/aws-ec2-launchtemplate.json @@ -41,7 +41,7 @@ "/properties/LaunchTemplateId", "/properties/LatestVersionNumber" ], - "description": "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 do not need to specify a name for the launch template. If you do not specify a name, CFN creates the 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*.", + "description": "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*.", "writeOnlyProperties": [ "/properties/LaunchTemplateData", "/properties/VersionDescription", @@ -730,9 +730,9 @@ "markdownDescription": "One or more IPv4 prefixes to be assigned to the network interface. You cannot use this option if you use the ``Ipv4PrefixCount`` option.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "DeviceIndex": { - "description": "The device index for the network interface attachment.", + "description": "The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.", "type": "integer", - "markdownDescription": "The device index for the network interface attachment.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "PrimaryIpv6": { "description": "The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html).", diff --git a/server/schema/resources/aws-ec2-transitgatewayroute.json b/server/schema/resources/aws-ec2-transitgatewayroute.json index 80b7ee06..ed41928e 100644 --- a/server/schema/resources/aws-ec2-transitgatewayroute.json +++ b/server/schema/resources/aws-ec2-transitgatewayroute.json @@ -1,44 +1,85 @@ { + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "typeName": "AWS::EC2::TransitGatewayRoute", "description": "Resource Type definition for AWS::EC2::TransitGatewayRoute", + "createOnlyProperties": [ + "/properties/TransitGatewayRouteTableId", + "/properties/TransitGatewayAttachmentId", + "/properties/DestinationCidrBlock", + "/properties/Blackhole" + ], + "primaryIdentifier": [ + "/properties/TransitGatewayRouteTableId", + "/properties/DestinationCidrBlock" + ], + "required": [ + "TransitGatewayRouteTableId", + "DestinationCidrBlock" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transitgateway.git", + "handlers": { + "read": { + "permissions": [ + "ec2:SearchTransitGatewayRoutes" + ] + }, + "create": { + "permissions": [ + "ec2:CreateTransitGatewayRoute", + "ec2:SearchTransitGatewayRoutes" + ] + }, + "list": { + "permissions": [ + "ec2:SearchTransitGatewayRoutes" + ], + "handlerSchema": { + "properties": { + "TransitGatewayRouteTableId": { + "$ref": "resource-schema.json#/properties/TransitGatewayRouteTableId" + } + }, + "required": [ + "TransitGatewayRouteTableId" + ] + } + }, + "delete": { + "permissions": [ + "ec2:DeleteTransitGatewayRoute", + "ec2:SearchTransitGatewayRoutes" + ] + } + }, "additionalProperties": false, + "definitions": {}, "properties": { "TransitGatewayRouteTableId": { + "description": "The ID of transit gateway route table.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The ID of transit gateway route table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "DestinationCidrBlock": { + "description": "The CIDR range used for destination matches. Routing decisions are based on the most specific match.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The CIDR range used for destination matches. Routing decisions are based on the most specific match.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "Blackhole": { + "description": "Indicates whether to drop traffic that matches this route.", "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "markdownDescription": "Indicates whether to drop traffic that matches this route.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" }, "TransitGatewayAttachmentId": { + "description": "The ID of transit gateway attachment.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The ID of transit gateway attachment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" } }, - "required": [ - "TransitGatewayRouteTableId" - ], - "createOnlyProperties": [ - "/properties/TransitGatewayRouteTableId", - "/properties/TransitGatewayAttachmentId", - "/properties/DestinationCidrBlock", - "/properties/Blackhole" - ], - "readOnlyProperties": [ - "/properties/Id" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - } + "replacementStrategy": "delete_then_create", + "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-ec2-transitgatewayroutetableassociation.json b/server/schema/resources/aws-ec2-transitgatewayroutetableassociation.json index e5b7c29a..35f4b417 100644 --- a/server/schema/resources/aws-ec2-transitgatewayroutetableassociation.json +++ b/server/schema/resources/aws-ec2-transitgatewayroutetableassociation.json @@ -1,17 +1,22 @@ { "typeName": "AWS::EC2::TransitGatewayRouteTableAssociation", "description": "Resource Type definition for AWS::EC2::TransitGatewayRouteTableAssociation", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transitgateway.git", "additionalProperties": false, "properties": { "TransitGatewayRouteTableId": { + "description": "The ID of transit gateway route table.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The ID of transit gateway route table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "TransitGatewayAttachmentId": { + "description": "The ID of transit gateway attachment.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The ID of transit gateway attachment.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" } }, + "definitions": {}, + "replacementStrategy": "delete_then_create", "required": [ "TransitGatewayRouteTableId", "TransitGatewayAttachmentId" @@ -20,16 +25,49 @@ "/properties/TransitGatewayRouteTableId", "/properties/TransitGatewayAttachmentId" ], - "readOnlyProperties": [ - "/properties/Id" - ], "primaryIdentifier": [ - "/properties/Id" + "/properties/TransitGatewayRouteTableId", + "/properties/TransitGatewayAttachmentId" ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "ec2:AssociateTransitGatewayRouteTable", + "ec2:GetTransitGatewayRouteTableAssociations" + ] + }, + "read": { + "permissions": [ + "ec2:GetTransitGatewayRouteTableAssociations" + ] + }, + "delete": { + "permissions": [ + "ec2:GetTransitGatewayRouteTableAssociations", + "ec2:DisassociateTransitGatewayRouteTable" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "TransitGatewayRouteTableId": { + "$ref": "resource-schema.json#/properties/TransitGatewayRouteTableId" + } + }, + "required": [ + "TransitGatewayRouteTableId" + ] + }, + "permissions": [ + "ec2:GetTransitGatewayRouteTableAssociations" + ] } - } + }, + "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-ec2-transitgatewayroutetablepropagation.json b/server/schema/resources/aws-ec2-transitgatewayroutetablepropagation.json index 797eba76..71dd09e9 100644 --- a/server/schema/resources/aws-ec2-transitgatewayroutetablepropagation.json +++ b/server/schema/resources/aws-ec2-transitgatewayroutetablepropagation.json @@ -1,35 +1,72 @@ { "typeName": "AWS::EC2::TransitGatewayRouteTablePropagation", - "description": "Resource Type definition for AWS::EC2::TransitGatewayRouteTablePropagation", - "additionalProperties": false, + "description": "AWS::EC2::TransitGatewayRouteTablePropagation Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transitgateway/aws-ec2-transitgatewayroutetablepropagation", "properties": { "TransitGatewayRouteTableId": { + "description": "The ID of transit gateway route table.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The ID of transit gateway route table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "TransitGatewayAttachmentId": { + "description": "The ID of transit gateway attachment.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The ID of transit gateway attachment.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" } }, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "definitions": {}, + "additionalProperties": false, "required": [ "TransitGatewayRouteTableId", "TransitGatewayAttachmentId" ], "createOnlyProperties": [ - "/properties/TransitGatewayRouteTableId", - "/properties/TransitGatewayAttachmentId" - ], - "readOnlyProperties": [ - "/properties/Id" + "/properties/TransitGatewayAttachmentId", + "/properties/TransitGatewayRouteTableId" ], "primaryIdentifier": [ - "/properties/Id" + "/properties/TransitGatewayRouteTableId", + "/properties/TransitGatewayAttachmentId" ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "handlers": { + "create": { + "permissions": [ + "ec2:GetTransitGatewayRouteTablePropagations", + "ec2:EnableTransitGatewayRouteTablePropagation" + ] + }, + "read": { + "permissions": [ + "ec2:GetTransitGatewayRouteTablePropagations" + ] + }, + "delete": { + "permissions": [ + "ec2:GetTransitGatewayRouteTablePropagations", + "ec2:DisableTransitGatewayRouteTablePropagation" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "TransitGatewayRouteTableId": { + "$ref": "resource-schema.json#/properties/TransitGatewayRouteTableId" + } + }, + "required": [ + "TransitGatewayRouteTableId" + ] + }, + "permissions": [ + "ec2:GetTransitGatewayRouteTablePropagations" + ] } - } + }, + "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-ec2-verifiedaccessinstance.json b/server/schema/resources/aws-ec2-verifiedaccessinstance.json index 9cb7ca42..3bd93e99 100644 --- a/server/schema/resources/aws-ec2-verifiedaccessinstance.json +++ b/server/schema/resources/aws-ec2-verifiedaccessinstance.json @@ -221,6 +221,8 @@ "ec2:ModifyVerifiedAccessInstanceLoggingConfiguration", "ec2:DescribeVerifiedAccessInstances", "ec2:DescribeVerifiedAccessInstanceLoggingConfigurations", + "ec2:DetachVerifiedAccessTrustProvider", + "ec2:DeleteVerifiedAccessInstance", "ec2:CreateTags", "ec2:DescribeTags", "logs:CreateLogDelivery", diff --git a/server/schema/resources/aws-ec2-vpngateway.json b/server/schema/resources/aws-ec2-vpngateway.json index 424cff62..6365cf7a 100644 --- a/server/schema/resources/aws-ec2-vpngateway.json +++ b/server/schema/resources/aws-ec2-vpngateway.json @@ -1,6 +1,6 @@ { "typeName": "AWS::EC2::VPNGateway", - "description": "Schema for EC2 VPN Gateway", + "description": "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*.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions": { "Tag": { @@ -9,18 +9,21 @@ "properties": { "Key": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The tag key.", + "markdownDescription": "The tag key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Value": { "type": "string", - "markdownDescription": "\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" } }, "required": [ "Value", "Key" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).", + "markdownDescription": "Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -71,7 +74,8 @@ "create": { "permissions": [ "ec2:CreateVpnGateway", - "ec2:DescribeVpnGateways" + "ec2:DescribeVpnGateways", + "ec2:CreateTags" ] }, "read": { @@ -81,13 +85,16 @@ }, "update": { "permissions": [ + "ec2:DescribeVpnGateways", "ec2:CreateTags", "ec2:DeleteTags" ] }, "delete": { "permissions": [ - "ec2:DeleteVpnGateway" + "ec2:DeleteVpnGateway", + "ec2:DescribeVpnGateways", + "ec2:DeleteTags" ] }, "list": { @@ -98,9 +105,9 @@ }, "attributes": { "VPNGatewayId": { - "description": "VPN Gateway ID generated by service", + "description": "", "type": "string", - "markdownDescription": "VPN Gateway ID generated by service\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-ecr-repositorycreationtemplate.json b/server/schema/resources/aws-ecr-repositorycreationtemplate.json index 4a8e6137..3433e168 100644 --- a/server/schema/resources/aws-ecr-repositorycreationtemplate.json +++ b/server/schema/resources/aws-ecr-repositorycreationtemplate.json @@ -152,7 +152,9 @@ "permissions": [ "ecr:CreateRepositoryCreationTemplate", "ecr:PutLifecyclePolicy", - "ecr:SetRepositoryPolicy" + "ecr:SetRepositoryPolicy", + "ecr:CreateRepository", + "iam:CreateServiceLinkedRole" ] }, "read": { @@ -165,7 +167,9 @@ "ecr:DescribeRepositoryCreationTemplates", "ecr:UpdateRepositoryCreationTemplate", "ecr:PutLifecyclePolicy", - "ecr:SetRepositoryPolicy" + "ecr:SetRepositoryPolicy", + "ecr:CreateRepository", + "iam:CreateServiceLinkedRole" ] }, "delete": { diff --git a/server/schema/resources/aws-ecs-capacityprovider.json b/server/schema/resources/aws-ecs-capacityprovider.json index 9b2464f6..1c3ce9c2 100644 --- a/server/schema/resources/aws-ecs-capacityprovider.json +++ b/server/schema/resources/aws-ecs-capacityprovider.json @@ -1,19 +1,61 @@ { + "propertyTransform": { + "/properties/AutoScalingGroupProvider/AutoScalingGroupArn": "$split(AutoScalingGroupProvider.AutoScalingGroupArn, \"autoScalingGroupName/\")[-1] $OR $split(AutoScalingGroupArn, \"autoScalingGroupName/\")[-1]" + }, + "tagging": { + "taggable": true + }, + "handlers": { + "read": { + "permissions": [ + "ecs:DescribeCapacityProviders" + ] + }, + "create": { + "permissions": [ + "autoscaling:CreateOrUpdateTags", + "ecs:CreateCapacityProvider", + "ecs:DescribeCapacityProviders", + "ecs:TagResource" + ] + }, + "update": { + "permissions": [ + "ecs:UpdateCapacityProvider", + "ecs:DescribeCapacityProviders", + "ecs:ListTagsForResource", + "ecs:TagResource", + "ecs:UntagResource" + ] + }, + "list": { + "permissions": [ + "ecs:DescribeCapacityProviders" + ] + }, + "delete": { + "permissions": [ + "ecs:DescribeCapacityProviders", + "ecs:DeleteCapacityProvider" + ] + } + }, "typeName": "AWS::ECS::CapacityProvider", "description": "Resource Type definition for AWS::ECS::CapacityProvider.", + "createOnlyProperties": [ + "/properties/AutoScalingGroupProvider/AutoScalingGroupArn", + "/properties/Name" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Name" + ], "definitions": { "ManagedScaling": { "description": "The managed scaling settings for the Auto Scaling group capacity provider.", + "additionalProperties": false, "type": "object", "properties": { - "MinimumScalingStepSize": { - "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" - }, "Status": { "type": "string", "enum": [ @@ -22,28 +64,36 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" }, - "TargetCapacity": { + "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" } }, - "additionalProperties": false, "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", "properties": { + "ManagedScaling": { + "$ref": "#/definitions/ManagedScaling" + }, "AutoScalingGroupArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "ManagedScaling": { - "$ref": "#/definitions/ManagedScaling" - }, "ManagedTerminationProtection": { "type": "string", "enum": [ @@ -64,24 +114,23 @@ "required": [ "AutoScalingGroupArn" ], - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" }, "Tag": { + "additionalProperties": false, "type": "object", "properties": { - "Key": { - "type": "string", + "Value": { "minLength": 1, + "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" }, - "Value": { - "type": "string", + "Key": { "minLength": 1, + "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, @@ -89,65 +138,16 @@ "AutoScalingGroupProvider": { "$ref": "#/definitions/AutoScalingGroupProvider" }, - "Name": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, "Tags": { "type": "array", "items": { "$ref": "#/definitions/Tag" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/Name" - ], - "createOnlyProperties": [ - "/properties/AutoScalingGroupProvider/AutoScalingGroupArn", - "/properties/Name" - ], - "propertyTransform": { - "/properties/AutoScalingGroupProvider/AutoScalingGroupArn": "$split(AutoScalingGroupProvider.AutoScalingGroupArn, \"autoScalingGroupName/\")[-1] $OR $split(AutoScalingGroupArn, \"autoScalingGroupName/\")[-1]" - }, - "tagging": { - "taggable": true - }, - "handlers": { - "create": { - "permissions": [ - "autoscaling:CreateOrUpdateTags", - "ecs:CreateCapacityProvider", - "ecs:DescribeCapacityProviders", - "ecs:TagResource" - ] - }, - "delete": { - "permissions": [ - "ecs:DescribeCapacityProviders", - "ecs:DeleteCapacityProvider" - ] }, - "read": { - "permissions": [ - "ecs:DescribeCapacityProviders" - ] - }, - "update": { - "permissions": [ - "ecs:UpdateCapacityProvider", - "ecs:DescribeCapacityProviders", - "ecs:ListTagsForResource", - "ecs:TagResource", - "ecs:UntagResource" - ] - }, - "list": { - "permissions": [ - "ecs:DescribeCapacityProviders" - ] + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" } }, "required": [ diff --git a/server/schema/resources/aws-ecs-cluster.json b/server/schema/resources/aws-ecs-cluster.json index 61b6672a..735f903a 100644 --- a/server/schema/resources/aws-ecs-cluster.json +++ b/server/schema/resources/aws-ecs-cluster.json @@ -5,7 +5,8 @@ "handlers": { "read": { "permissions": [ - "ecs:DescribeClusters" + "ecs:DescribeClusters", + "kms:DescribeKey" ] }, "create": { @@ -13,7 +14,8 @@ "ecs:CreateCluster", "ecs:DescribeClusters", "iam:CreateServiceLinkedRole", - "ecs:TagResource" + "ecs:TagResource", + "kms:DescribeKey" ] }, "update": { @@ -26,7 +28,8 @@ "ecs:ListTagsForResource", "ecs:UpdateCluster", "ecs:UpdateClusterSettings", - "ecs:PutClusterCapacityProviders" + "ecs:PutClusterCapacityProviders", + "kms:DescribeKey" ] }, "list": { @@ -38,7 +41,8 @@ "delete": { "permissions": [ "ecs:DeleteCluster", - "ecs:DescribeClusters" + "ecs:DescribeClusters", + "kms:DescribeKey" ] } }, @@ -140,6 +144,22 @@ }, "markdownDescription": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ManagedStorageConfiguration": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "FargateEphemeralStorageKmsKeyId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "KmsKeyId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ServiceConnectDefaults": { "description": "Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as client services in the namespace. This setting only applies to new services that set the ``enabled`` parameter to ``true`` in the ``ServiceConnectConfiguration``. You can set the namespace of each service individually in the ``ServiceConnectConfiguration`` to override this default parameter.\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*.", "additionalProperties": false, @@ -176,6 +196,11 @@ "additionalProperties": false, "type": "object", "properties": { + "ManagedStorageConfiguration": { + "description": "", + "$ref": "#/definitions/ManagedStorageConfiguration", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "ExecuteCommandConfiguration": { "description": "The details of the execute command configuration.", "$ref": "#/definitions/ExecuteCommandConfiguration", diff --git a/server/schema/resources/aws-ecs-primarytaskset.json b/server/schema/resources/aws-ecs-primarytaskset.json index 3462347b..8e65514b 100644 --- a/server/schema/resources/aws-ecs-primarytaskset.json +++ b/server/schema/resources/aws-ecs-primarytaskset.json @@ -1,54 +1,21 @@ { - "typeName": "AWS::ECS::PrimaryTaskSet", - "description": "A pseudo-resource that manages which of your ECS task sets is primary.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", - "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.", - "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" - }, - "TaskSetId": { - "description": "The ID or full Amazon Resource Name (ARN) of the task set.", - "type": "string", - "markdownDescription": "The ID or full Amazon Resource Name (ARN) of the task set.\n\n---\n\nRequired: Yes \nType: String \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" - } - }, - "additionalProperties": false, - "required": [ - "Cluster", - "Service", - "TaskSetId" - ], "tagging": { "taggable": false, "tagOnCreate": false, "tagUpdatable": false, "cloudFormationSystemTags": false }, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/Service" - ], - "primaryIdentifier": [ - "/properties/Cluster", - "/properties/Service" - ], "handlers": { + "read": { + "permissions": [] + }, "create": { "permissions": [ "ecs:DescribeTaskSets", "ecs:UpdateServicePrimaryTaskSet" ] }, - "read": { - "permissions": [] - }, "update": { "permissions": [ "ecs:DescribeTaskSets", @@ -59,5 +26,38 @@ "permissions": [] } }, + "typeName": "AWS::ECS::PrimaryTaskSet", + "description": "A pseudo-resource that manages which of your ECS task sets is primary.", + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/Service" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service" + ], + "properties": { + "TaskSetId": { + "description": "The ID or full Amazon Resource Name (ARN) of the task set.", + "type": "string", + "markdownDescription": "The ID or full Amazon Resource Name (ARN) of the task set.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "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", + "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" + }, + "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" + } + }, + "required": [ + "Cluster", + "Service", + "TaskSetId" + ], "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-ecs-taskdefinition.json b/server/schema/resources/aws-ecs-taskdefinition.json index 6f732a7d..b9718657 100644 --- a/server/schema/resources/aws-ecs-taskdefinition.json +++ b/server/schema/resources/aws-ecs-taskdefinition.json @@ -1,517 +1,771 @@ { + "sourceUrl": "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html", + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true + }, + "propertyTransform": { + "/properties/TaskRoleArn": "TaskRoleArn $OR $split(TaskRoleArn, \"role/\")[-1]" + }, + "handlers": { + "read": { + "permissions": [ + "ecs:DescribeTaskDefinition" + ] + }, + "create": { + "permissions": [ + "ecs:RegisterTaskDefinition", + "ecs:DescribeTaskDefinition", + "ecs:TagResource", + "iam:GetRole", + "iam:PassRole" + ] + }, + "update": { + "permissions": [ + "ecs:TagResource", + "ecs:UntagResource", + "ecs:ListTagsForResource", + "ecs:DescribeTaskDefinition", + "iam:GetRole", + "iam:PassRole" + ] + }, + "list": { + "permissions": [ + "ecs:ListTaskDefinitions", + "ecs:DescribeTaskDefinition" + ] + }, + "delete": { + "permissions": [ + "ecs:DeregisterTaskDefinition", + "ecs:DescribeTaskDefinition", + "iam:GetRole", + "iam:PassRole" + ] + } + }, "typeName": "AWS::ECS::TaskDefinition", + "readOnlyProperties": [ + "/properties/TaskDefinitionArn" + ], "description": "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. The available network modes correspond to those described in [Network settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#/network-settings) in the Docker run reference. If you specify the ``awsvpc`` network mode, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration 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.", - "sourceUrl": "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html", + "createOnlyProperties": [ + "/properties/Family", + "/properties/ContainerDefinitions", + "/properties/Cpu", + "/properties/ExecutionRoleArn", + "/properties/InferenceAccelerators", + "/properties/Memory", + "/properties/NetworkMode", + "/properties/PlacementConstraints", + "/properties/ProxyConfiguration", + "/properties/RequiresCompatibilities", + "/properties/RuntimePlatform", + "/properties/TaskRoleArn", + "/properties/Volumes", + "/properties/PidMode", + "/properties/IpcMode", + "/properties/EphemeralStorage" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/TaskDefinitionArn" + ], "definitions": { - "ContainerDefinition": { - "description": "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.", + "VolumeFrom": { + "description": "Details on a data volume from another container in the same task definition.", + "additionalProperties": false, + "type": "object", + "properties": { + "ReadOnly": { + "description": "If this value is ``true``, the container has read-only access to the volume. If this value is ``false``, then the container can write to the volume. The default value is ``false``.", + "type": "boolean", + "markdownDescription": "If this value is ``true``, the container has read-only access to the volume. If this value is ``false``, then the container can write to the volume. The default value is ``false``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "SourceContainer": { + "description": "The name of another container within the same task definition to mount volumes from.", + "type": "string", + "markdownDescription": "The name of another container within the same task definition to mount volumes from.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Details on a data volume from another container in the same task definition.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ContainerDependency": { + "description": "The ``ContainerDependency`` property specifies the dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.\n Your Amazon ECS container instances require at least version 1.26.0 of the container agent to enable container dependencies. 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 are 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 For tasks using the Fargate launch type, this parameter requires that the task or service uses platform version 1.3.0 or later.", + "additionalProperties": false, + "type": "object", + "properties": { + "Condition": { + "description": "The dependency condition of the container. The following are the available conditions and their behavior:\n + ``START`` - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.\n + ``COMPLETE`` - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container.\n + ``SUCCESS`` - This condition is the same as ``COMPLETE``, but it also requires that the container exits with a ``zero`` status. This condition can't be set on an essential container.\n + ``HEALTHY`` - This condition validates that the dependent container passes its Docker health check before permitting other containers to start. This requires that the dependent container has health checks configured. This condition is confirmed only at task startup.", + "type": "string", + "markdownDescription": "The dependency condition of the container. The following are the available conditions and their behavior:\n + ``START`` - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.\n + ``COMPLETE`` - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container.\n + ``SUCCESS`` - This condition is the same as ``COMPLETE``, but it also requires that the container exits with a ``zero`` status. This condition can't be set on an essential container.\n + ``HEALTHY`` - This condition validates that the dependent container passes its Docker health check before permitting other containers to start. This requires that the dependent container has health checks configured. This condition is confirmed only at task startup.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ContainerName": { + "description": "The name of a container.", + "type": "string", + "markdownDescription": "The name of a container.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The ``ContainerDependency`` property specifies the dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.\n Your Amazon ECS container instances require at least version 1.26.0 of the container agent to enable container dependencies. 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 are 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 For tasks using the Fargate launch type, this parameter requires that the task or service uses platform version 1.3.0 or later.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "HealthCheck": { + "description": "The ``HealthCheck`` property specifies an object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile). This configuration maps to the ``HEALTHCHECK`` parameter of [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/).\n The Amazon ECS container agent only monitors and reports on the health checks specified in the task definition. Amazon ECS does not monitor Docker health checks that are embedded in a container image and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.\n If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.\n The following are notes about container health check support:\n + Container health checks require version 1.17.0 or greater of the Amazon ECS container agent. For more information, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html).\n + Container health checks are supported for Fargate tasks if you are using platform version 1.1.0 or greater. For more information, see [Platform Versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html).\n + Container health checks are not supported for tasks that are part of a service that is configured to use a Classic Load Balancer.", + "additionalProperties": false, "type": "object", - "required": [ - "Name", - "Image" - ], "properties": { "Command": { - "type": "array", + "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 [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/).", "insertionOrder": true, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "description": "The command that's passed to the container. This parameter maps to ``Cmd`` 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 ``COMMAND`` parameter to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#cmd](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple arguments, each argument is a separated string in the array.", - "markdownDescription": "The command that's passed to the container. This parameter maps to ``Cmd`` 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 ``COMMAND`` parameter to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#cmd](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple arguments, each argument is a separated string in the array.\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 [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/).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Cpu": { + "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.", + "type": "integer", + "markdownDescription": "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.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Retries": { + "description": "The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is 3.", "type": "integer", - "description": "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` 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 ``--cpu-shares`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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. For more information, see [CPU share constraint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#cpu-share-constraint) in the Docker documentation. The minimum valid CPU share value that the Linux kernel allows is 2. However, the CPU parameter isn't required, and you can use CPU values below 2 in your container definitions. For CPU values below 2 (including null), 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 \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.", - "markdownDescription": "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` 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 ``--cpu-shares`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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. For more information, see [CPU share constraint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#cpu-share-constraint) in the Docker documentation. The minimum valid CPU share value that the Linux kernel allows is 2. However, the CPU parameter isn't required, and you can use CPU values below 2 in your container definitions. For CPU values below 2 (including null), 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 \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" + "markdownDescription": "The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is 3.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "CredentialSpecs": { - "type": "array", + "Interval": { + "description": "The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.", + "type": "integer", + "markdownDescription": "The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "StartPeriod": { + "description": "The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You can specify between 0 and 300 seconds. By default, the ``startPeriod`` is off.\n If a health check succeeds within the ``startPeriod``, then the container is considered healthy and any subsequent failures count toward the maximum number of retries.", + "type": "integer", + "markdownDescription": "The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You can specify between 0 and 300 seconds. By default, the ``startPeriod`` is off.\n If a health check succeeds within the ``startPeriod``, then the container is considered healthy and any subsequent failures count toward the maximum number of retries.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The ``HealthCheck`` property specifies an object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile). This configuration maps to the ``HEALTHCHECK`` parameter of [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/).\n The Amazon ECS container agent only monitors and reports on the health checks specified in the task definition. Amazon ECS does not monitor Docker health checks that are embedded in a container image and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.\n If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.\n The following are notes about container health check support:\n + Container health checks require version 1.17.0 or greater of the Amazon ECS container agent. For more information, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html).\n + Container health checks are supported for Fargate tasks if you are using platform version 1.1.0 or greater. For more information, see [Platform Versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html).\n + Container health checks are not supported for tasks that are part of a service that is configured to use a Classic Load Balancer.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "HostEntry": { + "description": "The ``HostEntry`` property specifies a hostname and an IP address that are added to the ``/etc/hosts`` file of a container through the ``extraHosts`` parameter of its ``ContainerDefinition`` resource.", + "additionalProperties": false, + "type": "object", + "properties": { + "Hostname": { + "description": "The hostname to use in the ``/etc/hosts`` entry.", + "type": "string", + "markdownDescription": "The hostname to use in the ``/etc/hosts`` entry.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IpAddress": { + "description": "The IP address to use in the ``/etc/hosts`` entry.", + "type": "string", + "markdownDescription": "The IP address to use in the ``/etc/hosts`` entry.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The ``HostEntry`` property specifies a hostname and an IP address that are added to the ``/etc/hosts`` file of a container through the ``extraHosts`` parameter of its ``ContainerDefinition`` resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ContainerDefinition": { + "description": "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.", + "additionalProperties": false, + "type": "object", + "required": [ + "Name", + "Image" + ], + "properties": { + "User": { + "description": "The user to use inside the container. This parameter maps to ``User`` 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 ``--user`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security.\n You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer.\n + ``user`` \n + ``user:group`` \n + ``uid`` \n + ``uid:gid`` \n + ``user:gid`` \n + ``uid:group`` \n \n This parameter is not supported for Windows containers.", + "type": "string", + "markdownDescription": "The user to use inside the container. This parameter maps to ``User`` 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 ``--user`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security.\n You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer.\n + ``user`` \n + ``user:group`` \n + ``uid`` \n + ``uid:gid`` \n + ``user:gid`` \n + ``uid:group`` \n \n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Secrets": { + "description": "The secrets to pass to the container. For more information, see [Specifying Sensitive Data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.", "insertionOrder": false, + "type": "array", "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "$ref": "#/definitions/Secret" }, - "description": "A list of ARNs in SSM or Amazon S3 to a credential spec (``CredSpec``) file that configures the container for Active Directory authentication. We recommend that you use this parameter instead of the ``dockerSecurityOptions``. The maximum number of ARNs is 1.\n There are two formats for each ARN.\n + credentialspecdomainless:MyARN You use credentialspecdomainless:MyARN to provide a CredSpec with an additional section for a secret in . You provide the login credentials to the domain in the secret. Each task that runs on any container instance can join different domains. You can use this format without joining the container instance to a domain. + credentialspec:MyARN You use credentialspec:MyARN to provide a CredSpec for a single domain. You must join the container instance to the domain before you start any tasks that use this task definition. \n In both formats, replace ``MyARN`` with the ARN in SSM or Amazon S3.\n If you provide a ``credentialspecdomainless:MyARN``, the ``credspec`` must provide a ARN in ASMlong for a secret containing the username, password, and the domain to connect to. For better security, the instance isn't joined to the domain for domainless authentication. Other applications on the instance can't use the domainless credentials. You can use this parameter to run tasks on the same instance, even it the tasks need to join different domains. 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).", - "markdownDescription": "A list of ARNs in SSM or Amazon S3 to a credential spec (``CredSpec``) file that configures the container for Active Directory authentication. We recommend that you use this parameter instead of the ``dockerSecurityOptions``. The maximum number of ARNs is 1.\n There are two formats for each ARN.\n + credentialspecdomainless:MyARN You use credentialspecdomainless:MyARN to provide a CredSpec with an additional section for a secret in . You provide the login credentials to the domain in the secret. Each task that runs on any container instance can join different domains. You can use this format without joining the container instance to a domain. + credentialspec:MyARN You use credentialspec:MyARN to provide a CredSpec for a single domain. You must join the container instance to the domain before you start any tasks that use this task definition. \n In both formats, replace ``MyARN`` with the ARN in SSM or Amazon S3.\n If you provide a ``credentialspecdomainless:MyARN``, the ``credspec`` must provide a ARN in ASMlong for a secret containing the username, password, and the domain to connect to. For better security, the instance isn't joined to the domain for domainless authentication. Other applications on the instance can't use the domainless credentials. You can use this parameter to run tasks on the same instance, even it the tasks need to join different domains. 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).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The secrets to pass to the container. For more information, see [Specifying Sensitive Data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "DependsOn": { - "type": "array", + "Memory": { + "description": "The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. The total amount of memory reserved for all containers within a task must be lower than the task ``memory`` value, if one is specified. This parameter maps to ``Memory`` 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 ``--memory`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If using the Fargate launch type, this parameter is optional.\n If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory value. If you specify both a container-level ``memory`` and ``memoryReservation`` value, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used.\n The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container, so you should not specify fewer than 6 MiB of memory for your containers.\n The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.", + "type": "integer", + "markdownDescription": "The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. The total amount of memory reserved for all containers within a task must be lower than the task ``memory`` value, if one is specified. This parameter maps to ``Memory`` 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 ``--memory`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If using the Fargate launch type, this parameter is optional.\n If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory value. If you specify both a container-level ``memory`` and ``memoryReservation`` value, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used.\n The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container, so you should not specify fewer than 6 MiB of memory for your containers.\n The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Privileged": { + "description": "When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` 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 ``--privileged`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers or tasks run on FARGATElong.", + "type": "boolean", + "markdownDescription": "When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` 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 ``--privileged`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers or tasks run on FARGATElong.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "HealthCheck": { + "description": "The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` 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 ``HEALTHCHECK`` parameter of [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).", + "$ref": "#/definitions/HealthCheck", + "markdownDescription": "The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` 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 ``HEALTHCHECK`` parameter of [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "StartTimeout": { + "description": "Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you specify two containers in a task definition with containerA having a dependency on containerB reaching a ``COMPLETE``, ``SUCCESS``, or ``HEALTHY`` status. If a ``startTimeout`` value is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and not start. This results in the task transitioning to a ``STOPPED`` state.\n When the ``ECS_CONTAINER_START_TIMEOUT`` container agent configuration variable is used, it's enforced independently from this start timeout value.\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 using the EC2 launch type, your container instances require at least version ``1.26.0`` of the container agent to use a container start 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.", + "type": "integer", + "markdownDescription": "Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you specify two containers in a task definition with containerA having a dependency on containerB reaching a ``COMPLETE``, ``SUCCESS``, or ``HEALTHY`` status. If a ``startTimeout`` value is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and not start. This results in the task transitioning to a ``STOPPED`` state.\n When the ``ECS_CONTAINER_START_TIMEOUT`` container agent configuration variable is used, it's enforced independently from this start timeout value.\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 using the EC2 launch type, your container instances require at least version ``1.26.0`` of the container agent to use a container start 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" + }, + "VolumesFrom": { + "uniqueItems": true, + "description": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` 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 ``--volumes-from`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).", "insertionOrder": false, + "type": "array", "items": { - "$ref": "#/definitions/ContainerDependency" + "$ref": "#/definitions/VolumeFrom" }, - "description": "The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.\n For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent to turn on container dependencies. 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 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 If the task definition is used in a blue/green deployment that uses [AWS::CodeDeploy::DeploymentGroup BlueGreenDeploymentConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html), the ``dependsOn`` parameter is not supported. For more information see [Issue #680](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/680) on the on the GitHub website.", - "markdownDescription": "The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.\n For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent to turn on container dependencies. 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 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 If the task definition is used in a blue/green deployment that uses [AWS::CodeDeploy::DeploymentGroup BlueGreenDeploymentConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html), the ``dependsOn`` parameter is not supported. For more information see [Issue #680](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/680) on the on the GitHub website.\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 [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 ``--volumes-from`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "DisableNetworking": { - "type": "boolean", - "description": "When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` 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/).\n This parameter is not supported for Windows containers.", - "markdownDescription": "When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` 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/).\n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "Cpu": { + "description": "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` 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 ``--cpu-shares`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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. For more information, see [CPU share constraint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#cpu-share-constraint) in the Docker documentation. 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.", + "type": "integer", + "markdownDescription": "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` 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 ``--cpu-shares`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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. For more information, see [CPU share constraint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#cpu-share-constraint) in the Docker documentation. 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" }, - "DnsSearchDomains": { + "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 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 ``--entrypoint`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#entrypoint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#entrypoint).", + "insertionOrder": true, "type": "array", - "insertionOrder": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "description": "A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` 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 ``--dns-search`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.", - "markdownDescription": "A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` 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 ``--dns-search`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.\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 [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 ``--entrypoint`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#entrypoint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#entrypoint).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "DnsServers": { - "type": "array", + "description": "A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` 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 ``--dns`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.", "insertionOrder": false, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "description": "A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` 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 ``--dns`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.", "markdownDescription": "A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` 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 ``--dns`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "DockerLabels": { - "type": "object", - "patternProperties": { - ".{1,}": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "description": "A key/value map of labels to add to the container. This parameter maps to ``Labels`` 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 ``--label`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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}}'``", - "markdownDescription": "A key/value map of labels to add to the container. This parameter maps to ``Labels`` 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 ``--label`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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\n---\n\nRequired: No \nUpdate requires: No interruption" + "ReadonlyRootFilesystem": { + "description": "When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` 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 ``--read-only`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.", + "type": "boolean", + "markdownDescription": "When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` 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 ``--read-only`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "DockerSecurityOptions": { - "type": "array", - "insertionOrder": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "description": "A list of strings to provide custom configuration for multiple security systems. For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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 [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 ``--security-opt`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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 For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). \n Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" | \"credentialspec:CredentialSpecFilePath\"", - "markdownDescription": "A list of strings to provide custom configuration for multiple security systems. For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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 [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 ``--security-opt`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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 For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). \n Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" | \"credentialspec:CredentialSpecFilePath\"\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "Image": { + "description": "The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` 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 ``IMAGE`` parameter of [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.\n + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. \n + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``).\n + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``).\n + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``).", + "type": "string", + "markdownDescription": "The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` 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 ``IMAGE`` parameter of [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.\n + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. \n + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``).\n + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``).\n + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``).\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "EntryPoint": { - "type": "array", - "insertionOrder": true, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "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 [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 ``--entrypoint`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#entrypoint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#entrypoint).", - "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 [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 ``--entrypoint`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#entrypoint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#entrypoint).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "Essential": { + "description": "If the ``essential`` parameter of a container is marked as ``true``, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the ``essential`` parameter of a container is marked as ``false``, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.\n All tasks must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see [Application Architecture](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) in the *Amazon Elastic Container Service Developer Guide*.", + "type": "boolean", + "markdownDescription": "If the ``essential`` parameter of a container is marked as ``true``, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the ``essential`` parameter of a container is marked as ``false``, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.\n All tasks must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see [Application Architecture](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "Environment": { - "description": "The environment variables to pass to a container. This parameter maps to ``Env`` 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 ``--env`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n We don't recommend that you use plaintext environment variables for sensitive information, such as credential data.", - "type": "array", + "LogConfiguration": { + "description": "The log configuration specification for the container.\n This parameter maps to ``LogConfig`` 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 ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). By default, containers use the same logging driver that the Docker daemon uses. However, the container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation.\n Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the [LogConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html) data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.\n 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 The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance 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*.", + "$ref": "#/definitions/LogConfiguration", + "markdownDescription": "The log configuration specification for the container.\n This parameter maps to ``LogConfig`` 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 ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). By default, containers use the same logging driver that the Docker daemon uses. However, the container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation.\n Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the [LogConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html) data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.\n 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 The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance 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\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ResourceRequirements": { + "description": "The type and amount of a resource to assign to a container. The only supported resource is a GPU.", "insertionOrder": false, - "uniqueItems": true, + "type": "array", "items": { - "$ref": "#/definitions/KeyValuePair" + "$ref": "#/definitions/ResourceRequirement" }, - "markdownDescription": "The environment variables to pass to a container. This parameter maps to ``Env`` 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 ``--env`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n We don't recommend that you use plaintext environment variables for sensitive information, such as credential data.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The type and amount of a resource to assign to a container. The only supported resource is a GPU.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "EnvironmentFiles": { "description": "A list of files containing the environment variables to pass to a container. This parameter maps to the ``--env-file`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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. For more information about the environment variable file syntax, see [Declare default environment variables in file](https://docs.aws.amazon.com/https://docs.docker.com/compose/env-file/).\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*.", - "type": "array", "insertionOrder": true, + "type": "array", "items": { "$ref": "#/definitions/EnvironmentFile" }, "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](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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. For more information about the environment variable file syntax, see [Declare default environment variables in file](https://docs.aws.amazon.com/https://docs.docker.com/compose/env-file/).\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" }, - "Essential": { - "type": "boolean", - "description": "If the ``essential`` parameter of a container is marked as ``true``, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the ``essential`` parameter of a container is marked as ``false``, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.\n All tasks must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see [Application Architecture](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) in the *Amazon Elastic Container Service Developer Guide*.", - "markdownDescription": "If the ``essential`` parameter of a container is marked as ``true``, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the ``essential`` parameter of a container is marked as ``false``, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.\n All tasks must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see [Application Architecture](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "ExtraHosts": { - "type": "array", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/HostEntry" - }, - "description": "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 [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 ``--add-host`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode.", - "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 [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 ``--add-host`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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" + "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 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 ``--name`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).", + "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 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 ``--name`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "FirelensConfiguration": { - "$ref": "#/definitions/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*.", + "$ref": "#/definitions/FirelensConfiguration", "markdownDescription": "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*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "HealthCheck": { - "$ref": "#/definitions/HealthCheck", - "description": "The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` 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 ``HEALTHCHECK`` parameter of [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).", - "markdownDescription": "The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` 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 ``HEALTHCHECK`` parameter of [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "DockerSecurityOptions": { + "description": "A list of strings to provide custom configuration for multiple security systems. For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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 [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 ``--security-opt`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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 For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). \n Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" | \"credentialspec:CredentialSpecFilePath\"", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "A list of strings to provide custom configuration for multiple security systems. For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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 [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 ``--security-opt`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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 For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). \n Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" | \"credentialspec:CredentialSpecFilePath\"\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Hostname": { - "type": "string", - "description": "The hostname to use for your container. This parameter maps to ``Hostname`` 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 ``--hostname`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.", - "markdownDescription": "The hostname to use for your container. This parameter maps to ``Hostname`` 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 ``--hostname`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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" + "SystemControls": { + "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` 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 ``--sysctl`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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 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 ``--sysctl`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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" }, - "Image": { - "description": "The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` 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 ``IMAGE`` parameter of [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.\n + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. \n + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``).\n + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``).\n + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``).", - "type": "string", - "markdownDescription": "The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` 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 ``IMAGE`` parameter of [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.\n + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. \n + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``).\n + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``).\n + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``).\n\n---\n\nRequired: Yes \nType: String \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 [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 ``--interactive`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).", + "type": "boolean", + "markdownDescription": "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 [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 ``--interactive`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "Links": { - "type": "array", + "DnsSearchDomains": { + "description": "A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` 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 ``--dns-search`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.", "insertionOrder": false, - "uniqueItems": true, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "description": "The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about linking Docker containers, go to [Legacy container links](https://docs.aws.amazon.com/https://docs.docker.com/network/links/) in the Docker documentation. This parameter maps to ``Links`` 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 ``--link`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.\n Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.", - "markdownDescription": "The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about linking Docker containers, go to [Legacy container links](https://docs.aws.amazon.com/https://docs.docker.com/network/links/) in the Docker documentation. This parameter maps to ``Links`` 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 ``--link`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.\n Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` 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 ``--dns-search`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "LinuxParameters": { - "$ref": "#/definitions/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.", - "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" + "CredentialSpecs": { + "description": "A list of ARNs in SSM or Amazon S3 to a credential spec (``CredSpec``) file that configures the container for Active Directory authentication. We recommend that you use this parameter instead of the ``dockerSecurityOptions``. The maximum number of ARNs is 1.\n There are two formats for each ARN.\n + credentialspecdomainless:MyARN You use credentialspecdomainless:MyARN to provide a CredSpec with an additional section for a secret in . You provide the login credentials to the domain in the secret. Each task that runs on any container instance can join different domains. You can use this format without joining the container instance to a domain. + credentialspec:MyARN You use credentialspec:MyARN to provide a CredSpec for a single domain. You must join the container instance to the domain before you start any tasks that use this task definition. \n In both formats, replace ``MyARN`` with the ARN in SSM or Amazon S3.\n If you provide a ``credentialspecdomainless:MyARN``, the ``credspec`` must provide a ARN in ASMlong for a secret containing the username, password, and the domain to connect to. For better security, the instance isn't joined to the domain for domainless authentication. Other applications on the instance can't use the domainless credentials. You can use this parameter to run tasks on the same instance, even it the tasks need to join different domains. 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).", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "A list of ARNs in SSM or Amazon S3 to a credential spec (``CredSpec``) file that configures the container for Active Directory authentication. We recommend that you use this parameter instead of the ``dockerSecurityOptions``. The maximum number of ARNs is 1.\n There are two formats for each ARN.\n + credentialspecdomainless:MyARN You use credentialspecdomainless:MyARN to provide a CredSpec with an additional section for a secret in . You provide the login credentials to the domain in the secret. Each task that runs on any container instance can join different domains. You can use this format without joining the container instance to a domain. + credentialspec:MyARN You use credentialspec:MyARN to provide a CredSpec for a single domain. You must join the container instance to the domain before you start any tasks that use this task definition. \n In both formats, replace ``MyARN`` with the ARN in SSM or Amazon S3.\n If you provide a ``credentialspecdomainless:MyARN``, the ``credspec`` must provide a ARN in ASMlong for a secret containing the username, password, and the domain to connect to. For better security, the instance isn't joined to the domain for domainless authentication. Other applications on the instance can't use the domainless credentials. You can use this parameter to run tasks on the same instance, even it the tasks need to join different domains. 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).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration", - "description": "The log configuration specification for the container.\n This parameter maps to ``LogConfig`` 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 ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). By default, containers use the same logging driver that the Docker daemon uses. However, the container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation.\n Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the [LogConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html) data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.\n 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 The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance 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*.", - "markdownDescription": "The log configuration specification for the container.\n This parameter maps to ``LogConfig`` 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 ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). By default, containers use the same logging driver that the Docker daemon uses. However, the container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation.\n Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the [LogConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html) data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.\n 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 The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance 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\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "Ulimits": { + "description": "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.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Ulimit" + }, + "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" }, - "Memory": { - "description": "The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. The total amount of memory reserved for all containers within a task must be lower than the task ``memory`` value, if one is specified. This parameter maps to ``Memory`` 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 ``--memory`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If using the Fargate launch type, this parameter is optional.\n If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory value. If you specify both a container-level ``memory`` and ``memoryReservation`` value, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used.\n The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container, so you should not specify fewer than 6 MiB of memory for your containers.\n The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.", + "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.", "type": "integer", - "markdownDescription": "The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. The total amount of memory reserved for all containers within a task must be lower than the task ``memory`` value, if one is specified. This parameter maps to ``Memory`` 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 ``--memory`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If using the Fargate launch type, this parameter is optional.\n If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory value. If you specify both a container-level ``memory`` and ``memoryReservation`` value, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used.\n The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container, so you should not specify fewer than 6 MiB of memory for your containers.\n The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.\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 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" + }, + "WorkingDirectory": { + "description": "The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` 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 ``--workdir`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).", + "type": "string", + "markdownDescription": "The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` 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 ``--workdir`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MemoryReservation": { - "type": "integer", "description": "The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` 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 ``--memory-reservation`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used.\n For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.\n The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. \n The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers.", + "type": "integer", "markdownDescription": "The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` 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 ``--memory-reservation`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used.\n For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.\n The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. \n The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "MountPoints": { + "RepositoryCredentials": { + "description": "The private repository authentication credentials to use.", + "$ref": "#/definitions/RepositoryCredentials", + "markdownDescription": "The private repository authentication credentials to use.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ExtraHosts": { + "description": "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 [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 ``--add-host`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode.", + "insertionOrder": false, "type": "array", - "insertionOrder": true, - "uniqueItems": true, "items": { - "$ref": "#/definitions/MountPoint" + "$ref": "#/definitions/HostEntry" }, - "description": "The mount points for data volumes in your container.\n This parameter maps to ``Volumes`` 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 ``--volume`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives.", - "markdownDescription": "The mount points for data volumes in your container.\n This parameter maps to ``Volumes`` 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 ``--volume`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "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 [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 ``--add-host`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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" }, - "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 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 ``--name`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).", + "Hostname": { + "description": "The hostname to use for your container. This parameter maps to ``Hostname`` 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 ``--hostname`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.", "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 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 ``--name`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The hostname to use for your container. This parameter maps to ``Hostname`` 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 ``--hostname`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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" }, - "PortMappings": { - "description": "The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic.\n For task definitions that use the ``awsvpc`` network mode, you should only specify the ``containerPort``. The ``hostPort`` can be left blank or it must be the same value as the ``containerPort``.\n Port mappings on Windows use the ``NetNAT`` gateway address rather than ``localhost``. There is no loopback for port mappings on Windows, so you cannot access a container's mapped port from the host itself. \n This parameter maps to ``PortBindings`` 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 ``--publish`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). If the network mode of a task definition is set to ``none``, then you can't specify port mappings. If the network mode of a task definition is set to ``host``, then host ports must either be undefined or they must match the container port in the port mapping.\n After a task reaches the ``RUNNING`` status, manual and automatic host and container port assignments are visible in the *Network Bindings* section of a container description for a selected task in the Amazon ECS console. The assignments are also visible in the ``networkBindings`` section [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) responses.", - "type": "array", - "insertionOrder": false, - "uniqueItems": true, - "items": { - "$ref": "#/definitions/PortMapping" - }, - "markdownDescription": "The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic.\n For task definitions that use the ``awsvpc`` network mode, you should only specify the ``containerPort``. The ``hostPort`` can be left blank or it must be the same value as the ``containerPort``.\n Port mappings on Windows use the ``NetNAT`` gateway address rather than ``localhost``. There is no loopback for port mappings on Windows, so you cannot access a container's mapped port from the host itself. \n This parameter maps to ``PortBindings`` 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 ``--publish`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). If the network mode of a task definition is set to ``none``, then you can't specify port mappings. If the network mode of a task definition is set to ``host``, then host ports must either be undefined or they must match the container port in the port mapping.\n After a task reaches the ``RUNNING`` status, manual and automatic host and container port assignments are visible in the *Network Bindings* section of a container description for a selected task in the Amazon ECS console. The assignments are also visible in the ``networkBindings`` section [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) responses.\n\n---\n\nRequired: No \nType: Array \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" }, - "Privileged": { + "DisableNetworking": { + "description": "When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` 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/).\n This parameter is not supported for Windows containers.", "type": "boolean", - "description": "When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` 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 ``--privileged`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers or tasks run on FARGATElong.", - "markdownDescription": "When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` 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 ``--privileged`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers or tasks run on FARGATElong.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` 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/).\n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "ReadonlyRootFilesystem": { + "PseudoTerminal": { + "description": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` 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 ``--tty`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).", "type": "boolean", - "description": "When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` 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 ``--read-only`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.", - "markdownDescription": "When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` 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 ``--read-only`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials", - "description": "The private repository authentication credentials to use.", - "markdownDescription": "The private repository authentication credentials to use.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` 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 ``--tty`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "ResourceRequirements": { + "MountPoints": { + "uniqueItems": true, + "description": "The mount points for data volumes in your container.\n This parameter maps to ``Volumes`` 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 ``--volume`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives.", + "insertionOrder": true, "type": "array", - "insertionOrder": false, "items": { - "$ref": "#/definitions/ResourceRequirement" + "$ref": "#/definitions/MountPoint" }, - "description": "The type and amount of a resource to assign to a container. The only supported resource is a GPU.", - "markdownDescription": "The type and amount of a resource to assign to a container. The only supported resource is a GPU.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The mount points for data volumes in your container.\n This parameter maps to ``Volumes`` 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 ``--volume`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Secrets": { - "type": "array", + "DependsOn": { + "description": "The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.\n For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent to turn on container dependencies. 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 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 If the task definition is used in a blue/green deployment that uses [AWS::CodeDeploy::DeploymentGroup BlueGreenDeploymentConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html), the ``dependsOn`` parameter is not supported. For more information see [Issue #680](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/680) on the on the GitHub website.", "insertionOrder": false, + "type": "array", "items": { - "$ref": "#/definitions/Secret" + "$ref": "#/definitions/ContainerDependency" }, - "description": "The secrets to pass to the container. For more information, see [Specifying Sensitive Data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.", - "markdownDescription": "The secrets to pass to the container. For more information, see [Specifying Sensitive Data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "StartTimeout": { - "type": "integer", - "description": "Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you specify two containers in a task definition with containerA having a dependency on containerB reaching a ``COMPLETE``, ``SUCCESS``, or ``HEALTHY`` status. If a ``startTimeout`` value is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and not start. This results in the task transitioning to a ``STOPPED`` state.\n When the ``ECS_CONTAINER_START_TIMEOUT`` container agent configuration variable is used, it's enforced independently from this start timeout value.\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 using the EC2 launch type, your container instances require at least version ``1.26.0`` of the container agent to use a container start 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.", - "markdownDescription": "Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you specify two containers in a task definition with containerA having a dependency on containerB reaching a ``COMPLETE``, ``SUCCESS``, or ``HEALTHY`` status. If a ``startTimeout`` value is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and not start. This results in the task transitioning to a ``STOPPED`` state.\n When the ``ECS_CONTAINER_START_TIMEOUT`` container agent configuration variable is used, it's enforced independently from this start timeout value.\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 using the EC2 launch type, your container instances require at least version ``1.26.0`` of the container agent to use a container start 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": "The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.\n For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent to turn on container dependencies. 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 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 If the task definition is used in a blue/green deployment that uses [AWS::CodeDeploy::DeploymentGroup BlueGreenDeploymentConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html), the ``dependsOn`` parameter is not supported. For more information see [Issue #680](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/680) on the on the GitHub website.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "StopTimeout": { - "type": "integer", - "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.", - "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" + "DockerLabels": { + "patternProperties": { + ".{1,}": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "description": "A key/value map of labels to add to the container. This parameter maps to ``Labels`` 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 ``--label`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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}}'``", + "additionalProperties": false, + "type": "object", + "markdownDescription": "A key/value map of labels to add to the container. This parameter maps to ``Labels`` 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 ``--label`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Ulimits": { - "type": "array", + "PortMappings": { + "uniqueItems": true, + "description": "The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic.\n For task definitions that use the ``awsvpc`` network mode, you should only specify the ``containerPort``. The ``hostPort`` can be left blank or it must be the same value as the ``containerPort``.\n Port mappings on Windows use the ``NetNAT`` gateway address rather than ``localhost``. There is no loopback for port mappings on Windows, so you cannot access a container's mapped port from the host itself. \n This parameter maps to ``PortBindings`` 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 ``--publish`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). If the network mode of a task definition is set to ``none``, then you can't specify port mappings. If the network mode of a task definition is set to ``host``, then host ports must either be undefined or they must match the container port in the port mapping.\n After a task reaches the ``RUNNING`` status, manual and automatic host and container port assignments are visible in the *Network Bindings* section of a container description for a selected task in the Amazon ECS console. The assignments are also visible in the ``networkBindings`` section [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) responses.", "insertionOrder": false, + "type": "array", "items": { - "$ref": "#/definitions/Ulimit" + "$ref": "#/definitions/PortMapping" }, - "description": "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.", - "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" - }, - "User": { - "type": "string", - "description": "The user to use inside the container. This parameter maps to ``User`` 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 ``--user`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security.\n You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer.\n + ``user`` \n + ``user:group`` \n + ``uid`` \n + ``uid:gid`` \n + ``user:gid`` \n + ``uid:group`` \n \n This parameter is not supported for Windows containers.", - "markdownDescription": "The user to use inside the container. This parameter maps to ``User`` 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 ``--user`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security.\n You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer.\n + ``user`` \n + ``user:group`` \n + ``uid`` \n + ``uid:gid`` \n + ``user:gid`` \n + ``uid:group`` \n \n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic.\n For task definitions that use the ``awsvpc`` network mode, you should only specify the ``containerPort``. The ``hostPort`` can be left blank or it must be the same value as the ``containerPort``.\n Port mappings on Windows use the ``NetNAT`` gateway address rather than ``localhost``. There is no loopback for port mappings on Windows, so you cannot access a container's mapped port from the host itself. \n This parameter maps to ``PortBindings`` 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 ``--publish`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). If the network mode of a task definition is set to ``none``, then you can't specify port mappings. If the network mode of a task definition is set to ``host``, then host ports must either be undefined or they must match the container port in the port mapping.\n After a task reaches the ``RUNNING`` status, manual and automatic host and container port assignments are visible in the *Network Bindings* section of a container description for a selected task in the Amazon ECS console. The assignments are also visible in the ``networkBindings`` section [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) responses.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "VolumesFrom": { + "Command": { + "description": "The command that's passed to the container. This parameter maps to ``Cmd`` 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 ``COMMAND`` parameter to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#cmd](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple arguments, each argument is a separated string in the array.", + "insertionOrder": true, "type": "array", - "insertionOrder": false, - "uniqueItems": true, "items": { - "$ref": "#/definitions/VolumeFrom" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "description": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` 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 ``--volumes-from`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).", - "markdownDescription": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` 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 ``--volumes-from`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "WorkingDirectory": { - "type": "string", - "description": "The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` 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 ``--workdir`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).", - "markdownDescription": "The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` 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 ``--workdir`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Interactive": { - "type": "boolean", - "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 [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 ``--interactive`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).", - "markdownDescription": "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 [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 ``--interactive`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "PseudoTerminal": { - "type": "boolean", - "description": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` 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 ``--tty`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).", - "markdownDescription": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` 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 ``--tty`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "The command that's passed to the container. This parameter maps to ``Cmd`` 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 ``COMMAND`` parameter to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#cmd](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple arguments, each argument is a separated string in the array.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "SystemControls": { + "Environment": { + "uniqueItems": true, + "description": "The environment variables to pass to a container. This parameter maps to ``Env`` 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 ``--env`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n We don't recommend that you use plaintext environment variables for sensitive information, such as credential data.", + "insertionOrder": false, "type": "array", + "items": { + "$ref": "#/definitions/KeyValuePair" + }, + "markdownDescription": "The environment variables to pass to a container. This parameter maps to ``Env`` 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 ``--env`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n We don't recommend that you use plaintext environment variables for sensitive information, such as credential data.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Links": { + "uniqueItems": true, + "description": "The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about linking Docker containers, go to [Legacy container links](https://docs.aws.amazon.com/https://docs.docker.com/network/links/) in the Docker documentation. This parameter maps to ``Links`` 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 ``--link`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.\n Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.", "insertionOrder": false, + "type": "array", "items": { - "$ref": "#/definitions/SystemControl" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` 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 ``--sysctl`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.", - "markdownDescription": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` 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 ``--sysctl`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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": "The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about linking Docker containers, go to [Legacy container links](https://docs.aws.amazon.com/https://docs.docker.com/network/links/) in the Docker documentation. This parameter maps to ``Links`` 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 ``--link`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n This parameter is not supported for Windows containers.\n Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "additionalProperties": false, "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 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 ``--sysctl`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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": { - "Namespace": { - "type": "string", - "description": "The namespaced kernel parameter to set a ``value`` for.", - "markdownDescription": "The namespaced kernel parameter to set a ``value`` for.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "Value": { - "type": "string", "description": "The namespaced kernel parameter to set a ``value`` for.\n Valid IPC namespace values: ``\"kernel.msgmax\" | \"kernel.msgmnb\" | \"kernel.msgmni\" | \"kernel.sem\" | \"kernel.shmall\" | \"kernel.shmmax\" | \"kernel.shmmni\" | \"kernel.shm_rmid_forced\"``, and ``Sysctls`` that start with ``\"fs.mqueue.*\"`` \n Valid network namespace values: ``Sysctls`` that start with ``\"net.*\"`` \n All of these values are supported by Fargate.", - "markdownDescription": "The namespaced kernel parameter to set a ``value`` for.\n Valid IPC namespace values: ``\"kernel.msgmax\" | \"kernel.msgmnb\" | \"kernel.msgmni\" | \"kernel.sem\" | \"kernel.shmall\" | \"kernel.shmmax\" | \"kernel.shmmni\" | \"kernel.shm_rmid_forced\"``, and ``Sysctls`` that start with ``\"fs.mqueue.*\"`` \n Valid network namespace values: ``Sysctls`` that start with ``\"net.*\"`` \n All of these values are supported by Fargate.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` 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 ``--sysctl`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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.", - "markdownDescription": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` 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 ``--sysctl`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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" - }, - "ContainerDependency": { - "type": "object", - "properties": { - "ContainerName": { "type": "string", - "description": "The name of a container.", - "markdownDescription": "The name of a container.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The namespaced kernel parameter to set a ``value`` for.\n Valid IPC namespace values: ``\"kernel.msgmax\" | \"kernel.msgmnb\" | \"kernel.msgmni\" | \"kernel.sem\" | \"kernel.shmall\" | \"kernel.shmmax\" | \"kernel.shmmni\" | \"kernel.shm_rmid_forced\"``, and ``Sysctls`` that start with ``\"fs.mqueue.*\"`` \n Valid network namespace values: ``Sysctls`` that start with ``\"net.*\"`` \n All of these values are supported by Fargate.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Condition": { + "Namespace": { + "description": "The namespaced kernel parameter to set a ``value`` for.", "type": "string", - "description": "The dependency condition of the container. The following are the available conditions and their behavior:\n + ``START`` - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.\n + ``COMPLETE`` - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container.\n + ``SUCCESS`` - This condition is the same as ``COMPLETE``, but it also requires that the container exits with a ``zero`` status. This condition can't be set on an essential container.\n + ``HEALTHY`` - This condition validates that the dependent container passes its Docker health check before permitting other containers to start. This requires that the dependent container has health checks configured. This condition is confirmed only at task startup.", - "markdownDescription": "The dependency condition of the container. The following are the available conditions and their behavior:\n + ``START`` - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.\n + ``COMPLETE`` - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container.\n + ``SUCCESS`` - This condition is the same as ``COMPLETE``, but it also requires that the container exits with a ``zero`` status. This condition can't be set on an essential container.\n + ``HEALTHY`` - This condition validates that the dependent container passes its Docker health check before permitting other containers to start. This requires that the dependent container has health checks configured. This condition is confirmed only at task startup.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The namespaced kernel parameter to set a ``value`` for.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "The ``ContainerDependency`` property specifies the dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.\n Your Amazon ECS container instances require at least version 1.26.0 of the container agent to enable container dependencies. 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 are 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 For tasks using the Fargate launch type, this parameter requires that the task or service uses platform version 1.3.0 or later.", - "markdownDescription": "The ``ContainerDependency`` property specifies the dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.\n Your Amazon ECS container instances require at least version 1.26.0 of the container agent to enable container dependencies. 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 are 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 For tasks using the Fargate launch type, this parameter requires that the task or service uses platform version 1.3.0 or later.\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 [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 ``--sysctl`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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" }, - "Device": { + "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.", + "additionalProperties": false, "type": "object", "properties": { - "ContainerPath": { - "type": "string", - "description": "The path inside the container at which to expose the host device.", - "markdownDescription": "The path inside the container at which to expose the host device.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "DriverOpts": { + "patternProperties": { + ".{1,}": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "description": "A map of Docker driver-specific options passed through. This parameter maps to ``DriverOpts`` in the [Create a volume](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``xxopt`` option to [docker volume create](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/volume_create/).", + "additionalProperties": false, + "type": "object", + "markdownDescription": "A map of Docker driver-specific options passed through. This parameter maps to ``DriverOpts`` in the [Create a volume](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``xxopt`` option to [docker volume create](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/volume_create/).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "HostPath": { + "Scope": { + "description": "The scope for the Docker volume that determines its lifecycle. Docker volumes that are scoped to a ``task`` are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as ``shared`` persist after the task stops.", "type": "string", - "description": "The path for the device on the host container instance.", - "markdownDescription": "The path for the device on the host container instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The scope for the Docker volume that determines its lifecycle. Docker volumes that are scoped to a ``task`` are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as ``shared`` persist after the task stops.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Permissions": { - "type": "array", - "insertionOrder": false, - "uniqueItems": true, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "description": "The explicit permissions to provide to the container for the device. By default, the container has permissions for ``read``, ``write``, and ``mknod`` for the device.", - "markdownDescription": "The explicit permissions to provide to the container for the device. By default, the container has permissions for ``read``, ``write``, and ``mknod`` for the device.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "description": "The ``Device`` property specifies an object representing a container instance host device.", - "markdownDescription": "The ``Device`` property specifies an object representing a container instance host device.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "DockerVolumeConfiguration": { - "type": "object", - "properties": { "Autoprovision": { - "type": "boolean", "description": "If this value is ``true``, the Docker volume is created if it doesn't already exist.\n This field is only used if the ``scope`` is ``shared``.", + "type": "boolean", "markdownDescription": "If this value is ``true``, the Docker volume is created if it doesn't already exist.\n This field is only used if the ``scope`` is ``shared``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "Driver": { - "type": "string", "description": "The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. For more information, see [Docker plugin discovery](https://docs.aws.amazon.com/https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery). This parameter maps to ``Driver`` in the [Create a volume](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``xxdriver`` option to [docker volume create](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/volume_create/).", + "type": "string", "markdownDescription": "The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. For more information, see [Docker plugin discovery](https://docs.aws.amazon.com/https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery). This parameter maps to ``Driver`` in the [Create a volume](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``xxdriver`` option to [docker volume create](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/volume_create/).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DriverOpts": { - "type": "object", + "Labels": { "patternProperties": { ".{1,}": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "description": "Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the [Create a volume](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``xxlabel`` option to [docker volume create](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/volume_create/).", "additionalProperties": false, - "description": "A map of Docker driver-specific options passed through. This parameter maps to ``DriverOpts`` in the [Create a volume](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``xxopt`` option to [docker volume create](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/volume_create/).", - "markdownDescription": "A map of Docker driver-specific options passed through. This parameter maps to ``DriverOpts`` in the [Create a volume](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``xxopt`` option to [docker volume create](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/volume_create/).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "type": "object", + "markdownDescription": "Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the [Create a volume](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``xxlabel`` option to [docker volume create](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/volume_create/).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "markdownDescription": "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.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LogConfiguration": { + "description": "The ``LogConfiguration`` property specifies log configuration options to send to a custom log driver for the container.", + "additionalProperties": false, + "type": "object", + "required": [ + "LogDriver" + ], + "properties": { + "SecretOptions": { + "description": "The secrets to pass to the log configuration. For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + }, + "markdownDescription": "The secrets to pass to the log configuration. For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Labels": { + "Options": { + "patternProperties": { + ".{1,}": { + "type": "string", + "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}}'``", + "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" + }, + "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``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](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 [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*.\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.", + "type": "string", + "markdownDescription": "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``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](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 [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*.\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.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The ``LogConfiguration`` property specifies log configuration options to send to a custom log driver for the container.\n\n---\n\nRequired: No \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*.", + "additionalProperties": false, + "type": "object", + "properties": { + "Options": { "patternProperties": { ".{1,}": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the [Create a volume](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``xxlabel`` option to [docker volume create](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/volume_create/).", - "markdownDescription": "Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the [Create a volume](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``xxlabel`` option to [docker volume create](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/volume_create/).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "The options to use when configuring the log router. This field is optional and can be used to add additional metadata, such as the task, task definition, cluster, and container instance details to the log event.\n If specified, valid option keys are:\n + ``enable-ecs-log-metadata``, which can be ``true`` or ``false`` \n + ``config-file-type``, which can be ``s3`` or ``file`` \n + ``config-file-value``, which is either an S3 ARN or a file path", + "additionalProperties": false, + "type": "object", + "markdownDescription": "The options to use when configuring the log router. This field is optional and can be used to add additional metadata, such as the task, task definition, cluster, and container instance details to the log event.\n If specified, valid option keys are:\n + ``enable-ecs-log-metadata``, which can be ``true`` or ``false`` \n + ``config-file-type``, which can be ``s3`` or ``file`` \n + ``config-file-value``, which is either an S3 ARN or a file path\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Type": { + "description": "The log router to use. The valid values are ``fluentd`` or ``fluentbit``.", + "type": "string", + "markdownDescription": "The log router to use. The valid values are ``fluentd`` or ``fluentbit``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "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*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RuntimePlatform": { + "description": "Information about the platform for the Amazon ECS service or task.\n For more information about ``RuntimePlatform``, see [RuntimePlatform](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#runtime-platform) in the *Amazon Elastic Container Service Developer Guide*.", + "additionalProperties": false, + "type": "object", + "properties": { + "OperatingSystemFamily": { + "description": "The operating system.", + "type": "string", + "markdownDescription": "The operating system.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CpuArchitecture": { + "description": "The CPU architecture.\n You can run your Linux tasks on an ARM-based platform by setting the value to ``ARM64``. This option is available for tasks that run on Linux Amazon EC2 instance or Linux containers on Fargate.", + "type": "string", + "markdownDescription": "The CPU architecture.\n You can run your Linux tasks on an ARM-based platform by setting the value to ``ARM64``. This option is available for tasks that run on Linux Amazon EC2 instance or Linux containers on Fargate.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Information about the platform for the Amazon ECS service or task.\n For more information about ``RuntimePlatform``, see [RuntimePlatform](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#runtime-platform) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "KernelCapabilities": { + "description": "The Linux capabilities to add or remove from the default Docker configuration for a container defined in the task definition. For more information about the default capabilities and the non-default available capabilities, see [Runtime privilege and Linux capabilities](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) in the *Docker run reference*. For more detailed information about these Linux capabilities, see the [capabilities(7)](https://docs.aws.amazon.com/http://man7.org/linux/man-pages/man7/capabilities.7.html) Linux manual page.", + "additionalProperties": false, + "type": "object", + "properties": { + "Add": { + "description": "The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` 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 ``--cap-add`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` 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 ``--cap-add`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Drop": { + "description": "The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` 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 ``--cap-drop`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` 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 ``--cap-drop`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The Linux capabilities to add or remove from the default Docker configuration for a container defined in the task definition. For more information about the default capabilities and the non-default available capabilities, see [Runtime privilege and Linux capabilities](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) in the *Docker run reference*. For more detailed information about these Linux capabilities, see the [capabilities(7)](https://docs.aws.amazon.com/http://man7.org/linux/man-pages/man7/capabilities.7.html) Linux manual page.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tmpfs": { + "description": "The container path, mount options, and size of the tmpfs mount.", + "additionalProperties": false, + "type": "object", + "required": [ + "Size" + ], + "properties": { + "Size": { + "description": "The maximum size (in MiB) of the tmpfs volume.", + "type": "integer", + "markdownDescription": "The maximum size (in MiB) of the tmpfs volume.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, - "Scope": { + "ContainerPath": { + "description": "The absolute file path where the tmpfs volume is to be mounted.", "type": "string", - "description": "The scope for the Docker volume that determines its lifecycle. Docker volumes that are scoped to a ``task`` are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as ``shared`` persist after the task stops.", - "markdownDescription": "The scope for the Docker volume that determines its lifecycle. Docker volumes that are scoped to a ``task`` are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as ``shared`` persist after the task stops.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The absolute file path where the tmpfs volume is to be mounted.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MountOptions": { + "description": "The list of tmpfs volume mount options.\n Valid values: ``\"defaults\" | \"ro\" | \"rw\" | \"suid\" | \"nosuid\" | \"dev\" | \"nodev\" | \"exec\" | \"noexec\" | \"sync\" | \"async\" | \"dirsync\" | \"remount\" | \"mand\" | \"nomand\" | \"atime\" | \"noatime\" | \"diratime\" | \"nodiratime\" | \"bind\" | \"rbind\" | \"unbindable\" | \"runbindable\" | \"private\" | \"rprivate\" | \"shared\" | \"rshared\" | \"slave\" | \"rslave\" | \"relatime\" | \"norelatime\" | \"strictatime\" | \"nostrictatime\" | \"mode\" | \"uid\" | \"gid\" | \"nr_inodes\" | \"nr_blocks\" | \"mpol\"``", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The list of tmpfs volume mount options.\n Valid values: ``\"defaults\" | \"ro\" | \"rw\" | \"suid\" | \"nosuid\" | \"dev\" | \"nodev\" | \"exec\" | \"noexec\" | \"sync\" | \"async\" | \"dirsync\" | \"remount\" | \"mand\" | \"nomand\" | \"atime\" | \"noatime\" | \"diratime\" | \"nodiratime\" | \"bind\" | \"rbind\" | \"unbindable\" | \"runbindable\" | \"private\" | \"rprivate\" | \"shared\" | \"rshared\" | \"slave\" | \"rslave\" | \"relatime\" | \"norelatime\" | \"strictatime\" | \"nostrictatime\" | \"mode\" | \"uid\" | \"gid\" | \"nr_inodes\" | \"nr_blocks\" | \"mpol\"``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "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.", - "markdownDescription": "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.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The container path, mount options, and size of the tmpfs mount.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AuthorizationConfig": { + "description": "The authorization configuration details for the Amazon EFS file system.", + "additionalProperties": false, "type": "object", "properties": { "IAM": { + "description": "Determines whether to use the Amazon ECS task role defined in a task definition when mounting the Amazon EFS file system. If it is turned on, transit encryption must be turned on in the ``EFSVolumeConfiguration``. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see [Using Amazon EFS access points](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html#efs-volume-accesspoints) in the *Amazon Elastic Container Service Developer Guide*.", "type": "string", "enum": [ "ENABLED", "DISABLED" ], - "description": "Determines whether to use the Amazon ECS task role defined in a task definition when mounting the Amazon EFS file system. If it is turned on, transit encryption must be turned on in the ``EFSVolumeConfiguration``. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see [Using Amazon EFS access points](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html#efs-volume-accesspoints) in the *Amazon Elastic Container Service Developer Guide*.", "markdownDescription": "Determines whether to use the Amazon ECS task role defined in a task definition when mounting the Amazon EFS file system. If it is turned on, transit encryption must be turned on in the ``EFSVolumeConfiguration``. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see [Using Amazon EFS access points](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html#efs-volume-accesspoints) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" }, "AccessPointId": { - "type": "string", "description": "The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the ``EFSVolumeConfiguration`` must either be omitted or set to ``/`` which will enforce the path set on the EFS access point. If an access point is used, transit encryption must be on in the ``EFSVolumeConfiguration``. For more information, see [Working with Amazon EFS access points](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) in the *Amazon Elastic File System User Guide*.", + "type": "string", "markdownDescription": "The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the ``EFSVolumeConfiguration`` must either be omitted or set to ``/`` which will enforce the path set on the EFS access point. If an access point is used, transit encryption must be on in the ``EFSVolumeConfiguration``. For more information, see [Working with Amazon EFS access points](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) in the *Amazon Elastic File System User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "The authorization configuration details for the Amazon EFS file system.", "markdownDescription": "The authorization configuration details for the Amazon EFS file system.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "EFSVolumeConfiguration": { + "PortMapping": { + "description": "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.", + "additionalProperties": false, "type": "object", - "required": [ - "FilesystemId" - ], "properties": { - "FilesystemId": { + "AppProtocol": { + "description": "The application protocol that's used for the port mapping. This parameter only applies to Service Connect. We recommend that you set this parameter to be consistent with the protocol that your application uses. If you set this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect proxy. If you set this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch.\n If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific telemetry for TCP.\n ``appProtocol`` is immutable in a Service Connect service. Updating this field requires a service deletion and redeployment.\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*.", "type": "string", - "description": "The Amazon EFS file system ID to use.", - "markdownDescription": "The Amazon EFS file system ID to use.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "enum": [ + "http", + "http2", + "grpc" + ], + "markdownDescription": "The application protocol that's used for the port mapping. This parameter only applies to Service Connect. We recommend that you set this parameter to be consistent with the protocol that your application uses. If you set this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect proxy. If you set this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch.\n If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific telemetry for TCP.\n ``appProtocol`` is immutable in a Service Connect service. Updating this field requires a service deletion and redeployment.\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*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: http | http2 | grpc \nUpdate requires: No interruption" }, - "RootDirectory": { + "ContainerPortRange": { + "description": "The port number range on the container that's bound to the dynamically mapped host port range. \n The following rules apply when you specify a ``containerPortRange``:\n + You must use either the ``bridge`` network mode or the ``awsvpc`` network mode.\n + This parameter is available for both the EC2 and FARGATElong launch types.\n + This parameter is available for both the Linux and Windows operating systems.\n + The container instance must have at least version 1.67.0 of the container agent and at least version 1.67.0-1 of the ``ecs-init`` package \n + You can specify a maximum of 100 port ranges per container.\n + You do not specify a ``hostPortRange``. The value of the ``hostPortRange`` is set as follows:\n + For containers in a task with the ``awsvpc`` network mode, the ``hostPortRange`` is set to the same value as the ``containerPortRange``. This is a static mapping strategy.\n + For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open host ports from the default ephemeral range and passes it to docker to bind them to the container ports.\n \n + The ``containerPortRange`` valid values are between 1 and 65535.\n + A port can only be included in one port mapping per container.\n + You cannot specify overlapping port ranges.\n + The first port in the range must be less than last port in the range.\n + Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large number of ports.\n For more information, see [Issue #11185](https://docs.aws.amazon.com/https://github.com/moby/moby/issues/11185) on the Github website.\n For information about how to turn off the docker-proxy in the Docker daemon config file, see [Docker daemon](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon) in the *Amazon ECS Developer Guide*.\n \n You can call [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) to view the ``hostPortRange`` which are the host ports that are bound to the container ports.", "type": "string", - "description": "The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying ``/`` will have the same effect as omitting this parameter.\n If an EFS access point is specified in the ``authorizationConfig``, the root directory parameter must either be omitted or set to ``/`` which will enforce the path set on the EFS access point.", - "markdownDescription": "The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying ``/`` will have the same effect as omitting this parameter.\n If an EFS access point is specified in the ``authorizationConfig``, the root directory parameter must either be omitted or set to ``/`` which will enforce the path set on the EFS access point.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The port number range on the container that's bound to the dynamically mapped host port range. \n The following rules apply when you specify a ``containerPortRange``:\n + You must use either the ``bridge`` network mode or the ``awsvpc`` network mode.\n + This parameter is available for both the EC2 and FARGATElong launch types.\n + This parameter is available for both the Linux and Windows operating systems.\n + The container instance must have at least version 1.67.0 of the container agent and at least version 1.67.0-1 of the ``ecs-init`` package \n + You can specify a maximum of 100 port ranges per container.\n + You do not specify a ``hostPortRange``. The value of the ``hostPortRange`` is set as follows:\n + For containers in a task with the ``awsvpc`` network mode, the ``hostPortRange`` is set to the same value as the ``containerPortRange``. This is a static mapping strategy.\n + For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open host ports from the default ephemeral range and passes it to docker to bind them to the container ports.\n \n + The ``containerPortRange`` valid values are between 1 and 65535.\n + A port can only be included in one port mapping per container.\n + You cannot specify overlapping port ranges.\n + The first port in the range must be less than last port in the range.\n + Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large number of ports.\n For more information, see [Issue #11185](https://docs.aws.amazon.com/https://github.com/moby/moby/issues/11185) on the Github website.\n For information about how to turn off the docker-proxy in the Docker daemon config file, see [Docker daemon](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon) in the *Amazon ECS Developer Guide*.\n \n You can call [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) to view the ``hostPortRange`` which are the host ports that are bound to the container ports.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "TransitEncryption": { - "type": "string", - "enum": [ - "ENABLED", - "DISABLED" - ], - "description": "Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see [Encrypting data in transit](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) in the *Amazon Elastic File System User Guide*.", - "markdownDescription": "Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see [Encrypting data in transit](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) in the *Amazon Elastic File System User Guide*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + "HostPort": { + "description": "The port number on the container instance to reserve for your container.\n If you specify a ``containerPortRange``, leave this field empty and the value of the ``hostPort`` is set as follows:\n + For containers in a task with the ``awsvpc`` network mode, the ``hostPort`` is set to the same value as the ``containerPort``. This is a static mapping strategy.\n + For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open ports on the host and automatically binds them to the container ports. This is a dynamic mapping strategy.\n \n If you use containers in a task with the ``awsvpc`` or ``host`` network mode, the ``hostPort`` can either be left blank or set to the same value as the ``containerPort``.\n If you use containers in a task with the ``bridge`` network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the ``hostPort`` (or set it to ``0``) while specifying a ``containerPort`` and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.\n The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under ``/proc/sys/net/ipv4/ip_local_port_range``. If this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 (Linux) or 49152 through 65535 (Windows) is used. Do not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.\n The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in the ``remainingResources`` of [DescribeContainerInstances](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html) output. A container instance can have up to 100 reserved ports at a time. This number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved ports quota.", + "type": "integer", + "markdownDescription": "The port number on the container instance to reserve for your container.\n If you specify a ``containerPortRange``, leave this field empty and the value of the ``hostPort`` is set as follows:\n + For containers in a task with the ``awsvpc`` network mode, the ``hostPort`` is set to the same value as the ``containerPort``. This is a static mapping strategy.\n + For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open ports on the host and automatically binds them to the container ports. This is a dynamic mapping strategy.\n \n If you use containers in a task with the ``awsvpc`` or ``host`` network mode, the ``hostPort`` can either be left blank or set to the same value as the ``containerPort``.\n If you use containers in a task with the ``bridge`` network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the ``hostPort`` (or set it to ``0``) while specifying a ``containerPort`` and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.\n The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under ``/proc/sys/net/ipv4/ip_local_port_range``. If this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 (Linux) or 49152 through 65535 (Windows) is used. Do not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.\n The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in the ``remainingResources`` of [DescribeContainerInstances](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html) output. A container instance can have up to 100 reserved ports at a time. This number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved ports quota.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "TransitEncryptionPort": { + "ContainerPort": { + "description": "The port number on the container that's bound to the user-specified or automatically assigned host port.\n If you use containers in a task with the ``awsvpc`` or ``host`` network mode, specify the exposed ports using ``containerPort``.\n If you use containers in a task with the ``bridge`` network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range. For more information, see ``hostPort``. Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.", "type": "integer", - "description": "The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. For more information, see [EFS mount helper](https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) in the *Amazon Elastic File System User Guide*.", - "markdownDescription": "The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. For more information, see [EFS mount helper](https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) in the *Amazon Elastic File System User Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The port number on the container that's bound to the user-specified or automatically assigned host port.\n If you use containers in a task with the ``awsvpc`` or ``host`` network mode, specify the exposed ports using ``containerPort``.\n If you use containers in a task with the ``bridge`` network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range. For more information, see ``hostPort``. Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig", - "description": "The authorization configuration details for the Amazon EFS file system.", - "markdownDescription": "The authorization configuration details for the Amazon EFS file system.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "description": "This parameter is specified when you're using an Amazon Elastic File System file system for task storage. For more information, see [Amazon EFS volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html) in the *Amazon Elastic Container Service Developer Guide*.", - "markdownDescription": "This parameter is specified when you're using an Amazon Elastic File System file system for task storage. For more information, see [Amazon EFS volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "EnvironmentFile": { - "type": "object", - "properties": { - "Value": { + "Protocol": { + "description": "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.", "type": "string", - "description": "The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment variable file.", - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment variable file.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "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" }, - "Type": { + "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*.", "type": "string", - "description": "The file type to use. Environment files are objects in Amazon S3. The only supported value is ``s3``.", - "markdownDescription": "The file type to use. Environment files are objects in Amazon S3. The only supported value is ``s3``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "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" } }, - "additionalProperties": false, - "description": "A list of files containing the environment variables to pass to a container. You can specify up to ten environment files. The file must have a ``.env`` file extension. Each line in an environment file should contain 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 [Use a file to pass environment variables to a container](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/use-environment-file.html) in the *Amazon Elastic Container Service Developer Guide*.\n Environment variable files are objects in Amazon S3 and all Amazon S3 security considerations apply. \n You must use the following platforms for the Fargate launch type:\n + Linux platform version ``1.4.0`` or later.\n + Windows platform version ``1.0.0`` or later.\n \n Consider the following when using the Fargate launch type:\n + The file is handled like a native Docker env-file.\n + There is no support for shell escape handling.\n + The container entry point interperts the ``VARIABLE`` values.", - "markdownDescription": "A list of files containing the environment variables to pass to a container. You can specify up to ten environment files. The file must have a ``.env`` file extension. Each line in an environment file should contain 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 [Use a file to pass environment variables to a container](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/use-environment-file.html) in the *Amazon Elastic Container Service Developer Guide*.\n Environment variable files are objects in Amazon S3 and all Amazon S3 security considerations apply. \n You must use the following platforms for the Fargate launch type:\n + Linux platform version ``1.4.0`` or later.\n + Windows platform version ``1.0.0`` or later.\n \n Consider the following when using the Fargate launch type:\n + The file is handled like a native Docker env-file.\n + There is no support for shell escape handling.\n + The container entry point interperts the ``VARIABLE`` values.\n\n---\n\nRequired: No \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" }, - "EphemeralStorage": { + "TaskDefinitionPlacementConstraint": { + "description": "The constraint on task placement in the task definition. 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 Task placement constraints aren't supported for tasks run on FARGATElong.", + "additionalProperties": false, "type": "object", + "required": [ + "Type" + ], "properties": { - "SizeInGiB": { - "type": "integer", - "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.", - "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" + "Type": { + "description": "The type of constraint. The ``MemberOf`` constraint restricts selection to be from a group of valid candidates.", + "type": "string", + "markdownDescription": "The type of constraint. The ``MemberOf`` constraint restricts selection to be from a group of valid candidates.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Expression": { + "description": "A cluster query language expression to apply to the constraint. For more information, see [Cluster query language](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) in the *Amazon Elastic Container Service Developer Guide*.", + "type": "string", + "markdownDescription": "A cluster query language expression to apply to the constraint. For more information, see [Cluster query language](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "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.", - "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" + "markdownDescription": "The constraint on task placement in the task definition. 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 Task placement constraints aren't supported for tasks run on FARGATElong.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "FSxAuthorizationConfig": { + "description": "", + "additionalProperties": false, "type": "object", "required": [ "CredentialsParameter", @@ -519,806 +773,558 @@ ], "properties": { "CredentialsParameter": { + "description": "", "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Domain": { + "description": "", "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "FSxWindowsFileServerVolumeConfiguration": { + "EFSVolumeConfiguration": { + "description": "This parameter is specified when you're using an Amazon Elastic File System file system for task storage. For more information, see [Amazon EFS volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html) in the *Amazon Elastic Container Service Developer Guide*.", + "additionalProperties": false, "type": "object", "required": [ - "FileSystemId", - "RootDirectory" + "FilesystemId" ], "properties": { - "FileSystemId": { + "FilesystemId": { + "description": "The Amazon EFS file system ID to use.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon EFS file system ID to use.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "RootDirectory": { + "TransitEncryption": { + "description": "Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see [Encrypting data in transit](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) in the *Amazon Elastic File System User Guide*.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see [Encrypting data in transit](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) in the *Amazon Elastic File System User Guide*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" }, "AuthorizationConfig": { - "$ref": "#/definitions/FSxAuthorizationConfig" - } - }, - "additionalProperties": false, - "description": "", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "FirelensConfiguration": { - "type": "object", - "properties": { - "Type": { - "type": "string", - "description": "The log router to use. The valid values are ``fluentd`` or ``fluentbit``.", - "markdownDescription": "The log router to use. The valid values are ``fluentd`` or ``fluentbit``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Options": { - "type": "object", - "patternProperties": { - ".{1,}": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "description": "The options to use when configuring the log router. This field is optional and can be used to add additional metadata, such as the task, task definition, cluster, and container instance details to the log event.\n If specified, valid option keys are:\n + ``enable-ecs-log-metadata``, which can be ``true`` or ``false`` \n + ``config-file-type``, which can be ``s3`` or ``file`` \n + ``config-file-value``, which is either an S3 ARN or a file path", - "markdownDescription": "The options to use when configuring the log router. This field is optional and can be used to add additional metadata, such as the task, task definition, cluster, and container instance details to the log event.\n If specified, valid option keys are:\n + ``enable-ecs-log-metadata``, which can be ``true`` or ``false`` \n + ``config-file-type``, which can be ``s3`` or ``file`` \n + ``config-file-value``, which is either an S3 ARN or a file path\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "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*.", - "markdownDescription": "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*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "HealthCheck": { - "description": "The ``HealthCheck`` property specifies an object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile). This configuration maps to the ``HEALTHCHECK`` parameter of [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/).\n The Amazon ECS container agent only monitors and reports on the health checks specified in the task definition. Amazon ECS does not monitor Docker health checks that are embedded in a container image and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.\n If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.\n The following are notes about container health check support:\n + Container health checks require version 1.17.0 or greater of the Amazon ECS container agent. For more information, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html).\n + Container health checks are supported for Fargate tasks if you are using platform version 1.1.0 or greater. For more information, see [Platform Versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html).\n + Container health checks are not supported for tasks that are part of a service that is configured to use a Classic Load Balancer.", - "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 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/).", - "type": "array", - "insertionOrder": true, - "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 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/).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Interval": { - "description": "The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.", - "type": "integer", - "markdownDescription": "The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.\n\n---\n\nRequired: No \nType: Integer \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.", - "type": "integer", - "markdownDescription": "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.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Retries": { - "description": "The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is 3.", - "type": "integer", - "markdownDescription": "The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is 3.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "The authorization configuration details for the Amazon EFS file system.", + "$ref": "#/definitions/AuthorizationConfig", + "markdownDescription": "The authorization configuration details for the Amazon EFS file system.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "StartPeriod": { - "description": "The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You can specify between 0 and 300 seconds. By default, the ``startPeriod`` is off.\n If a health check succeeds within the ``startPeriod``, then the container is considered healthy and any subsequent failures count toward the maximum number of retries.", - "type": "integer", - "markdownDescription": "The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You can specify between 0 and 300 seconds. By default, the ``startPeriod`` is off.\n If a health check succeeds within the ``startPeriod``, then the container is considered healthy and any subsequent failures count toward the maximum number of retries.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "markdownDescription": "The ``HealthCheck`` property specifies an object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile). This configuration maps to the ``HEALTHCHECK`` parameter of [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/).\n The Amazon ECS container agent only monitors and reports on the health checks specified in the task definition. Amazon ECS does not monitor Docker health checks that are embedded in a container image and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.\n If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.\n The following are notes about container health check support:\n + Container health checks require version 1.17.0 or greater of the Amazon ECS container agent. For more information, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html).\n + Container health checks are supported for Fargate tasks if you are using platform version 1.1.0 or greater. For more information, see [Platform Versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html).\n + Container health checks are not supported for tasks that are part of a service that is configured to use a Classic Load Balancer.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "HostEntry": { - "type": "object", - "properties": { - "Hostname": { + "RootDirectory": { + "description": "The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying ``/`` will have the same effect as omitting this parameter.\n If an EFS access point is specified in the ``authorizationConfig``, the root directory parameter must either be omitted or set to ``/`` which will enforce the path set on the EFS access point.", "type": "string", - "description": "The hostname to use in the ``/etc/hosts`` entry.", - "markdownDescription": "The hostname to use in the ``/etc/hosts`` entry.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying ``/`` will have the same effect as omitting this parameter.\n If an EFS access point is specified in the ``authorizationConfig``, the root directory parameter must either be omitted or set to ``/`` which will enforce the path set on the EFS access point.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "IpAddress": { - "type": "string", - "description": "The IP address to use in the ``/etc/hosts`` entry.", - "markdownDescription": "The IP address to use in the ``/etc/hosts`` entry.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "TransitEncryptionPort": { + "description": "The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. For more information, see [EFS mount helper](https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) in the *Amazon Elastic File System User Guide*.", + "type": "integer", + "markdownDescription": "The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. For more information, see [EFS mount helper](https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) in the *Amazon Elastic File System User Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "The ``HostEntry`` property specifies a hostname and an IP address that are added to the ``/etc/hosts`` file of a container through the ``extraHosts`` parameter of its ``ContainerDefinition`` resource.", - "markdownDescription": "The ``HostEntry`` property specifies a hostname and an IP address that are added to the ``/etc/hosts`` file of a container through the ``extraHosts`` parameter of its ``ContainerDefinition`` resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "This parameter is specified when you're using an Amazon Elastic File System file system for task storage. For more information, see [Amazon EFS volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "HostVolumeProperties": { + "RepositoryCredentials": { + "description": "The repository credentials for private registry authentication.", + "additionalProperties": false, "type": "object", "properties": { - "SourcePath": { + "CredentialsParameter": { + "description": "The Amazon Resource Name (ARN) of the secret containing the private repository credentials.\n When you use the Amazon ECS API, CLI, or AWS SDK, if the secret exists in the same Region as the task that you're launching then you can use either the full ARN or the name of the secret. When you use the AWS Management Console, you must specify the full ARN of the secret.", "type": "string", - "description": "When the ``host`` parameter is used, specify a ``sourcePath`` to declare the path on the host container instance that's presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If the ``host`` parameter contains a ``sourcePath`` file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the ``sourcePath`` value doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.\n If you're using the Fargate launch type, the ``sourcePath`` parameter is not supported.", - "markdownDescription": "When the ``host`` parameter is used, specify a ``sourcePath`` to declare the path on the host container instance that's presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If the ``host`` parameter contains a ``sourcePath`` file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the ``sourcePath`` value doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.\n If you're using the Fargate launch type, the ``sourcePath`` parameter is not supported.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the secret containing the private repository credentials.\n When you use the Amazon ECS API, CLI, or AWS SDK, if the secret exists in the same Region as the task that you're launching then you can use either the full ARN or the name of the secret. When you use the AWS Management Console, you must specify the full ARN of the secret.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "The ``HostVolumeProperties`` property specifies details on a container instance bind mount host volume.", - "markdownDescription": "The ``HostVolumeProperties`` property specifies details on a container instance bind mount host volume.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The repository credentials for private registry authentication.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "InferenceAccelerator": { + "KeyValuePair": { + "description": "A key-value pair object.", + "additionalProperties": false, "type": "object", "properties": { - "DeviceName": { + "Value": { + "description": "The value of the key-value pair. For environment variables, this is the value of the environment variable.", "type": "string", - "description": "The Elastic Inference accelerator device name. The ``deviceName`` must also be referenced in a container definition as a [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html).", - "markdownDescription": "The Elastic Inference accelerator device name. The ``deviceName`` must also be referenced in a container definition as a [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The value of the key-value pair. For environment variables, this is the value of the environment variable.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DeviceType": { + "Name": { + "description": "The name of the key-value pair. For environment variables, this is the name of the environment variable.", "type": "string", - "description": "The Elastic Inference accelerator type to use.", - "markdownDescription": "The Elastic Inference accelerator type to use.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the key-value pair. For environment variables, this is the name of the environment variable.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "Details on an Elastic Inference accelerator. For more information, see [Working with Amazon Elastic Inference on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html) in the *Amazon Elastic Container Service Developer Guide*.", - "markdownDescription": "Details on an Elastic Inference accelerator. For more information, see [Working with Amazon Elastic Inference on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A key-value pair object.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "KernelCapabilities": { + "Device": { + "description": "The ``Device`` property specifies an object representing a container instance host device.", + "additionalProperties": false, "type": "object", "properties": { - "Add": { - "type": "array", - "insertionOrder": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "description": "The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` 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 ``--cap-add`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``", - "markdownDescription": "The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` 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 ``--cap-add`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "HostPath": { + "description": "The path for the device on the host container instance.", + "type": "string", + "markdownDescription": "The path for the device on the host container instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Drop": { - "type": "array", + "Permissions": { + "uniqueItems": true, + "description": "The explicit permissions to provide to the container for the device. By default, the container has permissions for ``read``, ``write``, and ``mknod`` for the device.", "insertionOrder": false, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "description": "The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` 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 ``--cap-drop`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``", - "markdownDescription": "The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` 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 ``--cap-drop`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "description": "The Linux capabilities to add or remove from the default Docker configuration for a container defined in the task definition. For more information about the default capabilities and the non-default available capabilities, see [Runtime privilege and Linux capabilities](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) in the *Docker run reference*. For more detailed information about these Linux capabilities, see the [capabilities(7)](https://docs.aws.amazon.com/http://man7.org/linux/man-pages/man7/capabilities.7.html) Linux manual page.", - "markdownDescription": "The Linux capabilities to add or remove from the default Docker configuration for a container defined in the task definition. For more information about the default capabilities and the non-default available capabilities, see [Runtime privilege and Linux capabilities](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) in the *Docker run reference*. For more detailed information about these Linux capabilities, see the [capabilities(7)](https://docs.aws.amazon.com/http://man7.org/linux/man-pages/man7/capabilities.7.html) Linux manual page.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "KeyValuePair": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "description": "The name of the key-value pair. For environment variables, this is the name of the environment variable.", - "markdownDescription": "The name of the key-value pair. For environment variables, this is the name of the environment variable.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The explicit permissions to provide to the container for the device. By default, the container has permissions for ``read``, ``write``, and ``mknod`` for the device.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Value": { + "ContainerPath": { + "description": "The path inside the container at which to expose the host device.", "type": "string", - "description": "The value of the key-value pair. For environment variables, this is the value of the environment variable.", - "markdownDescription": "The value of the key-value pair. For environment variables, this is the value of the environment variable.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The path inside the container at which to expose the host device.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "A key-value pair object.", - "markdownDescription": "A key-value pair object.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The ``Device`` property specifies an object representing a container instance host device.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LinuxParameters": { + "description": "The Linux-specific options that are applied to the container, such as Linux [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).", + "additionalProperties": false, "type": "object", "properties": { "Capabilities": { - "$ref": "#/definitions/KernelCapabilities", "description": "The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker.\n For tasks that use the Fargate launch type, ``capabilities`` is supported for all platform versions but the ``add`` parameter is only supported if using platform version 1.4.0 or later.", + "$ref": "#/definitions/KernelCapabilities", "markdownDescription": "The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker.\n For tasks that use the Fargate launch type, ``capabilities`` is supported for all platform versions but the ``add`` parameter is only supported if using platform version 1.4.0 or later.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Devices": { - "type": "array", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Device" - }, - "description": "Any host devices to expose to the container. This parameter maps to ``Devices`` 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 ``--device`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.", - "markdownDescription": "Any host devices to expose to the container. This parameter maps to ``Devices`` 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 ``--device`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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": { - "type": "boolean", - "description": "Run an ``init`` process inside the container that forwards signals and reaps processes. This parameter maps to the ``--init`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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}}'``", - "markdownDescription": "Run an ``init`` process inside the container that forwards signals and reaps processes. This parameter maps to the ``--init`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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}}'``\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "MaxSwap": { - "type": "integer", - "description": "The total amount of swap memory (in MiB) a container can use. This parameter will be translated to the ``--memory-swap`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration) where the value would be the sum of the container memory plus the ``maxSwap`` value.\n If a ``maxSwap`` value of ``0`` is specified, the container will not use swap. Accepted values are ``0`` or any positive integer. If the ``maxSwap`` parameter is omitted, the container will use the swap configuration for the container instance it is running on. A ``maxSwap`` value must be set for the ``swappiness`` parameter to be used.\n If you're using tasks that use the Fargate launch type, the ``maxSwap`` parameter isn't supported.\n If you're using tasks on Amazon Linux 2023 the ``swappiness`` parameter isn't supported.", - "markdownDescription": "The total amount of swap memory (in MiB) a container can use. This parameter will be translated to the ``--memory-swap`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration) where the value would be the sum of the container memory plus the ``maxSwap`` value.\n If a ``maxSwap`` value of ``0`` is specified, the container will not use swap. Accepted values are ``0`` or any positive integer. If the ``maxSwap`` parameter is omitted, the container will use the swap configuration for the container instance it is running on. A ``maxSwap`` value must be set for the ``swappiness`` parameter to be used.\n If you're using tasks that use the Fargate launch type, the ``maxSwap`` parameter isn't supported.\n If you're using tasks on Amazon Linux 2023 the ``swappiness`` parameter isn't supported.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "SharedMemorySize": { - "type": "integer", - "description": "The value for the size (in MiB) of the ``/dev/shm`` volume. This parameter maps to the ``--shm-size`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If you are using tasks that use the Fargate launch type, the ``sharedMemorySize`` parameter is not supported.", - "markdownDescription": "The value for the size (in MiB) of the ``/dev/shm`` volume. This parameter maps to the ``--shm-size`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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" - }, "Swappiness": { - "type": "integer", "description": "This allows you to tune a container's memory swappiness behavior. A ``swappiness`` value of ``0`` will cause swapping to not happen unless absolutely necessary. A ``swappiness`` value of ``100`` will cause pages to be swapped very aggressively. Accepted values are whole numbers between ``0`` and ``100``. If the ``swappiness`` parameter is not specified, a default value of ``60`` is used. If a value is not specified for ``maxSwap`` then this parameter is ignored. This parameter maps to the ``--memory-swappiness`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If you're using tasks that use the Fargate launch type, the ``swappiness`` parameter isn't supported.\n If you're using tasks on Amazon Linux 2023 the ``swappiness`` parameter isn't supported.", + "type": "integer", "markdownDescription": "This allows you to tune a container's memory swappiness behavior. A ``swappiness`` value of ``0`` will cause swapping to not happen unless absolutely necessary. A ``swappiness`` value of ``100`` will cause pages to be swapped very aggressively. Accepted values are whole numbers between ``0`` and ``100``. If the ``swappiness`` parameter is not specified, a default value of ``60`` is used. If a value is not specified for ``maxSwap`` then this parameter is ignored. This parameter maps to the ``--memory-swappiness`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If you're using tasks that use the Fargate launch type, the ``swappiness`` parameter isn't supported.\n If you're using tasks on Amazon Linux 2023 the ``swappiness`` parameter isn't supported.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Tmpfs": { - "type": "array", + "description": "The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the ``--tmpfs`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If you're using tasks that use the Fargate launch type, the ``tmpfs`` parameter isn't supported.", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Tmpfs" }, - "description": "The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the ``--tmpfs`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If you're using tasks that use the Fargate launch type, the ``tmpfs`` parameter isn't supported.", "markdownDescription": "The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the ``--tmpfs`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If you're using tasks that use the Fargate launch type, the ``tmpfs`` parameter isn't supported.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "description": "The Linux-specific options that are applied to the container, such as Linux [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).", - "markdownDescription": "The Linux-specific options that are applied to the container, such as Linux [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "LogConfiguration": { - "type": "object", - "required": [ - "LogDriver" - ], - "properties": { - "LogDriver": { - "type": "string", - "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``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](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 [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*.\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.", - "markdownDescription": "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``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](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 [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*.\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.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Options": { - "type": "object", - "patternProperties": { - ".{1,}": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "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}}'``", - "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" - }, - "SecretOptions": { - "type": "array", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "description": "The secrets to pass to the log configuration. For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.", - "markdownDescription": "The secrets to pass to the log configuration. For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "description": "The ``LogConfiguration`` property specifies log configuration options to send to a custom log driver for the container.", - "markdownDescription": "The ``LogConfiguration`` property specifies log configuration options to send to a custom log driver for the container.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "PortMapping": { - "type": "object", - "properties": { - "Name": { - "type": "string", - "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*.", - "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" - }, - "ContainerPort": { - "type": "integer", - "description": "The port number on the container that's bound to the user-specified or automatically assigned host port.\n If you use containers in a task with the ``awsvpc`` or ``host`` network mode, specify the exposed ports using ``containerPort``.\n If you use containers in a task with the ``bridge`` network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range. For more information, see ``hostPort``. Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.", - "markdownDescription": "The port number on the container that's bound to the user-specified or automatically assigned host port.\n If you use containers in a task with the ``awsvpc`` or ``host`` network mode, specify the exposed ports using ``containerPort``.\n If you use containers in a task with the ``bridge`` network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range. For more information, see ``hostPort``. Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "ContainerPortRange": { - "type": "string", - "description": "The port number range on the container that's bound to the dynamically mapped host port range. \n The following rules apply when you specify a ``containerPortRange``:\n + You must use either the ``bridge`` network mode or the ``awsvpc`` network mode.\n + This parameter is available for both the EC2 and FARGATElong launch types.\n + This parameter is available for both the Linux and Windows operating systems.\n + The container instance must have at least version 1.67.0 of the container agent and at least version 1.67.0-1 of the ``ecs-init`` package \n + You can specify a maximum of 100 port ranges per container.\n + You do not specify a ``hostPortRange``. The value of the ``hostPortRange`` is set as follows:\n + For containers in a task with the ``awsvpc`` network mode, the ``hostPortRange`` is set to the same value as the ``containerPortRange``. This is a static mapping strategy.\n + For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open host ports from the default ephemeral range and passes it to docker to bind them to the container ports.\n \n + The ``containerPortRange`` valid values are between 1 and 65535.\n + A port can only be included in one port mapping per container.\n + You cannot specify overlapping port ranges.\n + The first port in the range must be less than last port in the range.\n + Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large number of ports.\n For more information, see [Issue #11185](https://docs.aws.amazon.com/https://github.com/moby/moby/issues/11185) on the Github website.\n For information about how to turn off the docker-proxy in the Docker daemon config file, see [Docker daemon](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon) in the *Amazon ECS Developer Guide*.\n \n You can call [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) to view the ``hostPortRange`` which are the host ports that are bound to the container ports.", - "markdownDescription": "The port number range on the container that's bound to the dynamically mapped host port range. \n The following rules apply when you specify a ``containerPortRange``:\n + You must use either the ``bridge`` network mode or the ``awsvpc`` network mode.\n + This parameter is available for both the EC2 and FARGATElong launch types.\n + This parameter is available for both the Linux and Windows operating systems.\n + The container instance must have at least version 1.67.0 of the container agent and at least version 1.67.0-1 of the ``ecs-init`` package \n + You can specify a maximum of 100 port ranges per container.\n + You do not specify a ``hostPortRange``. The value of the ``hostPortRange`` is set as follows:\n + For containers in a task with the ``awsvpc`` network mode, the ``hostPortRange`` is set to the same value as the ``containerPortRange``. This is a static mapping strategy.\n + For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open host ports from the default ephemeral range and passes it to docker to bind them to the container ports.\n \n + The ``containerPortRange`` valid values are between 1 and 65535.\n + A port can only be included in one port mapping per container.\n + You cannot specify overlapping port ranges.\n + The first port in the range must be less than last port in the range.\n + Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large number of ports.\n For more information, see [Issue #11185](https://docs.aws.amazon.com/https://github.com/moby/moby/issues/11185) on the Github website.\n For information about how to turn off the docker-proxy in the Docker daemon config file, see [Docker daemon](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon) in the *Amazon ECS Developer Guide*.\n \n You can call [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) to view the ``hostPortRange`` which are the host ports that are bound to the container ports.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "HostPort": { + "SharedMemorySize": { + "description": "The value for the size (in MiB) of the ``/dev/shm`` volume. This parameter maps to the ``--shm-size`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If you are using tasks that use the Fargate launch type, the ``sharedMemorySize`` parameter is not supported.", "type": "integer", - "description": "The port number on the container instance to reserve for your container.\n If you specify a ``containerPortRange``, leave this field empty and the value of the ``hostPort`` is set as follows:\n + For containers in a task with the ``awsvpc`` network mode, the ``hostPort`` is set to the same value as the ``containerPort``. This is a static mapping strategy.\n + For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open ports on the host and automatically binds them to the container ports. This is a dynamic mapping strategy.\n \n If you use containers in a task with the ``awsvpc`` or ``host`` network mode, the ``hostPort`` can either be left blank or set to the same value as the ``containerPort``.\n If you use containers in a task with the ``bridge`` network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the ``hostPort`` (or set it to ``0``) while specifying a ``containerPort`` and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.\n The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under ``/proc/sys/net/ipv4/ip_local_port_range``. If this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 (Linux) or 49152 through 65535 (Windows) is used. Do not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.\n The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in the ``remainingResources`` of [DescribeContainerInstances](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html) output. A container instance can have up to 100 reserved ports at a time. This number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved ports quota.", - "markdownDescription": "The port number on the container instance to reserve for your container.\n If you specify a ``containerPortRange``, leave this field empty and the value of the ``hostPort`` is set as follows:\n + For containers in a task with the ``awsvpc`` network mode, the ``hostPort`` is set to the same value as the ``containerPort``. This is a static mapping strategy.\n + For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open ports on the host and automatically binds them to the container ports. This is a dynamic mapping strategy.\n \n If you use containers in a task with the ``awsvpc`` or ``host`` network mode, the ``hostPort`` can either be left blank or set to the same value as the ``containerPort``.\n If you use containers in a task with the ``bridge`` network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the ``hostPort`` (or set it to ``0``) while specifying a ``containerPort`` and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.\n The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under ``/proc/sys/net/ipv4/ip_local_port_range``. If this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 (Linux) or 49152 through 65535 (Windows) is used. Do not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.\n The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in the ``remainingResources`` of [DescribeContainerInstances](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html) output. A container instance can have up to 100 reserved ports at a time. This number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved ports quota.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Protocol": { - "type": "string", - "description": "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.", - "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" - }, - "AppProtocol": { - "type": "string", - "enum": [ - "http", - "http2", - "grpc" - ], - "description": "The application protocol that's used for the port mapping. This parameter only applies to Service Connect. We recommend that you set this parameter to be consistent with the protocol that your application uses. If you set this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect proxy. If you set this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch.\n If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific telemetry for TCP.\n ``appProtocol`` is immutable in a Service Connect service. Updating this field requires a service deletion and redeployment.\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*.", - "markdownDescription": "The application protocol that's used for the port mapping. This parameter only applies to Service Connect. We recommend that you set this parameter to be consistent with the protocol that your application uses. If you set this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect proxy. If you set this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch.\n If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific telemetry for TCP.\n ``appProtocol`` is immutable in a Service Connect service. Updating this field requires a service deletion and redeployment.\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*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: http | http2 | grpc \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "description": "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.", - "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" - }, - "MountPoint": { - "type": "object", - "properties": { - "ContainerPath": { - "type": "string", - "description": "The path on the container to mount the host volume at.", - "markdownDescription": "The path on the container to mount the host volume at.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ReadOnly": { - "type": "boolean", - "description": "If this value is ``true``, the container has read-only access to the volume. If this value is ``false``, then the container can write to the volume. The default value is ``false``.", - "markdownDescription": "If this value is ``true``, the container has read-only access to the volume. If this value is ``false``, then the container can write to the volume. The default value is ``false``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "SourceVolume": { - "type": "string", - "description": "The name of the volume to mount. Must be a volume name referenced in the ``name`` parameter of task definition ``volume``.", - "markdownDescription": "The name of the volume to mount. Must be a volume name referenced in the ``name`` parameter of task definition ``volume``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "description": "The details for a volume mount point that's used in a container definition.", - "markdownDescription": "The details for a volume mount point that's used in a container definition.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ProxyConfiguration": { - "type": "object", - "required": [ - "ContainerName" - ], - "properties": { - "ContainerName": { - "type": "string", - "description": "The name of the container that will serve as the App Mesh proxy.", - "markdownDescription": "The name of the container that will serve as the App Mesh proxy.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The value for the size (in MiB) of the ``/dev/shm`` volume. This parameter maps to the ``--shm-size`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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" }, - "ProxyConfigurationProperties": { - "type": "array", + "Devices": { + "description": "Any host devices to expose to the container. This parameter maps to ``Devices`` 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 ``--device`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.", "insertionOrder": false, - "uniqueItems": true, + "type": "array", "items": { - "$ref": "#/definitions/KeyValuePair" + "$ref": "#/definitions/Device" }, - "description": "The set of network configuration parameters to provide the Container Network Interface (CNI) plugin, specified as key-value pairs.\n + ``IgnoredUID`` - (Required) The user ID (UID) of the proxy container as defined by the ``user`` parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If ``IgnoredGID`` is specified, this field can be empty.\n + ``IgnoredGID`` - (Required) The group ID (GID) of the proxy container as defined by the ``user`` parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If ``IgnoredUID`` is specified, this field can be empty.\n + ``AppPorts`` - (Required) The list of ports that the application uses. Network traffic to these ports is forwarded to the ``ProxyIngressPort`` and ``ProxyEgressPort``.\n + ``ProxyIngressPort`` - (Required) Specifies the port that incoming traffic to the ``AppPorts`` is directed to.\n + ``ProxyEgressPort`` - (Required) Specifies the port that outgoing traffic from the ``AppPorts`` is directed to.\n + ``EgressIgnoredPorts`` - (Required) The egress traffic going to the specified ports is ignored and not redirected to the ``ProxyEgressPort``. It can be an empty list.\n + ``EgressIgnoredIPs`` - (Required) The egress traffic going to the specified IP addresses is ignored and not redirected to the ``ProxyEgressPort``. It can be an empty list.", - "markdownDescription": "The set of network configuration parameters to provide the Container Network Interface (CNI) plugin, specified as key-value pairs.\n + ``IgnoredUID`` - (Required) The user ID (UID) of the proxy container as defined by the ``user`` parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If ``IgnoredGID`` is specified, this field can be empty.\n + ``IgnoredGID`` - (Required) The group ID (GID) of the proxy container as defined by the ``user`` parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If ``IgnoredUID`` is specified, this field can be empty.\n + ``AppPorts`` - (Required) The list of ports that the application uses. Network traffic to these ports is forwarded to the ``ProxyIngressPort`` and ``ProxyEgressPort``.\n + ``ProxyIngressPort`` - (Required) Specifies the port that incoming traffic to the ``AppPorts`` is directed to.\n + ``ProxyEgressPort`` - (Required) Specifies the port that outgoing traffic from the ``AppPorts`` is directed to.\n + ``EgressIgnoredPorts`` - (Required) The egress traffic going to the specified ports is ignored and not redirected to the ``ProxyEgressPort``. It can be an empty list.\n + ``EgressIgnoredIPs`` - (Required) The egress traffic going to the specified IP addresses is ignored and not redirected to the ``ProxyEgressPort``. It can be an empty list.\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 [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 ``--device`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).\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](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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}}'``", + "type": "boolean", + "markdownDescription": "Run an ``init`` process inside the container that forwards signals and reaps processes. This parameter maps to the ``--init`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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}}'``\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "Type": { - "type": "string", - "description": "The proxy type. The only supported value is ``APPMESH``.", - "markdownDescription": "The proxy type. The only supported value is ``APPMESH``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "MaxSwap": { + "description": "The total amount of swap memory (in MiB) a container can use. This parameter will be translated to the ``--memory-swap`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration) where the value would be the sum of the container memory plus the ``maxSwap`` value.\n If a ``maxSwap`` value of ``0`` is specified, the container will not use swap. Accepted values are ``0`` or any positive integer. If the ``maxSwap`` parameter is omitted, the container will use the swap configuration for the container instance it is running on. A ``maxSwap`` value must be set for the ``swappiness`` parameter to be used.\n If you're using tasks that use the Fargate launch type, the ``maxSwap`` parameter isn't supported.\n If you're using tasks on Amazon Linux 2023 the ``swappiness`` parameter isn't supported.", + "type": "integer", + "markdownDescription": "The total amount of swap memory (in MiB) a container can use. This parameter will be translated to the ``--memory-swap`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration) where the value would be the sum of the container memory plus the ``maxSwap`` value.\n If a ``maxSwap`` value of ``0`` is specified, the container will not use swap. Accepted values are ``0`` or any positive integer. If the ``maxSwap`` parameter is omitted, the container will use the swap configuration for the container instance it is running on. A ``maxSwap`` value must be set for the ``swappiness`` parameter to be used.\n If you're using tasks that use the Fargate launch type, the ``maxSwap`` parameter isn't supported.\n If you're using tasks on Amazon Linux 2023 the ``swappiness`` parameter isn't supported.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "The configuration details for the App Mesh proxy.\n For tasks that use the EC2 launch type, the container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI 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)", - "markdownDescription": "The configuration details for the App Mesh proxy.\n For tasks that use the EC2 launch type, the container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI 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)\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The Linux-specific options that are applied to the container, such as Linux [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "RepositoryCredentials": { + "Ulimit": { + "description": "The ``ulimit`` settings to pass to the container.\n Amazon ECS tasks hosted on FARGATElong use the default resource limit values set by the operating system with the exception of the ``nofile`` resource limit parameter which FARGATElong overrides. The ``nofile`` resource limit sets a restriction on the number of open files that a container can use. The default ``nofile`` soft limit is ``65535`` and the default hard limit is ``65535``.\n You can specify the ``ulimit`` settings for a container in a task definition.", + "additionalProperties": false, "type": "object", + "required": [ + "HardLimit", + "Name", + "SoftLimit" + ], "properties": { - "CredentialsParameter": { + "SoftLimit": { + "description": "The soft limit for the ``ulimit`` type.", + "type": "integer", + "markdownDescription": "The soft limit for the ``ulimit`` type.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "HardLimit": { + "description": "The hard limit for the ``ulimit`` type.", + "type": "integer", + "markdownDescription": "The hard limit for the ``ulimit`` type.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "Name": { + "description": "The ``type`` of the ``ulimit``.", "type": "string", - "description": "The Amazon Resource Name (ARN) of the secret containing the private repository credentials.\n When you use the Amazon ECS API, CLI, or AWS SDK, if the secret exists in the same Region as the task that you're launching then you can use either the full ARN or the name of the secret. When you use the AWS Management Console, you must specify the full ARN of the secret.", - "markdownDescription": "The Amazon Resource Name (ARN) of the secret containing the private repository credentials.\n When you use the Amazon ECS API, CLI, or AWS SDK, if the secret exists in the same Region as the task that you're launching then you can use either the full ARN or the name of the secret. When you use the AWS Management Console, you must specify the full ARN of the secret.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ``type`` of the ``ulimit``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "The repository credentials for private registry authentication.", - "markdownDescription": "The repository credentials for private registry authentication.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The ``ulimit`` settings to pass to the container.\n Amazon ECS tasks hosted on FARGATElong use the default resource limit values set by the operating system with the exception of the ``nofile`` resource limit parameter which FARGATElong overrides. The ``nofile`` resource limit sets a restriction on the number of open files that a container can use. The default ``nofile`` soft limit is ``65535`` and the default hard limit is ``65535``.\n You can specify the ``ulimit`` settings for a container in a task definition.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ResourceRequirement": { + "HostVolumeProperties": { + "description": "The ``HostVolumeProperties`` property specifies details on a container instance bind mount host volume.", + "additionalProperties": false, "type": "object", - "required": [ - "Type", - "Value" - ], "properties": { - "Type": { - "type": "string", - "description": "The type of resource to assign to a container. The supported values are ``GPU`` or ``InferenceAccelerator``.", - "markdownDescription": "The type of resource to assign to a container. The supported values are ``GPU`` or ``InferenceAccelerator``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Value": { + "SourcePath": { + "description": "When the ``host`` parameter is used, specify a ``sourcePath`` to declare the path on the host container instance that's presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If the ``host`` parameter contains a ``sourcePath`` file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the ``sourcePath`` value doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.\n If you're using the Fargate launch type, the ``sourcePath`` parameter is not supported.", "type": "string", - "description": "The value for the specified resource type.\n If the ``GPU`` type is used, the value is the number of physical ``GPUs`` the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on.\n If the ``InferenceAccelerator`` type is used, the ``value`` matches the ``deviceName`` for an [InferenceAccelerator](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_InferenceAccelerator.html) specified in a task definition.", - "markdownDescription": "The value for the specified resource type.\n If the ``GPU`` type is used, the value is the number of physical ``GPUs`` the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on.\n If the ``InferenceAccelerator`` type is used, the ``value`` matches the ``deviceName`` for an [InferenceAccelerator](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_InferenceAccelerator.html) specified in a task definition.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "When the ``host`` parameter is used, specify a ``sourcePath`` to declare the path on the host container instance that's presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If the ``host`` parameter contains a ``sourcePath`` file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the ``sourcePath`` value doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.\n If you're using the Fargate launch type, the ``sourcePath`` parameter is not supported.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "The type and amount of a resource to assign to a container. The supported resource types are GPUs and Elastic Inference accelerators. For more information, see [Working with GPUs on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) or [Working with Amazon Elastic Inference on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html) in the *Amazon Elastic Container Service Developer Guide*", - "markdownDescription": "The type and amount of a resource to assign to a container. The supported resource types are GPUs and Elastic Inference accelerators. For more information, see [Working with GPUs on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) or [Working with Amazon Elastic Inference on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html) in the *Amazon Elastic Container Service Developer Guide*\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The ``HostVolumeProperties`` property specifies details on a container instance bind mount host volume.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "RuntimePlatform": { + "MountPoint": { + "description": "The details for a volume mount point that's used in a container definition.", + "additionalProperties": false, "type": "object", "properties": { - "CpuArchitecture": { + "ReadOnly": { + "description": "If this value is ``true``, the container has read-only access to the volume. If this value is ``false``, then the container can write to the volume. The default value is ``false``.", + "type": "boolean", + "markdownDescription": "If this value is ``true``, the container has read-only access to the volume. If this value is ``false``, then the container can write to the volume. The default value is ``false``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "SourceVolume": { + "description": "The name of the volume to mount. Must be a volume name referenced in the ``name`` parameter of task definition ``volume``.", "type": "string", - "description": "The CPU architecture.\n You can run your Linux tasks on an ARM-based platform by setting the value to ``ARM64``. This option is available for tasks that run on Linux Amazon EC2 instance or Linux containers on Fargate.", - "markdownDescription": "The CPU architecture.\n You can run your Linux tasks on an ARM-based platform by setting the value to ``ARM64``. This option is available for tasks that run on Linux Amazon EC2 instance or Linux containers on Fargate.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the volume to mount. Must be a volume name referenced in the ``name`` parameter of task definition ``volume``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "OperatingSystemFamily": { + "ContainerPath": { + "description": "The path on the container to mount the host volume at.", "type": "string", - "description": "The operating system.", - "markdownDescription": "The operating system.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The path on the container to mount the host volume at.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "Information about the platform for the Amazon ECS service or task.\n For more information about ``RuntimePlatform``, see [RuntimePlatform](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#runtime-platform) in the *Amazon Elastic Container Service Developer Guide*.", - "markdownDescription": "Information about the platform for the Amazon ECS service or task.\n For more information about ``RuntimePlatform``, see [RuntimePlatform](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#runtime-platform) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The details for a volume mount point that's used in a container definition.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Secret": { + "description": "An object representing the secret to expose to your container. Secrets can be exposed to a container in the following ways:\n + To inject sensitive data into your containers as environment variables, use the ``secrets`` container definition parameter.\n + To reference sensitive information in the log configuration of a container, use the ``secretOptions`` container definition parameter.\n \n For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.", + "additionalProperties": false, "type": "object", "required": [ "Name", "ValueFrom" ], "properties": { - "Name": { - "type": "string", - "description": "The name of the secret.", - "markdownDescription": "The name of the secret.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, "ValueFrom": { - "type": "string", "description": "The secret to expose to the container. The supported values are either the full ARN of the ASMlong secret or the full ARN of the parameter in the SSM Parameter Store.\n For information about the require IAMlong permissions, see [Required IAM permissions for Amazon ECS secrets](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-secrets.html#secrets-iam) (for Secrets Manager) or [Required IAM permissions for Amazon ECS secrets](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-parameters.html) (for Systems Manager Parameter store) in the *Amazon Elastic Container Service Developer Guide*.\n If the SSM Parameter Store parameter exists in the same Region as the task you're launching, then you can use either the full ARN or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified.", + "type": "string", "markdownDescription": "The secret to expose to the container. The supported values are either the full ARN of the ASMlong secret or the full ARN of the parameter in the SSM Parameter Store.\n For information about the require IAMlong permissions, see [Required IAM permissions for Amazon ECS secrets](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-secrets.html#secrets-iam) (for Secrets Manager) or [Required IAM permissions for Amazon ECS secrets](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-parameters.html) (for Systems Manager Parameter store) in the *Amazon Elastic Container Service Developer Guide*.\n If the SSM Parameter Store parameter exists in the same Region as the task you're launching, then you can use either the full ARN or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Name": { + "description": "The name of the secret.", + "type": "string", + "markdownDescription": "The name of the secret.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "An object representing the secret to expose to your container. Secrets can be exposed to a container in the following ways:\n + To inject sensitive data into your containers as environment variables, use the ``secrets`` container definition parameter.\n + To reference sensitive information in the log configuration of a container, use the ``secretOptions`` container definition parameter.\n \n For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.", "markdownDescription": "An object representing the secret to expose to your container. Secrets can be exposed to a container in the following ways:\n + To inject sensitive data into your containers as environment variables, use the ``secrets`` container definition parameter.\n + To reference sensitive information in the log configuration of a container, use the ``secretOptions`` container definition parameter.\n \n For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TaskDefinitionPlacementConstraint": { + "ProxyConfiguration": { + "description": "The configuration details for the App Mesh proxy.\n For tasks that use the EC2 launch type, the container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI 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)", + "additionalProperties": false, "type": "object", "required": [ - "Type" + "ContainerName" ], "properties": { + "ProxyConfigurationProperties": { + "uniqueItems": true, + "description": "The set of network configuration parameters to provide the Container Network Interface (CNI) plugin, specified as key-value pairs.\n + ``IgnoredUID`` - (Required) The user ID (UID) of the proxy container as defined by the ``user`` parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If ``IgnoredGID`` is specified, this field can be empty.\n + ``IgnoredGID`` - (Required) The group ID (GID) of the proxy container as defined by the ``user`` parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If ``IgnoredUID`` is specified, this field can be empty.\n + ``AppPorts`` - (Required) The list of ports that the application uses. Network traffic to these ports is forwarded to the ``ProxyIngressPort`` and ``ProxyEgressPort``.\n + ``ProxyIngressPort`` - (Required) Specifies the port that incoming traffic to the ``AppPorts`` is directed to.\n + ``ProxyEgressPort`` - (Required) Specifies the port that outgoing traffic from the ``AppPorts`` is directed to.\n + ``EgressIgnoredPorts`` - (Required) The egress traffic going to the specified ports is ignored and not redirected to the ``ProxyEgressPort``. It can be an empty list.\n + ``EgressIgnoredIPs`` - (Required) The egress traffic going to the specified IP addresses is ignored and not redirected to the ``ProxyEgressPort``. It can be an empty list.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/KeyValuePair" + }, + "markdownDescription": "The set of network configuration parameters to provide the Container Network Interface (CNI) plugin, specified as key-value pairs.\n + ``IgnoredUID`` - (Required) The user ID (UID) of the proxy container as defined by the ``user`` parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If ``IgnoredGID`` is specified, this field can be empty.\n + ``IgnoredGID`` - (Required) The group ID (GID) of the proxy container as defined by the ``user`` parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If ``IgnoredUID`` is specified, this field can be empty.\n + ``AppPorts`` - (Required) The list of ports that the application uses. Network traffic to these ports is forwarded to the ``ProxyIngressPort`` and ``ProxyEgressPort``.\n + ``ProxyIngressPort`` - (Required) Specifies the port that incoming traffic to the ``AppPorts`` is directed to.\n + ``ProxyEgressPort`` - (Required) Specifies the port that outgoing traffic from the ``AppPorts`` is directed to.\n + ``EgressIgnoredPorts`` - (Required) The egress traffic going to the specified ports is ignored and not redirected to the ``ProxyEgressPort``. It can be an empty list.\n + ``EgressIgnoredIPs`` - (Required) The egress traffic going to the specified IP addresses is ignored and not redirected to the ``ProxyEgressPort``. It can be an empty list.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "Type": { + "description": "The proxy type. The only supported value is ``APPMESH``.", "type": "string", - "description": "The type of constraint. The ``MemberOf`` constraint restricts selection to be from a group of valid candidates.", - "markdownDescription": "The type of constraint. The ``MemberOf`` constraint restricts selection to be from a group of valid candidates.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The proxy type. The only supported value is ``APPMESH``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Expression": { + "ContainerName": { + "description": "The name of the container that will serve as the App Mesh proxy.", "type": "string", - "description": "A cluster query language expression to apply to the constraint. For more information, see [Cluster query language](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) in the *Amazon Elastic Container Service Developer Guide*.", - "markdownDescription": "A cluster query language expression to apply to the constraint. For more information, see [Cluster query language](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the container that will serve as the App Mesh proxy.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "The constraint on task placement in the task definition. 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 Task placement constraints aren't supported for tasks run on FARGATElong.", - "markdownDescription": "The constraint on task placement in the task definition. 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 Task placement constraints aren't supported for tasks run on FARGATElong.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The configuration details for the App Mesh proxy.\n For tasks that use the EC2 launch type, the container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI 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)\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tmpfs": { + "Volume": { + "description": "The data volume configuration for tasks launched using this task definition. Specifying a volume configuration in a task definition is optional. The volume configuration may contain multiple volumes but only one volume configured at launch is supported. Each volume defined in the volume configuration may only specify a ``name`` and one of either ``configuredAtLaunch``, ``dockerVolumeConfiguration``, ``efsVolumeConfiguration``, ``fsxWindowsFileServerVolumeConfiguration``, or ``host``. If an empty volume configuration is specified, by default Amazon ECS uses a host volume. For more information, see [Using data volumes in tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html).", + "additionalProperties": false, "type": "object", - "required": [ - "Size" - ], "properties": { - "ContainerPath": { - "type": "string", - "description": "The absolute file path where the tmpfs volume is to be mounted.", - "markdownDescription": "The absolute file path where the tmpfs volume is to be mounted.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "EFSVolumeConfiguration": { + "description": "This parameter is specified when you use an Amazon Elastic File System file system for task storage.", + "$ref": "#/definitions/EFSVolumeConfiguration", + "markdownDescription": "This parameter is specified when you use an Amazon Elastic File System file system for task storage.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "MountOptions": { - "type": "array", - "insertionOrder": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "description": "The list of tmpfs volume mount options.\n Valid values: ``\"defaults\" | \"ro\" | \"rw\" | \"suid\" | \"nosuid\" | \"dev\" | \"nodev\" | \"exec\" | \"noexec\" | \"sync\" | \"async\" | \"dirsync\" | \"remount\" | \"mand\" | \"nomand\" | \"atime\" | \"noatime\" | \"diratime\" | \"nodiratime\" | \"bind\" | \"rbind\" | \"unbindable\" | \"runbindable\" | \"private\" | \"rprivate\" | \"shared\" | \"rshared\" | \"slave\" | \"rslave\" | \"relatime\" | \"norelatime\" | \"strictatime\" | \"nostrictatime\" | \"mode\" | \"uid\" | \"gid\" | \"nr_inodes\" | \"nr_blocks\" | \"mpol\"``", - "markdownDescription": "The list of tmpfs volume mount options.\n Valid values: ``\"defaults\" | \"ro\" | \"rw\" | \"suid\" | \"nosuid\" | \"dev\" | \"nodev\" | \"exec\" | \"noexec\" | \"sync\" | \"async\" | \"dirsync\" | \"remount\" | \"mand\" | \"nomand\" | \"atime\" | \"noatime\" | \"diratime\" | \"nodiratime\" | \"bind\" | \"rbind\" | \"unbindable\" | \"runbindable\" | \"private\" | \"rprivate\" | \"shared\" | \"rshared\" | \"slave\" | \"rslave\" | \"relatime\" | \"norelatime\" | \"strictatime\" | \"nostrictatime\" | \"mode\" | \"uid\" | \"gid\" | \"nr_inodes\" | \"nr_blocks\" | \"mpol\"``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "Host": { + "description": "This parameter is specified when you use bind mount host volumes. The contents of the ``host`` parameter determine whether your bind mount host volume persists on the host container instance and where it's stored. If the ``host`` parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. For example, you can mount ``C:\\my\\path:C:\\my\\path`` and ``D:\\:D:\\``, but not ``D:\\my\\path:C:\\my\\path`` or ``D:\\:C:\\my\\path``.", + "$ref": "#/definitions/HostVolumeProperties", + "markdownDescription": "This parameter is specified when you use bind mount host volumes. The contents of the ``host`` parameter determine whether your bind mount host volume persists on the host container instance and where it's stored. If the ``host`` parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. For example, you can mount ``C:\\my\\path:C:\\my\\path`` and ``D:\\:D:\\``, but not ``D:\\my\\path:C:\\my\\path`` or ``D:\\:C:\\my\\path``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Size": { - "type": "integer", - "description": "The maximum size (in MiB) of the tmpfs volume.", - "markdownDescription": "The maximum size (in MiB) of the tmpfs volume.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "ConfiguredAtLaunch": { + "description": "Indicates whether the volume should be configured at launch time. This is used to create Amazon EBS volumes for standalone tasks or tasks created as part of a service. Each task definition revision may only have one volume configured at launch in the volume configuration.\n To configure a volume at launch time, use this task definition revision and specify a ``volumeConfigurations`` object when calling the ``CreateService``, ``UpdateService``, ``RunTask`` or ``StartTask`` APIs.", + "type": "boolean", + "markdownDescription": "Indicates whether the volume should be configured at launch time. This is used to create Amazon EBS volumes for standalone tasks or tasks created as part of a service. Each task definition revision may only have one volume configured at launch in the volume configuration.\n To configure a volume at launch time, use this task definition revision and specify a ``volumeConfigurations`` object when calling the ``CreateService``, ``UpdateService``, ``RunTask`` or ``StartTask`` APIs.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "DockerVolumeConfiguration": { + "description": "This parameter is specified when you use Docker volumes.\n Windows containers only support the use of the ``local`` driver. To use bind mounts, specify the ``host`` parameter instead.\n Docker volumes aren't supported by tasks run on FARGATElong.", + "$ref": "#/definitions/DockerVolumeConfiguration", + "markdownDescription": "This parameter is specified when you use Docker volumes.\n Windows containers only support the use of the ``local`` driver. To use bind mounts, specify the ``host`` parameter instead.\n Docker volumes aren't supported by tasks run on FARGATElong.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "FSxWindowsFileServerVolumeConfiguration": { + "description": "This parameter is specified when you use Amazon FSx for Windows File Server file system for task storage.", + "$ref": "#/definitions/FSxWindowsFileServerVolumeConfiguration", + "markdownDescription": "This parameter is specified when you use Amazon FSx for Windows File Server file system for task storage.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Name": { + "description": "The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.\n When using a volume configured at launch, the ``name`` is required and must also be specified as the volume name in the ``ServiceVolumeConfiguration`` or ``TaskVolumeConfiguration`` parameter when creating your service or standalone task.\n For all other types of volumes, this name is referenced in the ``sourceVolume`` parameter of the ``mountPoints`` object in the container definition.\n When a volume is using the ``efsVolumeConfiguration``, the name is required.", + "type": "string", + "markdownDescription": "The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.\n When using a volume configured at launch, the ``name`` is required and must also be specified as the volume name in the ``ServiceVolumeConfiguration`` or ``TaskVolumeConfiguration`` parameter when creating your service or standalone task.\n For all other types of volumes, this name is referenced in the ``sourceVolume`` parameter of the ``mountPoints`` object in the container definition.\n When a volume is using the ``efsVolumeConfiguration``, the name is required.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "markdownDescription": "The data volume configuration for tasks launched using this task definition. Specifying a volume configuration in a task definition is optional. The volume configuration may contain multiple volumes but only one volume configured at launch is supported. Each volume defined in the volume configuration may only specify a ``name`` and one of either ``configuredAtLaunch``, ``dockerVolumeConfiguration``, ``efsVolumeConfiguration``, ``fsxWindowsFileServerVolumeConfiguration``, or ``host``. If an empty volume configuration is specified, by default Amazon ECS uses a host volume. For more information, see [Using data volumes in tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EnvironmentFile": { + "description": "A list of files containing the environment variables to pass to a container. You can specify up to ten environment files. The file must have a ``.env`` file extension. Each line in an environment file should contain 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 [Use a file to pass environment variables to a container](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/use-environment-file.html) in the *Amazon Elastic Container Service Developer Guide*.\n Environment variable files are objects in Amazon S3 and all Amazon S3 security considerations apply. \n You must use the following platforms for the Fargate launch type:\n + Linux platform version ``1.4.0`` or later.\n + Windows platform version ``1.0.0`` or later.\n \n Consider the following when using the Fargate launch type:\n + The file is handled like a native Docker env-file.\n + There is no support for shell escape handling.\n + The container entry point interperts the ``VARIABLE`` values.", "additionalProperties": false, - "description": "The container path, mount options, and size of the tmpfs mount.", - "markdownDescription": "The container path, mount options, and size of the tmpfs mount.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "type": "object", + "properties": { + "Type": { + "description": "The file type to use. Environment files are objects in Amazon S3. The only supported value is ``s3``.", + "type": "string", + "markdownDescription": "The file type to use. Environment files are objects in Amazon S3. The only supported value is ``s3``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Value": { + "description": "The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment variable file.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment variable file.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A list of files containing the environment variables to pass to a container. You can specify up to ten environment files. The file must have a ``.env`` file extension. Each line in an environment file should contain 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 [Use a file to pass environment variables to a container](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/use-environment-file.html) in the *Amazon Elastic Container Service Developer Guide*.\n Environment variable files are objects in Amazon S3 and all Amazon S3 security considerations apply. \n You must use the following platforms for the Fargate launch type:\n + Linux platform version ``1.4.0`` or later.\n + Windows platform version ``1.0.0`` or later.\n \n Consider the following when using the Fargate launch type:\n + The file is handled like a native Docker env-file.\n + There is no support for shell escape handling.\n + The container entry point interperts the ``VARIABLE`` values.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Ulimit": { + "ResourceRequirement": { + "description": "The type and amount of a resource to assign to a container. The supported resource types are GPUs and Elastic Inference accelerators. For more information, see [Working with GPUs on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) or [Working with Amazon Elastic Inference on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html) in the *Amazon Elastic Container Service Developer Guide*", + "additionalProperties": false, "type": "object", "required": [ - "HardLimit", - "Name", - "SoftLimit" + "Type", + "Value" ], "properties": { - "HardLimit": { - "type": "integer", - "description": "The hard limit for the ``ulimit`` type.", - "markdownDescription": "The hard limit for the ``ulimit`` type.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "Name": { + "Type": { + "description": "The type of resource to assign to a container.", "type": "string", - "description": "The ``type`` of the ``ulimit``.", - "markdownDescription": "The ``type`` of the ``ulimit``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The type of resource to assign to a container.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "SoftLimit": { - "type": "integer", - "description": "The soft limit for the ``ulimit`` type.", - "markdownDescription": "The soft limit for the ``ulimit`` type.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "Value": { + "description": "The value for the specified resource type.\n When the type is ``GPU``, the value is the number of physical ``GPUs`` the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on.\n When the type is ``InferenceAccelerator``, the ``value`` matches the ``deviceName`` for an [InferenceAccelerator](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_InferenceAccelerator.html) specified in a task definition.", + "type": "string", + "markdownDescription": "The value for the specified resource type.\n When the type is ``GPU``, the value is the number of physical ``GPUs`` the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on.\n When the type is ``InferenceAccelerator``, the ``value`` matches the ``deviceName`` for an [InferenceAccelerator](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_InferenceAccelerator.html) specified in a task definition.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "The ``ulimit`` settings to pass to the container.\n Amazon ECS tasks hosted on FARGATElong use the default resource limit values set by the operating system with the exception of the ``nofile`` resource limit parameter which FARGATElong overrides. The ``nofile`` resource limit sets a restriction on the number of open files that a container can use. The default ``nofile`` soft limit is ``1024`` and the default hard limit is ``65535``.\n You can specify the ``ulimit`` settings for a container in a task definition.", - "markdownDescription": "The ``ulimit`` settings to pass to the container.\n Amazon ECS tasks hosted on FARGATElong use the default resource limit values set by the operating system with the exception of the ``nofile`` resource limit parameter which FARGATElong overrides. The ``nofile`` resource limit sets a restriction on the number of open files that a container can use. The default ``nofile`` soft limit is ``1024`` and the default hard limit is ``65535``.\n You can specify the ``ulimit`` settings for a container in a task definition.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The type and amount of a resource to assign to a container. The supported resource types are GPUs and Elastic Inference accelerators. For more information, see [Working with GPUs on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) or [Working with Amazon Elastic Inference on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html) in the *Amazon Elastic Container Service Developer Guide*\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Volume": { + "InferenceAccelerator": { + "description": "Details on an Elastic Inference accelerator. For more information, see [Working with Amazon Elastic Inference on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html) in the *Amazon Elastic Container Service Developer Guide*.", + "additionalProperties": false, "type": "object", "properties": { - "ConfiguredAtLaunch": { - "type": "boolean", - "description": "Indicates whether the volume should be configured at launch time. This is used to create Amazon EBS volumes for standalone tasks or tasks created as part of a service. Each task definition revision may only have one volume configured at launch in the volume configuration.\n To configure a volume at launch time, use this task definition revision and specify a ``volumeConfigurations`` object when calling the ``CreateService``, ``UpdateService``, ``RunTask`` or ``StartTask`` APIs.", - "markdownDescription": "Indicates whether the volume should be configured at launch time. This is used to create Amazon EBS volumes for standalone tasks or tasks created as part of a service. Each task definition revision may only have one volume configured at launch in the volume configuration.\n To configure a volume at launch time, use this task definition revision and specify a ``volumeConfigurations`` object when calling the ``CreateService``, ``UpdateService``, ``RunTask`` or ``StartTask`` APIs.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "DockerVolumeConfiguration": { - "$ref": "#/definitions/DockerVolumeConfiguration", - "description": "This parameter is specified when you use Docker volumes.\n Windows containers only support the use of the ``local`` driver. To use bind mounts, specify the ``host`` parameter instead.\n Docker volumes aren't supported by tasks run on FARGATElong.", - "markdownDescription": "This parameter is specified when you use Docker volumes.\n Windows containers only support the use of the ``local`` driver. To use bind mounts, specify the ``host`` parameter instead.\n Docker volumes aren't supported by tasks run on FARGATElong.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/EFSVolumeConfiguration", - "description": "This parameter is specified when you use an Amazon Elastic File System file system for task storage.", - "markdownDescription": "This parameter is specified when you use an Amazon Elastic File System file system for task storage.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "FSxWindowsFileServerVolumeConfiguration": { - "$ref": "#/definitions/FSxWindowsFileServerVolumeConfiguration", - "description": "", - "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Host": { - "$ref": "#/definitions/HostVolumeProperties", - "description": "This parameter is specified when you use bind mount host volumes. The contents of the ``host`` parameter determine whether your bind mount host volume persists on the host container instance and where it's stored. If the ``host`` parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. For example, you can mount ``C:\\my\\path:C:\\my\\path`` and ``D:\\:D:\\``, but not ``D:\\my\\path:C:\\my\\path`` or ``D:\\:C:\\my\\path``.", - "markdownDescription": "This parameter is specified when you use bind mount host volumes. The contents of the ``host`` parameter determine whether your bind mount host volume persists on the host container instance and where it's stored. If the ``host`` parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. For example, you can mount ``C:\\my\\path:C:\\my\\path`` and ``D:\\:D:\\``, but not ``D:\\my\\path:C:\\my\\path`` or ``D:\\:C:\\my\\path``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "DeviceType": { + "description": "The Elastic Inference accelerator type to use.", + "type": "string", + "markdownDescription": "The Elastic Inference accelerator type to use.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Name": { + "DeviceName": { + "description": "The Elastic Inference accelerator device name. The ``deviceName`` must also be referenced in a container definition as a [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html).", "type": "string", - "description": "The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.\n When using a volume configured at launch, the ``name`` is required and must also be specified as the volume name in the ``ServiceVolumeConfiguration`` or ``TaskVolumeConfiguration`` parameter when creating your service or standalone task.\n For all other types of volumes, this name is referenced in the ``sourceVolume`` parameter of the ``mountPoints`` object in the container definition.\n When a volume is using the ``efsVolumeConfiguration``, the name is required.", - "markdownDescription": "The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.\n When using a volume configured at launch, the ``name`` is required and must also be specified as the volume name in the ``ServiceVolumeConfiguration`` or ``TaskVolumeConfiguration`` parameter when creating your service or standalone task.\n For all other types of volumes, this name is referenced in the ``sourceVolume`` parameter of the ``mountPoints`` object in the container definition.\n When a volume is using the ``efsVolumeConfiguration``, the name is required.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Elastic Inference accelerator device name. The ``deviceName`` must also be referenced in a container definition as a [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "The data volume configuration for tasks launched using this task definition. Specifying a volume configuration in a task definition is optional. The volume configuration may contain multiple volumes but only one volume configured at launch is supported. Each volume defined in the volume configuration may only specify a ``name`` and one of either ``configuredAtLaunch``, ``dockerVolumeConfiguration``, ``efsVolumeConfiguration``, ``fsxWindowsFileServerVolumeConfiguration``, or ``host``. If an empty volume configuration is specified, by default Amazon ECS uses a host volume. For more information, see [Using data volumes in tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html).", - "markdownDescription": "The data volume configuration for tasks launched using this task definition. Specifying a volume configuration in a task definition is optional. The volume configuration may contain multiple volumes but only one volume configured at launch is supported. Each volume defined in the volume configuration may only specify a ``name`` and one of either ``configuredAtLaunch``, ``dockerVolumeConfiguration``, ``efsVolumeConfiguration``, ``fsxWindowsFileServerVolumeConfiguration``, or ``host``. If an empty volume configuration is specified, by default Amazon ECS uses a host volume. For more information, see [Using data volumes in tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Details on an Elastic Inference accelerator. For more information, see [Working with Amazon Elastic Inference on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "VolumeFrom": { + "Tag": { + "description": "The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define them.\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.", + "additionalProperties": false, "type": "object", "properties": { - "ReadOnly": { - "type": "boolean", - "description": "If this value is ``true``, the container has read-only access to the volume. If this value is ``false``, then the container can write to the volume. The default value is ``false``.", - "markdownDescription": "If this value is ``true``, the container has read-only access to the volume. If this value is ``false``, then the container can write to the volume. The default value is ``false``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "Value": { + "description": "The optional part of a key-value pair that make up a tag. A ``value`` acts as a descriptor within a tag category (key).", + "type": "string", + "markdownDescription": "The optional part of a key-value pair that make up a tag. A ``value`` acts as a descriptor within a tag category (key).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SourceContainer": { + "Key": { + "description": "One part of a key-value pair that make up a tag. A ``key`` is a general label that acts like a category for more specific tag values.", "type": "string", - "description": "The name of another container within the same task definition to mount volumes from.", - "markdownDescription": "The name of another container within the same task definition to mount volumes from.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "One part of a key-value pair that make up a tag. A ``key`` is a general label that acts like a category for more specific tag values.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "markdownDescription": "The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define them.\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 \nUpdate requires: No interruption" + }, + "EphemeralStorage": { + "description": "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.", "additionalProperties": false, - "description": "Details on a data volume from another container in the same task definition.", - "markdownDescription": "Details on a data volume from another container in the same task definition.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "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.", + "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 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" }, - "Tag": { + "FSxWindowsFileServerVolumeConfiguration": { + "description": "This parameter is specified when you're using [Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) file system for task storage.\n For more information and the input format, see [Amazon FSx for Windows File Server volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*.", + "additionalProperties": false, "type": "object", + "required": [ + "FileSystemId", + "RootDirectory" + ], "properties": { - "Key": { + "AuthorizationConfig": { + "description": "The authorization configuration details for the Amazon FSx for Windows File Server file system.", + "$ref": "#/definitions/FSxAuthorizationConfig", + "markdownDescription": "The authorization configuration details for the Amazon FSx for Windows File Server file system.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "FileSystemId": { + "description": "The Amazon FSx for Windows File Server file system ID to use.", "type": "string", - "description": "One part of a key-value pair that make up a tag. A ``key`` is a general label that acts like a category for more specific tag values.", - "markdownDescription": "One part of a key-value pair that make up a tag. A ``key`` is a general label that acts like a category for more specific tag values.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon FSx for Windows File Server file system ID to use.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Value": { + "RootDirectory": { + "description": "The directory within the Amazon FSx for Windows File Server file system to mount as the root directory inside the host.", "type": "string", - "description": "The optional part of a key-value pair that make up a tag. A ``value`` acts as a descriptor within a tag category (key).", - "markdownDescription": "The optional part of a key-value pair that make up a tag. A ``value`` acts as a descriptor within a tag category (key).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The directory within the Amazon FSx for Windows File Server file system to mount as the root directory inside the host.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "description": "The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define them.\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.", - "markdownDescription": "The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define them.\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 \nUpdate requires: No interruption" + "markdownDescription": "This parameter is specified when you're using [Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) file system for task storage.\n For more information and the input format, see [Amazon FSx for Windows File Server volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "additionalProperties": false, "properties": { - "Family": { - "type": "string", - "description": "The name of a family that this task definition is registered to. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.\n A family groups multiple versions of a task definition. Amazon ECS gives the first task definition that you registered to a family a revision number of 1. Amazon ECS gives sequential revision numbers to each task definition that you add.\n To use revision numbers when you update a task definition, specify this property. If you don't specify a value, CFNlong generates a new task definition each time that you update it.", - "markdownDescription": "The name of a family that this task definition is registered to. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.\n A family groups multiple versions of a task definition. Amazon ECS gives the first task definition that you registered to a family a revision number of 1. Amazon ECS gives sequential revision numbers to each task definition that you add.\n To use revision numbers when you update a task definition, specify this property. If you don't specify a value, CFNlong generates a new task definition each time that you update it.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "ContainerDefinitions": { - "type": "array", - "insertionOrder": false, - "uniqueItems": true, - "items": { - "$ref": "#/definitions/ContainerDefinition" - }, - "description": "A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container 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*.", - "markdownDescription": "A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container 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\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" - }, - "Cpu": { + "TaskRoleArn": { + "description": "The short name or full Amazon Resource Name (ARN) of the IAMlong role that grants containers in the task permission to call AWS APIs 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", - "description": "The number of ``cpu`` units used by the task. If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the ``memory`` parameter.\n The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.\n + 256 (.25 vCPU) - Available ``memory`` values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)\n + 512 (.5 vCPU) - Available ``memory`` values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)\n + 1024 (1 vCPU) - Available ``memory`` values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)\n + 2048 (2 vCPU) - Available ``memory`` values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)\n + 4096 (4 vCPU) - Available ``memory`` values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)\n + 8192 (8 vCPU) - Available ``memory`` values: 16 GB and 60 GB in 4 GB increments\n This option requires Linux platform ``1.4.0`` or later.\n + 16384 (16vCPU) - Available ``memory`` values: 32GB and 120 GB in 8 GB increments\n This option requires Linux platform ``1.4.0`` or later.", - "markdownDescription": "The number of ``cpu`` units used by the task. If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the ``memory`` parameter.\n The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.\n + 256 (.25 vCPU) - Available ``memory`` values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)\n + 512 (.5 vCPU) - Available ``memory`` values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)\n + 1024 (1 vCPU) - Available ``memory`` values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)\n + 2048 (2 vCPU) - Available ``memory`` values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)\n + 4096 (4 vCPU) - Available ``memory`` values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)\n + 8192 (8 vCPU) - Available ``memory`` values: 16 GB and 60 GB in 4 GB increments\n This option requires Linux platform ``1.4.0`` or later.\n + 16384 (16vCPU) - Available ``memory`` values: 32GB and 120 GB in 8 GB increments\n This option requires Linux platform ``1.4.0`` or later.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the IAMlong role that grants containers in the task permission to call AWS APIs 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*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "ExecutionRoleArn": { + "IpcMode": { + "description": "The IPC resource namespace to use for the containers in the task. The valid values are ``host``, ``task``, or ``none``. If ``host`` is specified, then all containers within the tasks that specified the ``host`` IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If ``task`` is specified, all containers within the specified task share the same IPC resources. If ``none`` is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see [IPC settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) in the *Docker run reference*.\n If the ``host`` IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see [Docker security](https://docs.aws.amazon.com/https://docs.docker.com/engine/security/security/).\n If you are setting namespaced kernel parameters using ``systemControls`` for the containers in the task, the following will apply to your IPC resource namespace. For more information, see [System Controls](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that use the ``host`` IPC mode, IPC namespace related ``systemControls`` are not supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace related ``systemControls`` will apply to all containers within a task.\n \n This parameter is not supported for Windows containers or tasks run on FARGATElong.", "type": "string", - "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. The task execution IAM role is required depending on the requirements of your task. For more information, see [Amazon ECS task execution IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) in the *Amazon Elastic Container Service Developer Guide*.", - "markdownDescription": "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. The task execution IAM role is required depending on the requirements of your task. For more information, see [Amazon ECS task execution IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage", - "description": "The ephemeral storage settings to use for tasks run with the task definition.", - "markdownDescription": "The ephemeral storage settings to use for tasks run with the task definition.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "markdownDescription": "The IPC resource namespace to use for the containers in the task. The valid values are ``host``, ``task``, or ``none``. If ``host`` is specified, then all containers within the tasks that specified the ``host`` IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If ``task`` is specified, all containers within the specified task share the same IPC resources. If ``none`` is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see [IPC settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) in the *Docker run reference*.\n If the ``host`` IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see [Docker security](https://docs.aws.amazon.com/https://docs.docker.com/engine/security/security/).\n If you are setting namespaced kernel parameters using ``systemControls`` for the containers in the task, the following will apply to your IPC resource namespace. For more information, see [System Controls](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that use the ``host`` IPC mode, IPC namespace related ``systemControls`` are not supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace related ``systemControls`` will apply to all containers within a task.\n \n This parameter is not supported for Windows containers or tasks run on FARGATElong.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "InferenceAccelerators": { - "type": "array", - "insertionOrder": false, "uniqueItems": true, + "description": "The Elastic Inference accelerators to use for the containers in the task.", + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/InferenceAccelerator" }, - "description": "The Elastic Inference accelerators to use for the containers in the task.", "markdownDescription": "The Elastic Inference accelerators to use for the containers in the task.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, "Memory": { - "type": "string", "description": "The amount (in MiB) of memory used by the task.\n If your tasks runs on Amazon EC2 instances, you must specify either a task-level memory value or a container-level memory value. This field is optional and any value can be used. If a task-level memory value is specified, the container-level memory value is optional. For more information regarding container-level memory and memory reservation, see [ContainerDefinition](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html).\n If your tasks runs on FARGATElong, this field is required. You must use one of the following values. The value you choose determines your range of valid values for the ``cpu`` parameter.\n + 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available ``cpu`` values: 256 (.25 vCPU)\n + 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available ``cpu`` values: 512 (.5 vCPU)\n + 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available ``cpu`` values: 1024 (1 vCPU)\n + Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available ``cpu`` values: 2048 (2 vCPU)\n + Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available ``cpu`` values: 4096 (4 vCPU)\n + Between 16 GB and 60 GB in 4 GB increments - Available ``cpu`` values: 8192 (8 vCPU)\n This option requires Linux platform ``1.4.0`` or later.\n + Between 32GB and 120 GB in 8 GB increments - Available ``cpu`` values: 16384 (16 vCPU)\n This option requires Linux platform ``1.4.0`` or later.", - "markdownDescription": "The amount (in MiB) of memory used by the task.\n If your tasks runs on Amazon EC2 instances, you must specify either a task-level memory value or a container-level memory value. This field is optional and any value can be used. If a task-level memory value is specified, the container-level memory value is optional. For more information regarding container-level memory and memory reservation, see [ContainerDefinition](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html).\n If your tasks runs on FARGATElong, this field is required. You must use one of the following values. The value you choose determines your range of valid values for the ``cpu`` parameter.\n + 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available ``cpu`` values: 256 (.25 vCPU)\n + 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available ``cpu`` values: 512 (.5 vCPU)\n + 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available ``cpu`` values: 1024 (1 vCPU)\n + Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available ``cpu`` values: 2048 (2 vCPU)\n + Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available ``cpu`` values: 4096 (4 vCPU)\n + Between 16 GB and 60 GB in 4 GB increments - Available ``cpu`` values: 8192 (8 vCPU)\n This option requires Linux platform ``1.4.0`` or later.\n + Between 32GB and 120 GB in 8 GB increments - Available ``cpu`` values: 16384 (16 vCPU)\n This option requires Linux platform ``1.4.0`` or later.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "NetworkMode": { "type": "string", - "description": "The Docker networking mode to use for the containers in the task. The valid values are ``none``, ``bridge``, ``awsvpc``, and ``host``. If no network mode is specified, the default is ``bridge``.\n For Amazon ECS tasks on Fargate, the ``awsvpc`` network mode is required. For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, ```` or ``awsvpc`` can be used. If the network mode is set to ``none``, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The ``host`` and ``awsvpc`` network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the ``bridge`` mode.\n With the ``host`` and ``awsvpc`` network modes, exposed container ports are mapped directly to the corresponding host port (for the ``host`` network mode) or the attached elastic network interface port (for the ``awsvpc`` network mode), so you cannot take advantage of dynamic host port mappings. \n When using the ``host`` network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user.\n If the network mode is ``awsvpc``, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value 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 If the network mode is ``host``, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.\n For more information, see [Network settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#network-settings) in the *Docker run reference*.", - "markdownDescription": "The Docker networking mode to use for the containers in the task. The valid values are ``none``, ``bridge``, ``awsvpc``, and ``host``. If no network mode is specified, the default is ``bridge``.\n For Amazon ECS tasks on Fargate, the ``awsvpc`` network mode is required. For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, ```` or ``awsvpc`` can be used. If the network mode is set to ``none``, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The ``host`` and ``awsvpc`` network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the ``bridge`` mode.\n With the ``host`` and ``awsvpc`` network modes, exposed container ports are mapped directly to the corresponding host port (for the ``host`` network mode) or the attached elastic network interface port (for the ``awsvpc`` network mode), so you cannot take advantage of dynamic host port mappings. \n When using the ``host`` network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user.\n If the network mode is ``awsvpc``, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value 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 If the network mode is ``host``, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.\n For more information, see [Network settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#network-settings) in the *Docker run reference*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The amount (in MiB) of memory used by the task.\n If your tasks runs on Amazon EC2 instances, you must specify either a task-level memory value or a container-level memory value. This field is optional and any value can be used. If a task-level memory value is specified, the container-level memory value is optional. For more information regarding container-level memory and memory reservation, see [ContainerDefinition](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html).\n If your tasks runs on FARGATElong, this field is required. You must use one of the following values. The value you choose determines your range of valid values for the ``cpu`` parameter.\n + 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available ``cpu`` values: 256 (.25 vCPU)\n + 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available ``cpu`` values: 512 (.5 vCPU)\n + 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available ``cpu`` values: 1024 (1 vCPU)\n + Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available ``cpu`` values: 2048 (2 vCPU)\n + Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available ``cpu`` values: 4096 (4 vCPU)\n + Between 16 GB and 60 GB in 4 GB increments - Available ``cpu`` values: 8192 (8 vCPU)\n This option requires Linux platform ``1.4.0`` or later.\n + Between 32GB and 120 GB in 8 GB increments - Available ``cpu`` values: 16384 (16 vCPU)\n This option requires Linux platform ``1.4.0`` or later.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "PlacementConstraints": { - "type": "array", - "insertionOrder": false, "uniqueItems": true, + "description": "An array of placement constraint objects to use for tasks.\n This parameter isn't supported for tasks run on FARGATElong.", + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/TaskDefinitionPlacementConstraint" }, - "description": "An array of placement constraint objects to use for tasks.\n This parameter isn't supported for tasks run on FARGATElong.", "markdownDescription": "An array of placement constraint objects to use for tasks.\n This parameter isn't supported for tasks run on FARGATElong.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, - "ProxyConfiguration": { - "$ref": "#/definitions/ProxyConfiguration", - "description": "The configuration details for the App Mesh proxy.\n Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, 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*.", - "markdownDescription": "The configuration details for the App Mesh proxy.\n Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, 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\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "Cpu": { + "description": "The number of ``cpu`` units used by the task. If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the ``memory`` parameter.\n The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.\n + 256 (.25 vCPU) - Available ``memory`` values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)\n + 512 (.5 vCPU) - Available ``memory`` values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)\n + 1024 (1 vCPU) - Available ``memory`` values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)\n + 2048 (2 vCPU) - Available ``memory`` values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)\n + 4096 (4 vCPU) - Available ``memory`` values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)\n + 8192 (8 vCPU) - Available ``memory`` values: 16 GB and 60 GB in 4 GB increments\n This option requires Linux platform ``1.4.0`` or later.\n + 16384 (16vCPU) - Available ``memory`` values: 32GB and 120 GB in 8 GB increments\n This option requires Linux platform ``1.4.0`` or later.", + "type": "string", + "markdownDescription": "The number of ``cpu`` units used by the task. If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the ``memory`` parameter.\n The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.\n + 256 (.25 vCPU) - Available ``memory`` values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)\n + 512 (.5 vCPU) - Available ``memory`` values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)\n + 1024 (1 vCPU) - Available ``memory`` values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)\n + 2048 (2 vCPU) - Available ``memory`` values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)\n + 4096 (4 vCPU) - Available ``memory`` values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)\n + 8192 (8 vCPU) - Available ``memory`` values: 16 GB and 60 GB in 4 GB increments\n This option requires Linux platform ``1.4.0`` or later.\n + 16384 (16vCPU) - Available ``memory`` values: 32GB and 120 GB in 8 GB increments\n This option requires Linux platform ``1.4.0`` or later.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "RequiresCompatibilities": { - "type": "array", - "insertionOrder": false, "uniqueItems": true, + "description": "The task launch types the task definition was validated against. The valid values are ``EC2``, ``FARGATE``, and ``EXTERNAL``. 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*.", + "insertionOrder": false, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "description": "The task launch types the task definition was validated against. The valid values are ``EC2``, ``FARGATE``, and ``EXTERNAL``. 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*.", "markdownDescription": "The task launch types the task definition was validated against. The valid values are ``EC2``, ``FARGATE``, and ``EXTERNAL``. 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: Array \nUpdate requires: Replacement" }, - "TaskRoleArn": { + "NetworkMode": { + "description": "The Docker networking mode to use for the containers in the task. The valid values are ``none``, ``bridge``, ``awsvpc``, and ``host``. If no network mode is specified, the default is ``bridge``.\n For Amazon ECS tasks on Fargate, the ``awsvpc`` network mode is required. For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, ```` or ``awsvpc`` can be used. If the network mode is set to ``none``, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The ``host`` and ``awsvpc`` network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the ``bridge`` mode.\n With the ``host`` and ``awsvpc`` network modes, exposed container ports are mapped directly to the corresponding host port (for the ``host`` network mode) or the attached elastic network interface port (for the ``awsvpc`` network mode), so you cannot take advantage of dynamic host port mappings. \n When using the ``host`` network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user.\n If the network mode is ``awsvpc``, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value 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 If the network mode is ``host``, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.\n For more information, see [Network settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#network-settings) in the *Docker run reference*.", + "type": "string", + "markdownDescription": "The Docker networking mode to use for the containers in the task. The valid values are ``none``, ``bridge``, ``awsvpc``, and ``host``. If no network mode is specified, the default is ``bridge``.\n For Amazon ECS tasks on Fargate, the ``awsvpc`` network mode is required. For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, ```` or ``awsvpc`` can be used. If the network mode is set to ``none``, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The ``host`` and ``awsvpc`` network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the ``bridge`` mode.\n With the ``host`` and ``awsvpc`` network modes, exposed container ports are mapped directly to the corresponding host port (for the ``host`` network mode) or the attached elastic network interface port (for the ``awsvpc`` network mode), so you cannot take advantage of dynamic host port mappings. \n When using the ``host`` network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user.\n If the network mode is ``awsvpc``, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value 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 If the network mode is ``host``, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.\n For more information, see [Network settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#network-settings) in the *Docker run reference*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "PidMode": { + "description": "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. For more information, see [PID settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#pid-settings---pid) in the *Docker run reference*.\n If the ``host`` PID mode is used, there's a heightened risk of undesired process namespace exposure. For more information, see [Docker security](https://docs.aws.amazon.com/https://docs.docker.com/engine/security/security/).\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.", + "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. For more information, see [PID settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#pid-settings---pid) in the *Docker run reference*.\n If the ``host`` PID mode is used, there's a heightened risk of undesired process namespace exposure. For more information, see [Docker security](https://docs.aws.amazon.com/https://docs.docker.com/engine/security/security/).\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" + }, + "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", - "description": "The short name or full Amazon Resource Name (ARN) of the IAMlong role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see [Amazon ECS Task Role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide*.\n IAM roles for tasks on Windows require that the ``-EnableTaskIAMRole`` option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code to use the feature. For more information, see [Windows IAM roles for tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) in the *Amazon Elastic Container Service Developer Guide*.", - "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the IAMlong role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see [Amazon ECS Task Role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide*.\n IAM roles for tasks on Windows require that the ``-EnableTaskIAMRole`` option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code to use the feature. For more information, see [Windows IAM roles for tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "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*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "RuntimePlatform": { + "description": "The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.", + "$ref": "#/definitions/RuntimePlatform", + "markdownDescription": "The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + }, + "ProxyConfiguration": { + "description": "The configuration details for the App Mesh proxy.\n Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, 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*.", + "$ref": "#/definitions/ProxyConfiguration", + "markdownDescription": "The configuration details for the App Mesh proxy.\n Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, 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\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" }, "Volumes": { - "type": "array", - "insertionOrder": false, "uniqueItems": true, + "description": "The list of data volume definitions for the task. For more information, see [Using data volumes in tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html) in the *Amazon Elastic Container Service Developer Guide*.\n The ``host`` and ``sourcePath`` parameters aren't supported for tasks run on FARGATElong.", + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Volume" }, - "description": "The list of data volume definitions for the task. For more information, see [Using data volumes in tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html) in the *Amazon Elastic Container Service Developer Guide*.\n The ``host`` and ``sourcePath`` parameters aren't supported for tasks run on FARGATElong.", "markdownDescription": "The list of data volume definitions for the task. For more information, see [Using data volumes in tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html) in the *Amazon Elastic Container Service Developer Guide*.\n The ``host`` and ``sourcePath`` parameters aren't supported for tasks run on FARGATElong.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, - "PidMode": { - "type": "string", - "description": "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. For more information, see [PID settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#pid-settings---pid) in the *Docker run reference*.\n If the ``host`` PID mode is used, there's a heightened risk of undesired process namespace exposure. For more information, see [Docker security](https://docs.aws.amazon.com/https://docs.docker.com/engine/security/security/).\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.", - "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. For more information, see [PID settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#pid-settings---pid) in the *Docker run reference*.\n If the ``host`` PID mode is used, there's a heightened risk of undesired process namespace exposure. For more information, see [Docker security](https://docs.aws.amazon.com/https://docs.docker.com/engine/security/security/).\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" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform", - "description": "The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type. \n When you specify a task definition in a service, this value must match the ``runtimePlatform`` value of the service.", - "markdownDescription": "The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type. \n When you specify a task definition in a service, this value must match the ``runtimePlatform`` value of the service.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "ContainerDefinitions": { + "uniqueItems": true, + "description": "A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container 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*.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/ContainerDefinition" + }, + "markdownDescription": "A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container 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\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, - "IpcMode": { + "Family": { + "description": "The name of a family that this task definition is registered to. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.\n A family groups multiple versions of a task definition. Amazon ECS gives the first task definition that you registered to a family a revision number of 1. Amazon ECS gives sequential revision numbers to each task definition that you add.\n To use revision numbers when you update a task definition, specify this property. If you don't specify a value, CFNlong generates a new task definition each time that you update it.", "type": "string", - "description": "The IPC resource namespace to use for the containers in the task. The valid values are ``host``, ``task``, or ``none``. If ``host`` is specified, then all containers within the tasks that specified the ``host`` IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If ``task`` is specified, all containers within the specified task share the same IPC resources. If ``none`` is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see [IPC settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) in the *Docker run reference*.\n If the ``host`` IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see [Docker security](https://docs.aws.amazon.com/https://docs.docker.com/engine/security/security/).\n If you are setting namespaced kernel parameters using ``systemControls`` for the containers in the task, the following will apply to your IPC resource namespace. For more information, see [System Controls](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that use the ``host`` IPC mode, IPC namespace related ``systemControls`` are not supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace related ``systemControls`` will apply to all containers within a task.\n \n This parameter is not supported for Windows containers or tasks run on FARGATElong.", - "markdownDescription": "The IPC resource namespace to use for the containers in the task. The valid values are ``host``, ``task``, or ``none``. If ``host`` is specified, then all containers within the tasks that specified the ``host`` IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If ``task`` is specified, all containers within the specified task share the same IPC resources. If ``none`` is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see [IPC settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) in the *Docker run reference*.\n If the ``host`` IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see [Docker security](https://docs.aws.amazon.com/https://docs.docker.com/engine/security/security/).\n If you are setting namespaced kernel parameters using ``systemControls`` for the containers in the task, the following will apply to your IPC resource namespace. For more information, see [System Controls](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that use the ``host`` IPC mode, IPC namespace related ``systemControls`` are not supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace related ``systemControls`` will apply to all containers within a task.\n \n This parameter is not supported for Windows containers or tasks run on FARGATElong.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The name of a family that this task definition is registered to. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.\n A family groups multiple versions of a task definition. Amazon ECS gives the first task definition that you registered to a family a revision number of 1. Amazon ECS gives sequential revision numbers to each task definition that you add.\n To use revision numbers when you update a task definition, specify this property. If you don't specify a value, CFNlong generates a new task definition each time that you update it.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "EphemeralStorage": { + "description": "The ephemeral storage settings to use for tasks run with the task definition.", + "$ref": "#/definitions/EphemeralStorage", + "markdownDescription": "The ephemeral storage settings to use for tasks run with the task definition.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" }, "Tags": { - "type": "array", + "description": "The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them.\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.", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Tag" }, - "description": "The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them.\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.", "markdownDescription": "The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them.\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" } }, - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" - }, - "createOnlyProperties": [ - "/properties/Family", - "/properties/ContainerDefinitions", - "/properties/Cpu", - "/properties/ExecutionRoleArn", - "/properties/InferenceAccelerators", - "/properties/Memory", - "/properties/NetworkMode", - "/properties/PlacementConstraints", - "/properties/ProxyConfiguration", - "/properties/RequiresCompatibilities", - "/properties/RuntimePlatform", - "/properties/TaskRoleArn", - "/properties/Volumes", - "/properties/PidMode", - "/properties/IpcMode", - "/properties/EphemeralStorage" - ], - "readOnlyProperties": [ - "/properties/TaskDefinitionArn" - ], - "primaryIdentifier": [ - "/properties/TaskDefinitionArn" - ], - "propertyTransform": { - "/properties/TaskRoleArn": "TaskRoleArn $OR $split(TaskRoleArn, \"role/\")[-1]" - }, - "handlers": { - "create": { - "permissions": [ - "ecs:RegisterTaskDefinition", - "ecs:DescribeTaskDefinition", - "ecs:TagResource", - "iam:GetRole", - "iam:PassRole" - ] - }, - "read": { - "permissions": [ - "ecs:DescribeTaskDefinition" - ] - }, - "update": { - "permissions": [ - "ecs:TagResource", - "ecs:UntagResource", - "ecs:ListTagsForResource", - "ecs:DescribeTaskDefinition", - "iam:GetRole", - "iam:PassRole" - ] - }, - "delete": { - "permissions": [ - "ecs:DeregisterTaskDefinition", - "ecs:DescribeTaskDefinition", - "iam:GetRole", - "iam:PassRole" - ] - }, - "list": { - "permissions": [ - "ecs:ListTaskDefinitions", - "ecs:DescribeTaskDefinition" - ] - } - }, "attributes": { "TaskDefinitionArn": { "description": "", diff --git a/server/schema/resources/aws-efs-filesystem.json b/server/schema/resources/aws-efs-filesystem.json index fa1edf52..2bba91c6 100644 --- a/server/schema/resources/aws-efs-filesystem.json +++ b/server/schema/resources/aws-efs-filesystem.json @@ -49,8 +49,8 @@ "markdownDescription": "The number of days after files were last accessed in primary storage (the Standard storage class) at which to move them to Archive storage. Metadata operations such as listing the contents of a directory don't count as file access events.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Describes a policy used by Lifecycle management that specifies when to transition files into and out of the EFS storage classes. For more information, see [Managing file system storage](https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html).\n + Each ``LifecyclePolicy`` object can have only a single transition. This means that in a request body, ``LifecyclePolicies`` must be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive``, ``TransitionToPrimaryStorageClass``.\n + See the AWS::EFS::FileSystem examples for the correct ``LifecyclePolicy`` structure. Do not use the syntax shown on this page.", - "markdownDescription": "Describes a policy used by Lifecycle management that specifies when to transition files into and out of the EFS storage classes. For more information, see [Managing file system storage](https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html).\n + Each ``LifecyclePolicy`` object can have only a single transition. This means that in a request body, ``LifecyclePolicies`` must be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive``, ``TransitionToPrimaryStorageClass``.\n + See the AWS::EFS::FileSystem examples for the correct ``LifecyclePolicy`` structure. Do not use the syntax shown on this page.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Describes a policy used by Lifecycle management that specifies when to transition files into and out of the EFS storage classes. For more information, see [Managing file system storage](https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html).\n + Each ``LifecyclePolicy`` object can have only a single transition. This means that in a request body, ``LifecyclePolicies`` must be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive``, ``TransitionToPrimaryStorageClass``.\n + See the AWS::EFS::FileSystem examples for the correct ``LifecyclePolicy`` structure. Do not use the syntax shown on this page.", + "markdownDescription": "Describes a policy used by Lifecycle management that specifies when to transition files into and out of the EFS storage classes. For more information, see [Managing file system storage](https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html).\n + Each ``LifecyclePolicy`` object can have only a single transition. This means that in a request body, ``LifecyclePolicies`` must be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive``, ``TransitionToPrimaryStorageClass``.\n + See the AWS::EFS::FileSystem examples for the correct ``LifecyclePolicy`` structure. Do not use the syntax shown on this page.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "BackupPolicy": { "type": "object", @@ -105,8 +105,8 @@ }, "AvailabilityZoneName": { "type": "string", - "description": "The AWS 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.", - "markdownDescription": "The AWS 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.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "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.", + "markdownDescription": "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.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "KmsKeyId": { "type": "string", @@ -163,8 +163,8 @@ "items": { "$ref": "#/definitions/LifecyclePolicy" }, - "description": "An array of ``LifecyclePolicy`` objects that define the file system's ``LifecycleConfiguration`` object. A ``LifecycleConfiguration`` object informs Lifecycle management of the following:\n + When to move files in the file system from primary storage to IA storage.\n + When to move files in the file system from primary storage or IA storage to Archive storage.\n + When to move files that are in IA or Archive storage to primary storage.\n \n EFS requires that each ``LifecyclePolicy`` object have only a single transition. This means that in a request body, ``LifecyclePolicies`` needs to be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive`` ``TransitionToPrimaryStorageClass``. See the example requests in the following section for more information.", - "markdownDescription": "An array of ``LifecyclePolicy`` objects that define the file system's ``LifecycleConfiguration`` object. A ``LifecycleConfiguration`` object informs Lifecycle management of the following:\n + When to move files in the file system from primary storage to IA storage.\n + When to move files in the file system from primary storage or IA storage to Archive storage.\n + When to move files that are in IA or Archive storage to primary storage.\n \n EFS requires that each ``LifecyclePolicy`` object have only a single transition. This means that in a request body, ``LifecyclePolicies`` needs to be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive`` ``TransitionToPrimaryStorageClass``. See the example requests in the following section for more information.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "An array of ``LifecyclePolicy`` objects that define the file system's ``LifecycleConfiguration`` object. A ``LifecycleConfiguration`` object informs Lifecycle management of the following:\n + When to move files in the file system from primary storage to IA storage.\n + When to move files in the file system from primary storage or IA storage to Archive storage.\n + When to move files that are in IA or Archive storage to primary storage.\n \n EFS requires that each ``LifecyclePolicy`` object have only a single transition. This means that in a request body, ``LifecyclePolicies`` needs to be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive`` ``TransitionToPrimaryStorageClass``. See the example requests in the following section for more information.", + "markdownDescription": "An array of ``LifecyclePolicy`` objects that define the file system's ``LifecycleConfiguration`` object. A ``LifecycleConfiguration`` object informs Lifecycle management of the following:\n + When to move files in the file system from primary storage to IA storage.\n + When to move files in the file system from primary storage or IA storage to Archive storage.\n + When to move files that are in IA or Archive storage to primary storage.\n \n EFS requires that each ``LifecyclePolicy`` object have only a single transition. This means that in a request body, ``LifecyclePolicies`` needs to be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive`` ``TransitionToPrimaryStorageClass``. See the example requests in the following section for more information.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "FileSystemProtection": { "$ref": "#/definitions/FileSystemProtection", @@ -173,8 +173,8 @@ }, "PerformanceMode": { "type": "string", - "description": "The Performance mode of the file system. We recommend ``generalPurpose`` performance mode for all file systems. File systems using the ``maxIO`` performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. The ``maxIO`` mode is not supported on One Zone file systems.\n Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems.\n Default is ``generalPurpose``.", - "markdownDescription": "The Performance mode of the file system. We recommend ``generalPurpose`` performance mode for all file systems. File systems using the ``maxIO`` performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. The ``maxIO`` mode is not supported on One Zone file systems.\n Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems.\n Default is ``generalPurpose``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "The performance mode of the file system. We recommend ``generalPurpose`` performance mode for all file systems. File systems using the ``maxIO`` performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. The ``maxIO`` mode is not supported on One Zone file systems.\n Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems.\n Default is ``generalPurpose``.", + "markdownDescription": "The performance mode of the file system. We recommend ``generalPurpose`` performance mode for all file systems. File systems using the ``maxIO`` performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. The ``maxIO`` mode is not supported on One Zone file systems.\n Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems.\n Default is ``generalPurpose``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "ProvisionedThroughputInMibps": { "type": "number", diff --git a/server/schema/resources/aws-eks-addon.json b/server/schema/resources/aws-eks-addon.json index 4f73000a..fe2a44bc 100644 --- a/server/schema/resources/aws-eks-addon.json +++ b/server/schema/resources/aws-eks-addon.json @@ -28,6 +28,28 @@ "Value" ], "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PodIdentityAssociation": { + "description": "A pod identity to associate with an add-on.", + "type": "object", + "additionalProperties": false, + "properties": { + "ServiceAccount": { + "type": "string", + "description": "The Kubernetes service account that the pod identity association is created for.", + "markdownDescription": "The Kubernetes service account that the pod identity association is created for.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "RoleArn": { + "type": "string", + "description": "The IAM role ARN that the pod identity association is created for.", + "markdownDescription": "The IAM role ARN that the pod identity association is created for.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:aws(-cn|-us-gov|-iso(-[a-z])?)?:iam::\\d{12}:(role)\\/* \nUpdate requires: No interruption" + } + }, + "required": [ + "ServiceAccount", + "RoleArn" + ], + "markdownDescription": "A pod identity to associate with an add-on.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -71,6 +93,16 @@ "minLength": 1, "markdownDescription": "IAM role to bind to the add-on's service account\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" }, + "PodIdentityAssociations": { + "description": "An array of pod identities to apply to this add-on.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PodIdentityAssociation" + }, + "markdownDescription": "An array of pod identities to apply to this add-on.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "ConfigurationValues": { "description": "The configuration values to use with the add-on", "type": "string", @@ -113,7 +145,8 @@ ], "writeOnlyProperties": [ "/properties/ResolveConflicts", - "/properties/PreserveOnDelete" + "/properties/PreserveOnDelete", + "/properties/PodIdentityAssociations" ], "handlers": { "create": { @@ -121,7 +154,9 @@ "eks:CreateAddon", "eks:DescribeAddon", "eks:TagResource", - "iam:PassRole" + "iam:PassRole", + "iam:GetRole", + "eks:CreatePodIdentityAssociation" ] }, "read": { @@ -132,7 +167,8 @@ "delete": { "permissions": [ "eks:DeleteAddon", - "eks:DescribeAddon" + "eks:DescribeAddon", + "eks:DeletePodIdentityAssociation" ] }, "list": { @@ -153,12 +189,15 @@ "update": { "permissions": [ "iam:PassRole", + "iam:GetRole", "eks:UpdateAddon", "eks:DescribeAddon", "eks:DescribeUpdate", "eks:ListTagsForResource", "eks:TagResource", - "eks:UntagResource" + "eks:UntagResource", + "eks:CreatePodIdentityAssociation", + "eks:DeletePodIdentityAssociation" ] } }, diff --git a/server/schema/resources/aws-eks-cluster.json b/server/schema/resources/aws-eks-cluster.json index 1b0ead11..b4c7acd8 100644 --- a/server/schema/resources/aws-eks-cluster.json +++ b/server/schema/resources/aws-eks-cluster.json @@ -319,6 +319,11 @@ "$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 addons when the cluster is created.", + "type": "boolean", + "markdownDescription": "Set this value to false to avoid creating the default networking addons when the cluster is created.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" } }, "tagging": { @@ -342,7 +347,8 @@ "/properties/KubernetesNetworkConfig", "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", "/properties/Name", - "/properties/RoleArn" + "/properties/RoleArn", + "/properties/BootstrapSelfManagedAddons" ], "readOnlyProperties": [ "/properties/Id", @@ -355,7 +361,8 @@ "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" ], "writeOnlyProperties": [ - "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/BootstrapSelfManagedAddons" ], "handlers": { "create": { diff --git a/server/schema/resources/aws-elasticache-parametergroup.json b/server/schema/resources/aws-elasticache-parametergroup.json index 390792fa..6972aa38 100644 --- a/server/schema/resources/aws-elasticache-parametergroup.json +++ b/server/schema/resources/aws-elasticache-parametergroup.json @@ -5,29 +5,35 @@ "properties": { "Description": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The description for this cache parameter group.", + "markdownDescription": "The description for this cache parameter group.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Properties": { "type": "object", + "additionalProperties": false, "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: No interruption" + "description": "A comma-delimited list of parameter name/value pairs. For more information see ModifyCacheParameterGroup in the Amazon ElastiCache API Reference Guide.", + "markdownDescription": "A comma-delimited list of parameter name/value pairs. For more information see ModifyCacheParameterGroup in the Amazon ElastiCache API Reference Guide.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tags": { "type": "array", - "uniqueItems": false, + "description": "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.", "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "insertionOrder": false, + "uniqueItems": false, + "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" }, "CacheParameterGroupFamily": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "description": "The name of the cache parameter group family that this cache parameter group is compatible with.", + "markdownDescription": "The name of the cache parameter group family that this cache parameter group is compatible with.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" } }, "definitions": { @@ -35,11 +41,11 @@ "type": "object", "additionalProperties": false, "properties": { - "Value": { + "Key": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Key": { + "Value": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } @@ -55,19 +61,65 @@ "Description", "CacheParameterGroupFamily" ], + "readOnlyProperties": [ + "/properties/CacheParameterGroupName" + ], "createOnlyProperties": [ "/properties/CacheParameterGroupFamily" ], "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id" + "/properties/CacheParameterGroupName" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, + "handlers": { + "create": { + "permissions": [ + "ElastiCache:CreateCacheParameterGroup", + "ElastiCache:DescribeCacheParameterGroups", + "ElastiCache:AddTagsToResource", + "ElastiCache:ModifyCacheParameterGroup" + ] + }, + "read": { + "permissions": [ + "ElastiCache:DescribeCacheParameterGroups", + "ElastiCache:DescribeCacheParameters", + "ElastiCache:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "ElastiCache:ModifyCacheParameterGroup", + "ElastiCache:DescribeCacheParameterGroups", + "ElastiCache:DescribeCacheParameters", + "ElastiCache:DescribeEngineDefaultParameters", + "ElastiCache:AddTagsToResource", + "ElastiCache:RemoveTagsFromResource" + ] + }, + "delete": { + "permissions": [ + "ElastiCache:DescribeCacheParameterGroups", + "ElastiCache:DeleteCacheParameterGroup" + ] + }, + "list": { + "permissions": [ + "ElastiCache:DescribeCacheParameterGroups" + ] + } + }, "attributes": { - "Id": { + "CacheParameterGroupName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the Cache Parameter Group.", + "markdownDescription": "The name of the Cache Parameter 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-elasticbeanstalk-environment.json b/server/schema/resources/aws-elasticbeanstalk-environment.json index 9abca7d6..14f343b2 100644 --- a/server/schema/resources/aws-elasticbeanstalk-environment.json +++ b/server/schema/resources/aws-elasticbeanstalk-environment.json @@ -38,6 +38,8 @@ "permissions": [ "elasticbeanstalk:DescribeEnvironments", "elasticbeanstalk:CreateEnvironment", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", "iam:PassRole" ], "timeoutInMinutes": 120 @@ -49,13 +51,16 @@ "elasticbeanstalk:UpdateTagsForResource", "elasticbeanstalk:AssociateEnvironmentOperationsRole", "elasticbeanstalk:DisassociateEnvironmentOperationsRole", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", "iam:PassRole" ], "timeoutInMinutes": 300 }, "list": { "permissions": [ - "elasticbeanstalk:DescribeEnvironments" + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:ListTagsForResource" ] }, "delete": { diff --git a/server/schema/resources/aws-elasticloadbalancingv2-listener.json b/server/schema/resources/aws-elasticloadbalancingv2-listener.json index d0f5f8ca..05727b81 100644 --- a/server/schema/resources/aws-elasticloadbalancingv2-listener.json +++ b/server/schema/resources/aws-elasticloadbalancingv2-listener.json @@ -1,222 +1,279 @@ { + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "typeName": "AWS::ElasticLoadBalancingV2::Listener", + "readOnlyProperties": [ + "/properties/ListenerArn" + ], "description": "Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer.", + "createOnlyProperties": [ + "/properties/LoadBalancerArn" + ], + "primaryIdentifier": [ + "/properties/ListenerArn" + ], + "required": [ + "LoadBalancerArn", + "DefaultActions" + ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticloadbalancingv2.git", - "additionalProperties": false, - "properties": { - "SslPolicy": { - "type": "string", - "description": "[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported.\n Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic.\n For more information, see [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) in the *Application Load Balancers Guide* and [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies) in the *Network Load Balancers Guide*.", - "markdownDescription": "[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported.\n Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic.\n For more information, see [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) in the *Application Load Balancers Guide* and [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies) in the *Network Load Balancers Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "LoadBalancerArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the load balancer.", - "markdownDescription": "The Amazon Resource Name (ARN) of the load balancer.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "DefaultActions": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Action" - }, - "description": "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).", - "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": { - "type": "integer", - "description": "The port on which the load balancer is listening. You cannot specify a port for a Gateway Load Balancer.", - "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" + "handlers": { + "read": { + "permissions": [ + "elasticloadbalancing:DescribeListeners" + ] }, - "Certificates": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Certificate" - }, - "description": "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).", - "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" + "create": { + "permissions": [ + "elasticloadbalancing:CreateListener", + "elasticloadbalancing:DescribeListeners", + "cognito-idp:DescribeUserPoolClient" + ] }, - "Protocol": { - "type": "string", - "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.", - "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" + "update": { + "permissions": [ + "elasticloadbalancing:ModifyListener", + "elasticloadbalancing:DescribeListeners", + "cognito-idp:DescribeUserPoolClient" + ] }, - "AlpnPolicy": { - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "description": "[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.", - "markdownDescription": "[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "list": { + "permissions": [ + "elasticloadbalancing:DescribeListeners" + ], + "handlerSchema": { + "oneOf": [ + { + "required": [ + "LoadBalancerArn" + ] + }, + { + "required": [ + "ListenerArns" + ] + } + ], + "properties": { + "LoadBalancerArn": { + "$ref": "resource-schema.json#/properties/LoadBalancerArn" + }, + "ListenerArns": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "resource-schema.json#/properties/ListenerArn" + }, + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: Array \nUpdate requires: No interruption" + } + } + } }, - "MutualAuthentication": { - "$ref": "#/definitions/MutualAuthentication", - "description": "The mutual authentication configuration information.", - "markdownDescription": "The mutual authentication configuration information.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "delete": { + "permissions": [ + "elasticloadbalancing:DeleteListener", + "elasticloadbalancing:DescribeListeners" + ] } }, + "writeOnlyProperties": [ + "/properties/DefaultActions/*/AuthenticateOidcConfig/ClientSecret" + ], + "additionalProperties": false, "definitions": { "MutualAuthentication": { - "type": "object", + "description": "Specifies the configuration information for mutual authentication.", "additionalProperties": false, + "type": "object", "properties": { + "IgnoreClientCertificateExpiry": { + "description": "Indicates whether expired client certificates are ignored.", + "type": "boolean", + "markdownDescription": "Indicates whether expired client certificates are ignored.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "Mode": { - "type": "string", "description": "The client certificate handling method. Options are ``off``, ``passthrough`` or ``verify``. The default value is ``off``.", + "type": "string", "markdownDescription": "The client certificate handling method. Options are ``off``, ``passthrough`` or ``verify``. The default value is ``off``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "TrustStoreArn": { - "type": "string", "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" - }, - "IgnoreClientCertificateExpiry": { - "type": "boolean", - "description": "Indicates whether expired client certificates are ignored.", - "markdownDescription": "Indicates whether expired client certificates are ignored.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "description": "Specifies the configuration information for mutual authentication.", "markdownDescription": "Specifies the configuration information for mutual authentication.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "FixedResponseConfig": { - "type": "object", + "description": "Specifies information required when returning a custom HTTP response.", "additionalProperties": false, + "type": "object", "properties": { "ContentType": { - "type": "string", "description": "The content type.\n Valid Values: text/plain | text/css | text/html | application/javascript | application/json", + "type": "string", "markdownDescription": "The content type.\n Valid Values: text/plain | text/css | text/html | application/javascript | application/json\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "StatusCode": { - "type": "string", "description": "The HTTP response code (2XX, 4XX, or 5XX).", + "type": "string", "markdownDescription": "The HTTP response code (2XX, 4XX, or 5XX).\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "MessageBody": { - "type": "string", "description": "The message.", + "type": "string", "markdownDescription": "The message.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ "StatusCode" ], - "description": "Specifies information required when returning a custom HTTP response.", "markdownDescription": "Specifies information required when returning a custom HTTP response.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TargetGroupTuple": { - "type": "object", + "description": "Information about how traffic will be distributed between multiple target groups in a forward rule.", "additionalProperties": false, + "type": "object", "properties": { "TargetGroupArn": { - "type": "string", + "relationshipRef": { + "typeName": "AWS::ElasticLoadBalancingV2::TargetGroup", + "propertyPath": "/properties/TargetGroupArn" + }, "description": "The Amazon Resource Name (ARN) of the target group.", + "type": "string", "markdownDescription": "The Amazon Resource Name (ARN) of the target group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Weight": { - "type": "integer", "description": "The weight. The range is 0 to 999.", + "type": "integer", "markdownDescription": "The weight. The range is 0 to 999.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "description": "Information about how traffic will be distributed between multiple target groups in a forward rule.", "markdownDescription": "Information about how traffic will be distributed between multiple target groups in a forward rule.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Action": { - "type": "object", + "description": "Specifies an action for a listener rule.", "additionalProperties": false, + "type": "object", "properties": { "Order": { - "type": "integer", "description": "The order for the action. This value is required for rules with multiple actions. The action with the lowest value for order is performed first.", + "type": "integer", "markdownDescription": "The order for the action. This value is required for rules with multiple actions. The action with the lowest value for order is performed first.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "TargetGroupArn": { - "type": "string", + "relationshipRef": { + "typeName": "AWS::ElasticLoadBalancingV2::TargetGroup", + "propertyPath": "/properties/TargetGroupArn" + }, "description": "The Amazon Resource Name (ARN) of the target group. Specify only when ``Type`` is ``forward`` and you want to route to a single target group. To route to one or more target groups, use ``ForwardConfig`` instead.", + "type": "string", "markdownDescription": "The Amazon Resource Name (ARN) of the target group. Specify only when ``Type`` is ``forward`` and you want to route to a single target group. To route to one or more target groups, use ``ForwardConfig`` instead.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "FixedResponseConfig": { - "$ref": "#/definitions/FixedResponseConfig", "description": "[Application Load Balancer] Information for creating an action that returns a custom HTTP response. Specify only when ``Type`` is ``fixed-response``.", + "$ref": "#/definitions/FixedResponseConfig", "markdownDescription": "[Application Load Balancer] Information for creating an action that returns a custom HTTP response. Specify only when ``Type`` is ``fixed-response``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AuthenticateCognitoConfig", "description": "[HTTPS listeners] Information for using Amazon Cognito to authenticate users. Specify only when ``Type`` is ``authenticate-cognito``.", + "$ref": "#/definitions/AuthenticateCognitoConfig", "markdownDescription": "[HTTPS listeners] Information for using Amazon Cognito to authenticate users. Specify only when ``Type`` is ``authenticate-cognito``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Type": { - "type": "string", "description": "The type of action.", + "type": "string", "markdownDescription": "The type of action.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "RedirectConfig": { - "$ref": "#/definitions/RedirectConfig", "description": "[Application Load Balancer] Information for creating a redirect action. Specify only when ``Type`` is ``redirect``.", + "$ref": "#/definitions/RedirectConfig", "markdownDescription": "[Application Load Balancer] Information for creating a redirect action. Specify only when ``Type`` is ``redirect``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "ForwardConfig": { - "$ref": "#/definitions/ForwardConfig", "description": "Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when ``Type`` is ``forward``. If you specify both ``ForwardConfig`` and ``TargetGroupArn``, you can specify only one target group using ``ForwardConfig`` and it must be the same target group specified in ``TargetGroupArn``.", + "$ref": "#/definitions/ForwardConfig", "markdownDescription": "Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when ``Type`` is ``forward``. If you specify both ``ForwardConfig`` and ``TargetGroupArn``, you can specify only one target group using ``ForwardConfig`` and it must be the same target group specified in ``TargetGroupArn``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "AuthenticateOidcConfig": { - "$ref": "#/definitions/AuthenticateOidcConfig", "description": "[HTTPS listeners] Information about an identity provider that is compliant with OpenID Connect (OIDC). Specify only when ``Type`` is ``authenticate-oidc``.", + "$ref": "#/definitions/AuthenticateOidcConfig", "markdownDescription": "[HTTPS listeners] Information about an identity provider that is compliant with OpenID Connect (OIDC). Specify only when ``Type`` is ``authenticate-oidc``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "Type" ], - "description": "Specifies an action for a listener rule.", "markdownDescription": "Specifies an action for a listener rule.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AuthenticateCognitoConfig": { - "type": "object", + "description": "Specifies information required when integrating with Amazon Cognito to authenticate users.", "additionalProperties": false, + "type": "object", "properties": { "OnUnauthenticatedRequest": { - "type": "string", "description": "The behavior if the user is not authenticated. The following are possible values:\n + deny```` - Return an HTTP 401 Unauthorized error.\n + allow```` - Allow the request to be forwarded to the target.\n + authenticate```` - Redirect the request to the IdP authorization endpoint. This is the default value.", + "type": "string", "markdownDescription": "The behavior if the user is not authenticated. The following are possible values:\n + deny```` - Return an HTTP 401 Unauthorized error.\n + allow```` - Allow the request to be forwarded to the target.\n + authenticate```` - Redirect the request to the IdP authorization endpoint. This is the default value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "UserPoolClientId": { - "type": "string", + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::Cognito::UserPoolClient", + "propertyPath": "/properties/UserPoolId" + } + }, + { + "relationshipRef": { + "typeName": "AWS::Cognito::UserPoolClient", + "propertyPath": "/properties/ClientId" + } + } + ], "description": "The ID of the Amazon Cognito user pool client.", + "type": "string", "markdownDescription": "The ID of the Amazon Cognito user pool client.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "UserPoolDomain": { - "type": "string", + "relationshipRef": { + "typeName": "AWS::Cognito::UserPoolDomain", + "propertyPath": "/properties/Id" + }, "description": "The domain prefix or fully-qualified domain name of the Amazon Cognito user pool.", + "type": "string", "markdownDescription": "The domain prefix or fully-qualified domain name of the Amazon Cognito user pool.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "SessionTimeout": { - "type": "string", "description": "The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).", + "type": "string", "markdownDescription": "The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Scope": { - "type": "string", "description": "The set of user claims to be requested from the IdP. The default is ``openid``.\n To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.", + "type": "string", "markdownDescription": "The set of user claims to be requested from the IdP. The default is ``openid``.\n To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SessionCookieName": { - "type": "string", "description": "The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.", + "type": "string", "markdownDescription": "The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "UserPoolArn": { - "type": "string", + "relationshipRef": { + "typeName": "AWS::Cognito::UserPool", + "propertyPath": "/properties/Arn" + }, "description": "The Amazon Resource Name (ARN) of the Amazon Cognito user pool.", + "type": "string", "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Cognito user pool.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "AuthenticationRequestExtraParams": { - "type": "object", "patternProperties": { "[a-zA-Z0-9]+": { "type": "string", @@ -224,6 +281,7 @@ } }, "description": "The query parameters (up to 10) to include in the redirect request to the authorization endpoint.", + "type": "object", "markdownDescription": "The query parameters (up to 10) to include in the redirect request to the authorization endpoint.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, @@ -232,151 +290,150 @@ "UserPoolDomain", "UserPoolArn" ], - "description": "Specifies information required when integrating with Amazon Cognito to authenticate users.", "markdownDescription": "Specifies information required when integrating with Amazon Cognito to authenticate users.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RedirectConfig": { - "type": "object", + "description": "Information about a redirect action.\n A URI consists of the following components: protocol://hostname:port/path?query. You must modify at least one of the following components to avoid a redirect loop: protocol, hostname, port, or path. Any components that you do not modify retain their original values.\n You can reuse URI components using the following reserved keywords:\n + #{protocol}\n + #{host}\n + #{port}\n + #{path} (the leading \"/\" is removed)\n + #{query}\n \n For example, you can change the path to \"/new/#{path}\", the hostname to \"example.#{host}\", or the query to \"#{query}&value=xyz\".", "additionalProperties": false, + "type": "object", "properties": { "Path": { - "type": "string", "description": "The absolute path, starting with the leading \"/\". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}.", + "type": "string", "markdownDescription": "The absolute path, starting with the leading \"/\". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Query": { - "type": "string", "description": "The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading \"?\", as it is automatically added. You can specify any of the reserved keywords.", + "type": "string", "markdownDescription": "The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading \"?\", as it is automatically added. You can specify any of the reserved keywords.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Port": { - "type": "string", "description": "The port. You can specify a value from 1 to 65535 or #{port}.", + "type": "string", "markdownDescription": "The port. You can specify a value from 1 to 65535 or #{port}.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Host": { - "type": "string", "description": "The hostname. This component is not percent-encoded. The hostname can contain #{host}.", + "type": "string", "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": { - "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.", + "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" }, "StatusCode": { - "type": "string", "description": "The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP 302).", + "type": "string", "markdownDescription": "The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP 302).\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "StatusCode" ], - "description": "Information about a redirect action.\n A URI consists of the following components: protocol://hostname:port/path?query. You must modify at least one of the following components to avoid a redirect loop: protocol, hostname, port, or path. Any components that you do not modify retain their original values.\n You can reuse URI components using the following reserved keywords:\n + #{protocol}\n + #{host}\n + #{port}\n + #{path} (the leading \"/\" is removed)\n + #{query}\n \n For example, you can change the path to \"/new/#{path}\", the hostname to \"example.#{host}\", or the query to \"#{query}&value=xyz\".", "markdownDescription": "Information about a redirect action.\n A URI consists of the following components: protocol://hostname:port/path?query. You must modify at least one of the following components to avoid a redirect loop: protocol, hostname, port, or path. Any components that you do not modify retain their original values.\n You can reuse URI components using the following reserved keywords:\n + #{protocol}\n + #{host}\n + #{port}\n + #{path} (the leading \"/\" is removed)\n + #{query}\n \n For example, you can change the path to \"/new/#{path}\", the hostname to \"example.#{host}\", or the query to \"#{query}&value=xyz\".\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TargetGroupStickinessConfig": { - "type": "object", + "description": "Information about the target group stickiness for a rule.", "additionalProperties": false, + "type": "object", "properties": { "Enabled": { - "type": "boolean", "description": "Indicates whether target group stickiness is enabled.", + "type": "boolean", "markdownDescription": "Indicates whether target group stickiness is enabled.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "DurationSeconds": { - "type": "integer", "description": "The time period, in seconds, during which requests from a client should be routed to the same target group. The range is 1-604800 seconds (7 days).", + "type": "integer", "markdownDescription": "The time period, in seconds, during which requests from a client should be routed to the same target group. The range is 1-604800 seconds (7 days).\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "description": "Information about the target group stickiness for a rule.", "markdownDescription": "Information about the target group stickiness for a rule.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ForwardConfig": { - "type": "object", + "description": "Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when ``Type`` is ``forward``. If you specify both ``ForwardConfig`` and ``TargetGroupArn``, you can specify only one target group using ``ForwardConfig`` and it must be the same target group specified in ``TargetGroupArn``.", "additionalProperties": false, + "type": "object", "properties": { "TargetGroupStickinessConfig": { - "$ref": "#/definitions/TargetGroupStickinessConfig", "description": "Information about the target group stickiness for a rule.", + "$ref": "#/definitions/TargetGroupStickinessConfig", "markdownDescription": "Information about the target group stickiness for a rule.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "TargetGroups": { - "type": "array", "uniqueItems": true, + "description": "Information about how traffic will be distributed between multiple target groups in a forward rule.", + "type": "array", "items": { "$ref": "#/definitions/TargetGroupTuple" }, - "description": "Information about how traffic will be distributed between multiple target groups in a forward rule.", "markdownDescription": "Information about how traffic will be distributed between multiple target groups in a forward rule.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "description": "Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when ``Type`` is ``forward``. If you specify both ``ForwardConfig`` and ``TargetGroupArn``, you can specify only one target group using ``ForwardConfig`` and it must be the same target group specified in ``TargetGroupArn``.", "markdownDescription": "Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when ``Type`` is ``forward``. If you specify both ``ForwardConfig`` and ``TargetGroupArn``, you can specify only one target group using ``ForwardConfig`` and it must be the same target group specified in ``TargetGroupArn``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AuthenticateOidcConfig": { - "type": "object", + "description": "Specifies information required using an identity provide (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.", "additionalProperties": false, + "type": "object", "properties": { "OnUnauthenticatedRequest": { - "type": "string", "description": "The behavior if the user is not authenticated. The following are possible values:\n + deny```` - Return an HTTP 401 Unauthorized error.\n + allow```` - Allow the request to be forwarded to the target.\n + authenticate```` - Redirect the request to the IdP authorization endpoint. This is the default value.", + "type": "string", "markdownDescription": "The behavior if the user is not authenticated. The following are possible values:\n + deny```` - Return an HTTP 401 Unauthorized error.\n + allow```` - Allow the request to be forwarded to the target.\n + authenticate```` - Redirect the request to the IdP authorization endpoint. This is the default value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "TokenEndpoint": { - "type": "string", "description": "The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.", + "type": "string", "markdownDescription": "The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, + "UseExistingClientSecret": { + "description": "Indicates whether to use the existing client secret when modifying a rule. If you are creating a rule, you can omit this parameter or set it to false.", + "type": "boolean", + "markdownDescription": "Indicates whether to use the existing client secret when modifying a rule. If you are creating a rule, you can omit this parameter or set it to false.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "SessionTimeout": { - "type": "string", "description": "The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).", + "type": "string", "markdownDescription": "The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Scope": { - "type": "string", "description": "The set of user claims to be requested from the IdP. The default is ``openid``.\n To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.", + "type": "string", "markdownDescription": "The set of user claims to be requested from the IdP. The default is ``openid``.\n To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Issuer": { - "type": "string", "description": "The OIDC issuer identifier of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.", + "type": "string", "markdownDescription": "The OIDC issuer identifier of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "ClientSecret": { - "type": "string", "description": "The OAuth 2.0 client secret. This parameter is required if you are creating a rule. If you are modifying a rule, you can omit this parameter if you set ``UseExistingClientSecret`` to true.", + "type": "string", "markdownDescription": "The OAuth 2.0 client secret. This parameter is required if you are creating a rule. If you are modifying a rule, you can omit this parameter if you set ``UseExistingClientSecret`` to true.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "UserInfoEndpoint": { - "type": "string", "description": "The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.", + "type": "string", "markdownDescription": "The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "ClientId": { - "type": "string", "description": "The OAuth 2.0 client identifier.", + "type": "string", "markdownDescription": "The OAuth 2.0 client identifier.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "AuthorizationEndpoint": { - "type": "string", "description": "The authorization endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.", + "type": "string", "markdownDescription": "The authorization endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "SessionCookieName": { - "type": "string", "description": "The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.", + "type": "string", "markdownDescription": "The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "UseExistingClientSecret": { - "type": "boolean", - "description": "Indicates whether to use the existing client secret when modifying a rule. If you are creating a rule, you can omit this parameter or set it to false.", - "markdownDescription": "Indicates whether to use the existing client secret when modifying a rule. If you are creating a rule, you can omit this parameter or set it to false.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, "AuthenticationRequestExtraParams": { - "type": "object", "patternProperties": { "[a-zA-Z0-9]+": { "type": "string", @@ -384,6 +441,7 @@ } }, "description": "The query parameters (up to 10) to include in the redirect request to the authorization endpoint.", + "type": "object", "markdownDescription": "The query parameters (up to 10) to include in the redirect request to the authorization endpoint.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, @@ -394,108 +452,94 @@ "ClientId", "AuthorizationEndpoint" ], - "description": "Specifies information required using an identity provide (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.", "markdownDescription": "Specifies information required using an identity provide (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Certificate": { - "type": "object", + "description": "Specifies an SSL server certificate to use as the default certificate for a secure listener.", "additionalProperties": false, + "type": "object", "properties": { "CertificateArn": { - "type": "string", + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::CertificateManager::Certificate", + "propertyPath": "/properties/Id" + } + }, + { + "relationshipRef": { + "typeName": "AWS::IAM::ServerCertificate", + "propertyPath": "/properties/Arn" + } + } + ], "description": "The Amazon Resource Name (ARN) of the certificate.", + "type": "string", "markdownDescription": "The Amazon Resource Name (ARN) of the certificate.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Specifies an SSL server certificate to use as the default certificate for a secure listener.", "markdownDescription": "Specifies an SSL server certificate to use as the default certificate for a secure listener.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "required": [ - "LoadBalancerArn", - "DefaultActions" - ], - "createOnlyProperties": [ - "/properties/LoadBalancerArn" - ], - "primaryIdentifier": [ - "/properties/ListenerArn" - ], - "readOnlyProperties": [ - "/properties/ListenerArn" - ], - "writeOnlyProperties": [ - "/properties/DefaultActions/*/AuthenticateOidcConfig/ClientSecret" - ], - "tagging": { - "taggable": false, - "tagOnCreate": false, - "tagUpdatable": false, - "cloudFormationSystemTags": false - }, - "handlers": { - "create": { - "permissions": [ - "elasticloadbalancing:CreateListener", - "elasticloadbalancing:DescribeListeners", - "cognito-idp:DescribeUserPoolClient" - ] + "properties": { + "MutualAuthentication": { + "description": "The mutual authentication configuration information.", + "$ref": "#/definitions/MutualAuthentication", + "markdownDescription": "The mutual authentication configuration information.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "elasticloadbalancing:DeleteListener", - "elasticloadbalancing:DescribeListeners" - ] + "AlpnPolicy": { + "description": "[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.", + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "list": { - "handlerSchema": { - "properties": { - "LoadBalancerArn": { - "$ref": "resource-schema.json#/properties/LoadBalancerArn" - }, - "ListenerArns": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "resource-schema.json#/properties/ListenerArn" - }, - "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: Array \nUpdate requires: No interruption" - } - }, - "oneOf": [ - { - "required": [ - "LoadBalancerArn" - ] - }, - { - "required": [ - "ListenerArns" - ] - } - ] + "SslPolicy": { + "description": "[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported.\n Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic.\n For more information, see [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) in the *Application Load Balancers Guide* and [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies) in the *Network Load Balancers Guide*.", + "type": "string", + "markdownDescription": "[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported.\n Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic.\n For more information, see [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) in the *Application Load Balancers Guide* and [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies) in the *Network Load Balancers Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LoadBalancerArn": { + "description": "The Amazon Resource Name (ARN) of the load balancer.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the load balancer.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "DefaultActions": { + "uniqueItems": true, + "description": "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).", + "type": "array", + "items": { + "$ref": "#/definitions/Action" }, - "permissions": [ - "elasticloadbalancing:DescribeListeners" - ] + "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" }, - "read": { - "permissions": [ - "elasticloadbalancing:DescribeListeners" - ] + "Port": { + "description": "The port on which the load balancer is listening. You cannot 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" }, - "update": { - "permissions": [ - "elasticloadbalancing:ModifyListener", - "elasticloadbalancing:DescribeListeners", - "cognito-idp:DescribeUserPoolClient" - ] + "Certificates": { + "uniqueItems": true, + "description": "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).", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + }, + "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.", + "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" } }, "attributes": { "ListenerArn": { - "type": "string", "description": "", + "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-elasticloadbalancingv2-loadbalancer.json b/server/schema/resources/aws-elasticloadbalancingv2-loadbalancer.json index 7cbf2018..0f71c263 100644 --- a/server/schema/resources/aws-elasticloadbalancingv2-loadbalancer.json +++ b/server/schema/resources/aws-elasticloadbalancingv2-loadbalancer.json @@ -1,246 +1,246 @@ { - "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", - "additionalProperties": false, - "properties": { - "IpAddressType": { - "type": "string", - "description": "The IP address type. The possible values are ``ipv4`` (for 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.", - "markdownDescription": "The IP address type. The possible values are ``ipv4`` (for 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\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "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" - }, - "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" - }, - "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 cannot 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 cannot 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] You can specify subnets from one or more Availability Zones.\n [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] 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" + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false + }, + "handlers": { + "read": { + "permissions": [ + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:DescribeLoadBalancerAttributes", + "elasticloadbalancing:DescribeTags" + ] }, - "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" + "create": { + "permissions": [ + "elasticloadbalancing:CreateLoadBalancer", + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:ModifyLoadBalancerAttributes", + "elasticloadbalancing:AddTags" + ], + "timeoutInMinutes": 30 }, - "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" + "update": { + "permissions": [ + "elasticloadbalancing:ModifyLoadBalancerAttributes", + "elasticloadbalancing:SetSubnets", + "elasticloadbalancing:SetIpAddressType", + "elasticloadbalancing:SetSecurityGroups", + "elasticloadbalancing:AddTags", + "elasticloadbalancing:RemoveTags" + ] }, - "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 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.", - "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 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" + "list": { + "permissions": [ + "elasticloadbalancing:DescribeLoadBalancers" + ] }, - "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" + "delete": { + "permissions": [ + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:DeleteLoadBalancer" + ] } }, + "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": { - "type": "object", + "description": "Specifies a subnet for a load balancer.", "additionalProperties": false, + "type": "object", "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": { - "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" - }, - "PrivateIPv4Address": { "type": "string", - "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" + "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": { - "type": "string", "description": "[Network Load Balancers] The IPv6 address.", + "type": "string", "markdownDescription": "[Network Load Balancers] The IPv6 address.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SubnetId": { + "description": "The ID of the subnet.", + "type": "string", + "markdownDescription": "The ID of the subnet.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "PrivateIPv4Address": { + "description": "[Network Load Balancers] The private IPv4 address for an internal load balancer.", + "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" } }, "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": { - "type": "object", + "description": "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.", "additionalProperties": false, + "type": "object", "properties": { "Value": { - "type": "string", "description": "The value of the attribute.", + "type": "string", "markdownDescription": "The value of the attribute.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Key": { - "type": "string", "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": "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": { - "type": "object", + "description": "Information about a tag.", "additionalProperties": false, + "type": "object", "properties": { "Value": { - "type": "string", "description": "The value of the tag.", + "type": "string", "markdownDescription": "The value of the tag.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Key": { - "type": "string", "description": "The key of the tag.", + "type": "string", "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" } }, - "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" - }, - "handlers": { - "create": { - "permissions": [ - "elasticloadbalancing:CreateLoadBalancer", - "elasticloadbalancing:DescribeLoadBalancers", - "elasticloadbalancing:ModifyLoadBalancerAttributes", - "elasticloadbalancing:AddTags" - ], - "timeoutInMinutes": 30 + "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 [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 [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" }, - "delete": { - "permissions": [ - "elasticloadbalancing:DescribeLoadBalancers", - "elasticloadbalancing:DeleteLoadBalancer" - ] + "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" }, - "list": { - "permissions": [ - "elasticloadbalancing:DescribeLoadBalancers" - ] + "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" }, - "read": { - "permissions": [ - "elasticloadbalancing:DescribeLoadBalancers", - "elasticloadbalancing:DescribeLoadBalancerAttributes", - "elasticloadbalancing:DescribeTags" - ] + "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" }, - "update": { - "permissions": [ - "elasticloadbalancing:ModifyLoadBalancerAttributes", - "elasticloadbalancing:SetSubnets", - "elasticloadbalancing:SetIpAddressType", - "elasticloadbalancing:SetSecurityGroups", - "elasticloadbalancing:AddTags", - "elasticloadbalancing:RemoveTags" - ] + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" } }, "attributes": { "DNSName": { - "type": "string", "description": "", + "type": "string", "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": { - "type": "string", "description": "", + "type": "string", "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-emrserverless-application.json b/server/schema/resources/aws-emrserverless-application.json index 69108fb6..de684988 100644 --- a/server/schema/resources/aws-emrserverless-application.json +++ b/server/schema/resources/aws-emrserverless-application.json @@ -224,6 +224,11 @@ "description": "Per worker Disk resource. GB is the only supported unit and specifying GB is optional", "$ref": "#/definitions/DiskSize", "markdownDescription": "Per worker Disk resource. GB is the only supported unit and specifying GB is optional\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "DiskType": { + "description": "Per worker DiskType resource. Shuffle optimized and Standard are only supported types and specifying diskType is optional", + "$ref": "#/definitions/DiskType", + "markdownDescription": "Per worker DiskType resource. Shuffle optimized and Standard are only supported types and specifying diskType is optional\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -475,6 +480,11 @@ "maxLength": 15, "markdownDescription": "Per worker Disk resource. GB is the only supported unit and specifying GB is optional\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 15 \nPattern: ^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$ \nUpdate requires: No interruption" }, + "DiskType": { + "description": "Per worker DiskType resource. Shuffle optimized and Standard are only supported types and specifying diskType is optional", + "type": "string", + "markdownDescription": "Per worker DiskType resource. Shuffle optimized and Standard are only supported types and specifying diskType is optional\n\n---\n\nRequired: No \nType: String \nPattern: ^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$ \nUpdate requires: No interruption" + }, "WorkerTypeSpecificationInput": { "type": "object", "description": "The specifications for a worker type.", @@ -601,22 +611,32 @@ ], "tagging": { "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, "cloudFormationSystemTags": false, "tagProperty": "/properties/Tags" }, "handlers": { "create": { "permissions": [ - "kms:Create*", - "kms:Describe*", - "kms:Enable*", - "kms:List*", - "kms:Put*", - "kms:Update*", - "kms:Revoke*", - "kms:Disable*", - "kms:Get*", - "kms:Delete*", + "kms:CreateKey", + "kms:CreateAlias", + "kms:DescribeKey", + "kms:EnableKey", + "kms:ListGrants", + "kms:ListAliases", + "kms:ListKeyPolicies", + "kms:ListKeys", + "kms:PutKeyPolicy", + "kms:UpdateKeyDescription", + "kms:UpdateAlias", + "kms:UpdatePrimaryRegion", + "kms:RevokeGrant", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:DeleteAlias", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion", "kms:GenerateDataKey", @@ -648,16 +668,24 @@ "ecr:BatchGetImage", "ecr:DescribeImages", "ecr:GetDownloadUrlForLayer", - "kms:Create*", - "kms:Describe*", - "kms:Enable*", - "kms:List*", - "kms:Put*", - "kms:Update*", - "kms:Revoke*", - "kms:Disable*", - "kms:Get*", - "kms:Delete*", + "kms:CreateKey", + "kms:CreateAlias", + "kms:DescribeKey", + "kms:EnableKey", + "kms:ListGrants", + "kms:ListAliases", + "kms:ListKeyPolicies", + "kms:ListKeys", + "kms:PutKeyPolicy", + "kms:UpdateKeyDescription", + "kms:UpdateAlias", + "kms:UpdatePrimaryRegion", + "kms:RevokeGrant", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:DeleteAlias", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion", "kms:GenerateDataKey", @@ -682,7 +710,7 @@ "Arn": { "description": "The Amazon Resource Name (ARN) of the EMR Serverless Application.", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the EMR Serverless Application.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the EMR Serverless Application.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$ \nUpdate requires: No interruption" }, "ApplicationId": { "description": "The ID of the EMR Serverless Application.", diff --git a/server/schema/resources/aws-entityresolution-idmappingworkflow.json b/server/schema/resources/aws-entityresolution-idmappingworkflow.json index 8500951c..31c8fb3f 100644 --- a/server/schema/resources/aws-entityresolution-idmappingworkflow.json +++ b/server/schema/resources/aws-entityresolution-idmappingworkflow.json @@ -49,9 +49,9 @@ "type": "object", "properties": { "InputSourceARN": { - "description": "An Glue table ARN for the input source table or IdNamespace ARN", + "description": "An Glue table ARN for the input source table, MatchingWorkflow arn or IdNamespace ARN", "type": "string", - "markdownDescription": "An Glue table ARN for the input source table or IdNamespace ARN\n\n---\n\nRequired: Yes \nType: String \nPattern: arn:(aws|aws-us-gov|aws-cn):.*:.*:[0-9]+:.*$ \nUpdate requires: No interruption" + "markdownDescription": "An Glue table ARN for the input source table, MatchingWorkflow arn or IdNamespace ARN\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(idnamespace/[a-zA-Z_0-9-]{1,255})$|^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(matchingworkflow/[a-zA-Z_0-9-]{1,255})$|^arn:(aws|aws-us-gov|aws-cn):glue:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(table/[a-zA-Z_0-9-]{1,255}/[a-zA-Z_0-9-]{1,255})$ \nUpdate requires: No interruption" }, "SchemaArn": { "type": "string", @@ -97,9 +97,17 @@ "IdMappingType": { "type": "string", "enum": [ - "PROVIDER" + "PROVIDER", + "RULE_BASED" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PROVIDER \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PROVIDER | RULE_BASED \nUpdate requires: No interruption" + }, + "NormalizationVersion": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RuleBasedProperties": { + "$ref": "#/definitions/IdMappingRuleBasedProperties" }, "ProviderProperties": { "$ref": "#/definitions/ProviderProperties" @@ -108,6 +116,78 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "IdMappingRuleBasedProperties": { + "type": "object", + "properties": { + "Rules": { + "type": "array", + "insertionOrder": false, + "minItems": 1, + "maxItems": 25, + "items": { + "$ref": "#/definitions/Rule" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RuleDefinitionType": { + "type": "string", + "enum": [ + "SOURCE", + "TARGET" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SOURCE | TARGET \nUpdate requires: No interruption" + }, + "AttributeMatchingModel": { + "type": "string", + "enum": [ + "ONE_TO_ONE", + "MANY_TO_MANY" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ONE_TO_ONE | MANY_TO_MANY \nUpdate requires: No interruption" + }, + "RecordMatchingModel": { + "type": "string", + "enum": [ + "ONE_SOURCE_TO_ONE_TARGET", + "MANY_SOURCE_TO_ONE_TARGET" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ONE_SOURCE_TO_ONE_TARGET | MANY_SOURCE_TO_ONE_TARGET \nUpdate requires: No interruption" + } + }, + "required": [ + "AttributeMatchingModel", + "RecordMatchingModel" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Rule": { + "type": "object", + "properties": { + "RuleName": { + "type": "string", + "minLength": 0, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 255 \nPattern: ^[a-zA-Z_0-9- \\t]*$ \nUpdate requires: No interruption" + }, + "MatchingKeys": { + "type": "array", + "insertionOrder": false, + "minItems": 1, + "maxItems": 15, + "items": { + "$ref": "#/definitions/AttributeName" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "RuleName", + "MatchingKeys" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ProviderProperties": { "type": "object", "properties": { diff --git a/server/schema/resources/aws-entityresolution-idnamespace.json b/server/schema/resources/aws-entityresolution-idnamespace.json index df031b3b..f9e86db2 100644 --- a/server/schema/resources/aws-entityresolution-idnamespace.json +++ b/server/schema/resources/aws-entityresolution-idnamespace.json @@ -9,6 +9,12 @@ "maxLength": 255, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z_0-9-]*$ \nUpdate requires: No interruption" }, + "AttributeName": { + "type": "string", + "minLength": 0, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nPattern: ^[a-zA-Z_0-9- \\t]*$ \nUpdate requires: No interruption" + }, "IdNamespaceInputSource": { "type": "object", "properties": { @@ -32,9 +38,13 @@ "IdMappingType": { "type": "string", "enum": [ - "PROVIDER" + "PROVIDER", + "RULE_BASED" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: PROVIDER \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: PROVIDER | RULE_BASED \nUpdate requires: No interruption" + }, + "RuleBasedProperties": { + "$ref": "#/definitions/NamespaceRuleBasedProperties" }, "ProviderProperties": { "$ref": "#/definitions/NamespaceProviderProperties" @@ -46,6 +56,90 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "NamespaceRuleBasedProperties": { + "type": "object", + "properties": { + "Rules": { + "type": "array", + "insertionOrder": false, + "minItems": 1, + "maxItems": 25, + "items": { + "$ref": "#/definitions/Rule" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RuleDefinitionTypes": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RuleDefinitionType" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AttributeMatchingModel": { + "type": "string", + "enum": [ + "ONE_TO_ONE", + "MANY_TO_MANY" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ONE_TO_ONE | MANY_TO_MANY \nUpdate requires: No interruption" + }, + "RecordMatchingModels": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RecordMatchingModel" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RecordMatchingModel": { + "type": "string", + "enum": [ + "ONE_SOURCE_TO_ONE_TARGET", + "MANY_SOURCE_TO_ONE_TARGET" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ONE_SOURCE_TO_ONE_TARGET | MANY_SOURCE_TO_ONE_TARGET \nUpdate requires: No interruption" + }, + "RuleDefinitionType": { + "type": "string", + "enum": [ + "SOURCE", + "TARGET" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SOURCE | TARGET \nUpdate requires: No interruption" + }, + "Rule": { + "type": "object", + "properties": { + "RuleName": { + "type": "string", + "minLength": 0, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 255 \nPattern: ^[a-zA-Z_0-9- \\t]*$ \nUpdate requires: No interruption" + }, + "MatchingKeys": { + "type": "array", + "insertionOrder": false, + "minItems": 1, + "maxItems": 25, + "items": { + "$ref": "#/definitions/AttributeName" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "RuleName", + "MatchingKeys" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NamespaceProviderProperties": { "type": "object", "properties": { diff --git a/server/schema/resources/aws-entityresolution-matchingworkflow.json b/server/schema/resources/aws-entityresolution-matchingworkflow.json index 4dc99d96..bdc964e2 100644 --- a/server/schema/resources/aws-entityresolution-matchingworkflow.json +++ b/server/schema/resources/aws-entityresolution-matchingworkflow.json @@ -120,17 +120,20 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ResolutionType": { + "type": "string", + "enum": [ + "RULE_MATCHING", + "ML_MATCHING", + "PROVIDER" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: RULE_MATCHING | ML_MATCHING | PROVIDER \nUpdate requires: No interruption" + }, "ResolutionTechniques": { "type": "object", "properties": { "ResolutionType": { - "type": "string", - "enum": [ - "RULE_MATCHING", - "ML_MATCHING", - "PROVIDER" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: RULE_MATCHING | ML_MATCHING | PROVIDER \nUpdate requires: No interruption" + "$ref": "#/definitions/ResolutionType" }, "RuleBasedProperties": { "$ref": "#/definitions/RuleBasedProperties" @@ -162,6 +165,14 @@ "MANY_TO_MANY" ], "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ONE_TO_ONE | MANY_TO_MANY \nUpdate requires: No interruption" + }, + "MatchPurpose": { + "type": "string", + "enum": [ + "IDENTIFIER_GENERATION", + "INDEXING" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: IDENTIFIER_GENERATION | INDEXING \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-entityresolution-schemamapping.json b/server/schema/resources/aws-entityresolution-schemamapping.json index 316fe493..aa8c7c50 100644 --- a/server/schema/resources/aws-entityresolution-schemamapping.json +++ b/server/schema/resources/aws-entityresolution-schemamapping.json @@ -57,6 +57,10 @@ "insertionOrder": false, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "Hashed": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "SchemaInputAttribute": { "type": "object", "properties": { @@ -76,6 +80,9 @@ }, "MatchKey": { "$ref": "#/definitions/AttributeName" + }, + "Hashed": { + "$ref": "#/definitions/Hashed" } }, "required": [ diff --git a/server/schema/resources/aws-events-eventbus.json b/server/schema/resources/aws-events-eventbus.json index ce91220f..fba31350 100644 --- a/server/schema/resources/aws-events-eventbus.json +++ b/server/schema/resources/aws-events-eventbus.json @@ -22,6 +22,16 @@ }, "markdownDescription": "Any tags assigned to the event bus.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "Description": { + "description": "The description of the event bus.", + "type": "string", + "markdownDescription": "The description of the event bus.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "KmsKeyIdentifier": { + "description": "Kms Key Identifier used to encrypt events at rest in the event bus.", + "type": "string", + "markdownDescription": "Kms Key Identifier used to encrypt events at rest in the event bus.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "Policy": { "description": "A JSON string that describes the permission policy statement for the event bus.", "type": [ @@ -29,6 +39,18 @@ "string" ], "markdownDescription": "A JSON string that describes the permission policy statement for the event bus.\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + }, + "DeadLetterConfig": { + "description": "Dead Letter Queue for the event bus.", + "type": "object", + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Dead Letter Queue for the event bus.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "tagging": { @@ -61,7 +83,10 @@ "events:DescribeEventBus", "events:PutPermission", "events:ListTagsForResource", - "events:TagResource" + "events:TagResource", + "kms:DescribeKey", + "kms:GenerateDataKey", + "kms:Decrypt" ] }, "read": { @@ -75,12 +100,20 @@ "events:TagResource", "events:UntagResource", "events:PutPermission", - "events:DescribeEventBus" + "events:DescribeEventBus", + "events:UpdateEventBus", + "kms:DescribeKey", + "kms:GenerateDataKey", + "kms:Decrypt" ] }, "delete": { "permissions": [ "events:DescribeEventBus", + "events:UpdateEventBus", + "events:ListTagsForResource", + "events:UntagResource", + "events:RemovePermission", "events:DeleteEventBus" ] }, diff --git a/server/schema/resources/aws-fis-experimenttemplate.json b/server/schema/resources/aws-fis-experimenttemplate.json index 4ab65a0c..790ab923 100644 --- a/server/schema/resources/aws-fis-experimenttemplate.json +++ b/server/schema/resources/aws-fis-experimenttemplate.json @@ -400,6 +400,17 @@ "/properties/Tags", "/properties/ExperimentOptions/AccountTargeting" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "permissions": [ + "fis:TagResource", + "fis:UntagResource", + "fis:ListTagsForResource" + ] + }, "primaryIdentifier": [ "/properties/Id" ], diff --git a/server/schema/resources/aws-fms-policy.json b/server/schema/resources/aws-fms-policy.json index f21e8197..3a7004d2 100644 --- a/server/schema/resources/aws-fms-policy.json +++ b/server/schema/resources/aws-fms-policy.json @@ -136,6 +136,147 @@ ], "markdownDescription": "Firewall deployment mode.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISTRIBUTED | CENTRALIZED \nUpdate requires: No interruption" }, + "NetworkAclEntry": { + "description": "Network ACL entry.", + "type": "object", + "properties": { + "CidrBlock": { + "description": "CIDR block.", + "type": "string", + "markdownDescription": "CIDR block.\n\n---\n\nRequired: No \nType: String \nPattern: ^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$ \nUpdate requires: No interruption" + }, + "Egress": { + "description": "Whether the entry is an egress entry.", + "type": "boolean", + "markdownDescription": "Whether the entry is an egress entry.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + }, + "IcmpTypeCode": { + "description": "ICMP type and code.", + "type": "object", + "properties": { + "Code": { + "description": "Code.", + "type": "integer", + "minimum": 0, + "maximum": 255, + "markdownDescription": "Code.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "Type": { + "description": "Type.", + "type": "integer", + "minimum": 0, + "maximum": 255, + "markdownDescription": "Type.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Code", + "Type" + ], + "markdownDescription": "ICMP type and code.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Ipv6CidrBlock": { + "type": "string", + "description": "IPv6 CIDR block.", + "markdownDescription": "IPv6 CIDR block.\n\n---\n\nRequired: No \nType: String \nPattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(/(1[0-2]|[0-9]))?$ \nUpdate requires: No interruption" + }, + "PortRange": { + "type": "object", + "description": "Port range.", + "properties": { + "From": { + "description": "From Port.", + "type": "integer", + "minimum": 0, + "maximum": 65535, + "markdownDescription": "From Port.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "To": { + "description": "To Port.", + "type": "integer", + "minimum": 0, + "maximum": 65535, + "markdownDescription": "To Port.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "From", + "To" + ], + "markdownDescription": "Port range.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Protocol": { + "description": "Protocol.", + "type": "string", + "markdownDescription": "Protocol.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(tcp|udp|icmp|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$ \nUpdate requires: No interruption" + }, + "RuleAction": { + "description": "Rule Action.", + "type": "string", + "enum": [ + "allow", + "deny" + ], + "markdownDescription": "Rule Action.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: allow | deny \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Egress", + "Protocol", + "RuleAction" + ], + "markdownDescription": "Network ACL entry.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NetworkAclEntryList": { + "description": "NetworkAcl entry list.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkAclEntry" + }, + "insertionOrder": true, + "markdownDescription": "NetworkAcl entry list.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "NetworkAclEntrySet": { + "description": "Network ACL entry set.", + "type": "object", + "properties": { + "FirstEntries": { + "$ref": "#/definitions/NetworkAclEntryList" + }, + "ForceRemediateForFirstEntries": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: Boolean \nUpdate requires: No interruption" + }, + "LastEntries": { + "$ref": "#/definitions/NetworkAclEntryList" + }, + "ForceRemediateForLastEntries": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: Boolean \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "ForceRemediateForFirstEntries", + "ForceRemediateForLastEntries" + ], + "anyOf": [ + { + "required": [ + "FirstEntries" + ] + }, + { + "required": [ + "LastEntries" + ] + } + ], + "markdownDescription": "Network ACL entry set.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ManagedServiceData": { "description": "Firewall managed service data.", "type": "string", @@ -156,9 +297,10 @@ "NETWORK_FIREWALL", "THIRD_PARTY_FIREWALL", "DNS_FIREWALL", - "IMPORT_NETWORK_FIREWALL" + "IMPORT_NETWORK_FIREWALL", + "NETWORK_ACL_COMMON" ], - "markdownDescription": "Firewall policy type.\n\n---\n\nRequired: No \nType: String \nAllowed Values: WAF | WAFV2 | SHIELD_ADVANCED | SECURITY_GROUPS_COMMON | SECURITY_GROUPS_CONTENT_AUDIT | SECURITY_GROUPS_USAGE_AUDIT | NETWORK_FIREWALL | THIRD_PARTY_FIREWALL | DNS_FIREWALL | IMPORT_NETWORK_FIREWALL \nUpdate requires: No interruption" + "markdownDescription": "Firewall policy type.\n\n---\n\nRequired: No \nType: String \nAllowed Values: WAF | WAFV2 | SHIELD_ADVANCED | SECURITY_GROUPS_COMMON | SECURITY_GROUPS_CONTENT_AUDIT | SECURITY_GROUPS_USAGE_AUDIT | NETWORK_FIREWALL | THIRD_PARTY_FIREWALL | DNS_FIREWALL | IMPORT_NETWORK_FIREWALL | NETWORK_ACL_COMMON \nUpdate requires: No interruption" }, "NetworkFirewallPolicy": { "description": "Network firewall policy.", @@ -188,6 +330,20 @@ ], "markdownDescription": "Third party firewall policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "NetworkAclCommonPolicy": { + "description": "Network ACL common policy.", + "type": "object", + "properties": { + "NetworkAclEntrySet": { + "$ref": "#/definitions/NetworkAclEntrySet" + } + }, + "additionalProperties": false, + "required": [ + "NetworkAclEntrySet" + ], + "markdownDescription": "Network ACL common policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PolicyOption": { "description": "Firewall policy option.", "type": "object", @@ -197,6 +353,9 @@ }, "ThirdPartyFirewallPolicy": { "$ref": "#/definitions/ThirdPartyFirewallPolicy" + }, + "NetworkAclCommonPolicy": { + "$ref": "#/definitions/NetworkAclCommonPolicy" } }, "additionalProperties": false, @@ -210,6 +369,11 @@ "required": [ "ThirdPartyFirewallPolicy" ] + }, + { + "required": [ + "NetworkAclCommonPolicy" + ] } ], "markdownDescription": "Firewall policy option.\n\n---\n\nRequired: No \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-fsx-filesystem.json b/server/schema/resources/aws-fsx-filesystem.json index b3a41d8a..a757989d 100644 --- a/server/schema/resources/aws-fsx-filesystem.json +++ b/server/schema/resources/aws-fsx-filesystem.json @@ -67,76 +67,6 @@ } }, "definitions": { - "OpenZFSConfiguration": { - "type": "object", - "additionalProperties": false, - "properties": { - "Options": { - "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" - }, - "CopyTagsToVolumes": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "DeploymentType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "ThroughputCapacity": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "RootVolumeConfiguration": { - "$ref": "#/definitions/RootVolumeConfiguration" - }, - "EndpointIpAddressRange": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "RouteTableIds": { - "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" - }, - "WeeklyMaintenanceStartTime": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "DiskIopsConfiguration": { - "$ref": "#/definitions/DiskIopsConfiguration" - }, - "DailyAutomaticBackupStartTime": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "CopyTagsToBackups": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "AutomaticBackupRetentionDays": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "PreferredSubnetId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "DeploymentType" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "SelfManagedActiveDirectoryConfiguration": { "type": "object", "additionalProperties": false, @@ -196,21 +126,6 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "DiskIopsConfiguration": { - "type": "object", - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Iops": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "LustreConfiguration": { "type": "object", "additionalProperties": false, @@ -243,6 +158,9 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "MetadataConfiguration": { + "$ref": "#/definitions/MetadataConfiguration" + }, "DailyAutomaticBackupStartTime": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -266,21 +184,6 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NfsExports": { - "type": "object", - "additionalProperties": false, - "properties": { - "ClientConfigurations": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/ClientConfigurations" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "OntapConfiguration": { "type": "object", "additionalProperties": false, @@ -343,45 +246,6 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ClientConfigurations": { - "type": "object", - "additionalProperties": false, - "properties": { - "Clients": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Options": { - "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" - } - }, - "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" - }, "RootVolumeConfiguration": { "type": "object", "additionalProperties": false, @@ -481,6 +345,160 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "OpenZFSConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "Options": { + "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" + }, + "CopyTagsToVolumes": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "DeploymentType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ThroughputCapacity": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "RootVolumeConfiguration": { + "$ref": "#/definitions/RootVolumeConfiguration" + }, + "EndpointIpAddressRange": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RouteTableIds": { + "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" + }, + "WeeklyMaintenanceStartTime": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DiskIopsConfiguration": { + "$ref": "#/definitions/DiskIopsConfiguration" + }, + "DailyAutomaticBackupStartTime": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CopyTagsToBackups": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "AutomaticBackupRetentionDays": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "PreferredSubnetId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "DeploymentType" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DiskIopsConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Iops": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MetadataConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Iops": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NfsExports": { + "type": "object", + "additionalProperties": false, + "properties": { + "ClientConfigurations": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/ClientConfigurations" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ClientConfigurations": { + "type": "object", + "additionalProperties": false, + "properties": { + "Clients": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Options": { + "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" + } + }, + "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" + }, "UserAndGroupQuotas": { "type": "object", "additionalProperties": false, diff --git a/server/schema/resources/aws-gamelift-containergroupdefinition.json b/server/schema/resources/aws-gamelift-containergroupdefinition.json new file mode 100644 index 00000000..d0a9520f --- /dev/null +++ b/server/schema/resources/aws-gamelift-containergroupdefinition.json @@ -0,0 +1,491 @@ +{ + "$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": { + "taggable": true, + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags" + }, + "definitions": { + "ContainerDefinition": { + "description": "Details about a container that is used in a container fleet", + "type": "object", + "properties": { + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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", + "type": "integer", + "minimum": 1, + "maximum": 10240, + "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" + }, + "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" + }, + "Command": { + "description": "The command that's passed to the container.", + "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": "The command that's passed to the container.\n\n---\n\nRequired: No \nType: Array \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" + }, + "EntryPoint": { + "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.", + "type": "array", + "uniqueItems": false, + "insertionOrder": true, + "minItems": 1, + "maxItems": 20, + "items": { + "type": "string", + "minLength": 1, + "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" + }, + "WorkingDirectory": { + "description": "The working directory to run commands inside the container in.", + "type": "string", + "minLength": 1, + "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" + }, + "Environment": { + "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" + }, + "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": { + "$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" + } + }, + "required": [ + "ContainerName", + "ImageUri" + ], + "additionalProperties": false, + "markdownDescription": "Details about a container that is used in a container fleet\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MemoryLimits": { + "description": "Specifies how much memory is available to the container.", + "type": "object", + "properties": { + "SoftLimit": { + "description": "The amount of memory that is reserved for the container.", + "type": "integer", + "minimum": 4, + "maximum": 1024000, + "markdownDescription": "The amount of memory that is reserved for the container.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "HardLimit": { + "description": "The hard limit of memory to reserve for the container.", + "type": "integer", + "minimum": 4, + "maximum": 1024000, + "markdownDescription": "The hard limit of memory to reserve for the container.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Specifies how much memory is available to the container.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PortConfiguration": { + "description": "Defines the ports on a container.", + "type": "object", + "properties": { + "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": [ + "ContainerPortRanges" + ], + "additionalProperties": false, + "markdownDescription": "Defines the ports on a container.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ContainerPortRange": { + "description": "A set of one or more port numbers that can be opened on the container.", + "type": "object", + "properties": { + "FromPort": { + "description": "A starting value for the range of allowed port numbers.", + "type": "integer", + "minimum": 1, + "maximum": 60000, + "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.", + "type": "string", + "enum": [ + "TCP", + "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": [ + "FromPort", + "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" + }, + "ContainerHealthCheck": { + "description": "Specifies how the process manager checks the health of containers.", + "type": "object", + "properties": { + "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": 60, + "maximum": 300, + "markdownDescription": "How often (in seconds) the health is checked.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Timeout": { + "description": "How many seconds the process manager allows the command to run before canceling it.", + "type": "integer", + "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" + } + }, + "required": [ + "Command" + ], + "additionalProperties": false, + "markdownDescription": "Specifies how the process manager checks the health of containers.\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.", + "type": "object", + "properties": { + "Name": { + "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" + }, + "ContainerDependency": { + "description": "A dependency that impacts a container's startup and shutdown.", + "type": "object", + "properties": { + "ContainerName": { + "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. 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" + }, + "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", + "Condition" + ], + "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.", + "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.", + "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" + } + }, + "properties": { + "Name": { + "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.", + "type": "string", + "enum": [ + "REPLICA", + "DAEMON" + ], + "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" + }, + "TotalMemoryLimit": { + "description": "The maximum amount of memory (in MiB) to allocate for this container group.", + "type": "integer", + "minimum": 4, + "maximum": 1024000, + "markdownDescription": "The maximum amount of memory (in MiB) to allocate for this container group.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: Replacement" + }, + "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.)", + "type": "integer", + "minimum": 128, + "maximum": 10240, + "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" + }, + "ContainerDefinitions": { + "description": "A collection of container definitions that define the containers in this group.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "minItems": 1, + "maxItems": 10, + "items": { + "$ref": "#/definitions/ContainerDefinition" + }, + "markdownDescription": "A collection of container definitions that define the containers in this group.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" + }, + "Tags": { + "description": "An array of key-value pairs to apply to this resource.", + "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" + }, + "OperatingSystem": { + "description": "The operating system of the container group", + "type": "string", + "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" + } + }, + "additionalProperties": false, + "required": [ + "Name", + "TotalMemoryLimit", + "TotalCpuLimit", + "ContainerDefinitions", + "OperatingSystem" + ], + "createOnlyProperties": [ + "/properties/Name", + "/properties/SchedulingStrategy", + "/properties/TotalMemoryLimit", + "/properties/TotalCpuLimit", + "/properties/ContainerDefinitions", + "/properties/OperatingSystem" + ], + "readOnlyProperties": [ + "/properties/ContainerGroupDefinitionArn", + "/properties/CreationTime", + "/properties/ContainerDefinitions/*/ResolvedImageDigest" + ], + "primaryIdentifier": [ + "/properties/Name" + ], + "handlers": { + "create": { + "permissions": [ + "gamelift:CreateContainerGroupDefinition", + "gamelift:DescribeContainerGroupDefinition", + "gamelift:ListTagsForResource", + "gamelift:TagResource", + "ecr:BatchCheckLayerAvailability", + "ecr:BatchGetImage", + "ecr:GetDownloadUrlForLayer", + "ecr:DescribeImages" + ] + }, + "read": { + "permissions": [ + "gamelift:DescribeContainerGroupDefinition", + "gamelift:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "gamelift:ListTagsForResource", + "gamelift:TagResource", + "gamelift:UntagResource" + ] + }, + "delete": { + "permissions": [ + "gamelift:DescribeContainerGroupDefinition", + "gamelift:DeleteContainerGroupDefinition" + ] + }, + "list": { + "permissions": [ + "gamelift:ListContainerGroupDefinitions" + ] + } + }, + "attributes": { + "ContainerGroupDefinitionArn": { + "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-]+$ \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" + } + } +} \ 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 6b4fd6d7..cd24e8a1 100644 --- a/server/schema/resources/aws-gamelift-fleet.json +++ b/server/schema/resources/aws-gamelift-fleet.json @@ -1,117 +1,296 @@ { "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", - "deprecatedProperties": [ - "/properties/LogPaths", - "/properties/ServerLaunchParameters", - "/properties/ServerLaunchPath" - ], - "taggable": true, "typeName": "AWS::GameLift::Fleet", - "readOnlyProperties": [ - "/properties/FleetId" - ], "description": "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.", - "createOnlyProperties": [ - "/properties/ApplyCapacity", - "/properties/BuildId", - "/properties/CertificateConfiguration", - "/properties/EC2InstanceType", - "/properties/FleetType", - "/properties/InstanceRoleARN", - "/properties/InstanceRoleCredentialsProvider", - "/properties/LogPaths", - "/properties/PeerVpcAwsAccountId", - "/properties/PeerVpcId", - "/properties/ScriptId", - "/properties/ServerLaunchParameters", - "/properties/ServerLaunchPath", - "/properties/ComputeType" - ], - "primaryIdentifier": [ - "/properties/FleetId" - ], - "required": [ - "Name" - ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", - "handlers": { - "read": { - "permissions": [ - "gamelift:DescribeFleetAttributes", - "gamelift:DescribeFleetLocationAttributes", - "gamelift:DescribeFleetCapacity", - "gamelift:DescribeFleetPortSettings", - "gamelift:DescribeFleetUtilization", - "gamelift:DescribeRuntimeConfiguration", - "gamelift:DescribeEC2InstanceLimits", - "gamelift:DescribeFleetEvents", - "gamelift:DescribeScalingPolicies" - ] + "definitions": { + "AnywhereConfiguration": { + "description": "Configuration for Anywhere fleet.", + "properties": { + "Cost": { + "description": "Cost of compute can be specified on Anywhere Fleets to prioritize placement across Queue destinations based on Cost.", + "type": "string", + "minLength": 1, + "maxLength": 11, + "markdownDescription": "Cost of compute can be specified on Anywhere Fleets to prioritize placement across Queue destinations based on Cost.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 11 \nPattern: ^\\d{1,5}(?:\\.\\d{1,5})?$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Cost" + ], + "markdownDescription": "Configuration for Anywhere fleet.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "create": { - "permissions": [ - "gamelift:CreateFleet", - "gamelift:DescribeFleetAttributes", - "gamelift:DescribeFleetLocationAttributes", - "gamelift:UpdateFleetCapacity", - "gamelift:DescribeFleetLocationCapacity", - "gamelift:PutScalingPolicy", - "gamelift:DescribeScalingPolicies" - ] + "CertificateConfiguration": { + "description": "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.", + "type": "object", + "properties": { + "CertificateType": { + "type": "string", + "enum": [ + "DISABLED", + "GENERATED" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DISABLED | GENERATED \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "CertificateType" + ], + "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" }, - "update": { - "permissions": [ - "gamelift:UpdateFleetAttributes", - "gamelift:CreateFleetLocations", - "gamelift:DeleteFleetLocations", - "gamelift:UpdateFleetCapacity", - "gamelift:UpdateFleetPortSettings", - "gamelift:UpdateRuntimeConfiguration", - "gamelift:DescribeFleetLocationCapacity", - "gamelift:DescribeFleetPortSettings", - "gamelift:DescribeFleetLocationAttributes", - "gamelift:PutScalingPolicy", - "gamelift:DescribeScalingPolicies", - "gamelift:DeleteScalingPolicy" - ] + "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" }, - "list": { - "permissions": [ - "gamelift:ListFleets" - ] + "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", + "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" + }, + "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. When creating a new fleet, GameLift automatically sets this value to \"0\". After the fleet is active, you can change this value.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The minimum value allowed for the fleet's instance count for a location. When creating a new fleet, GameLift automatically sets this value to \"0\". After the fleet is active, you can change this value.\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. When creating a new fleet, GameLift automatically sets this value to \"1\". Once the fleet is active, you can change this value.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The maximum value that is allowed for the fleet's instance count for a location. When creating a new fleet, GameLift automatically sets this value to \"1\". Once the fleet is active, you can change this value.\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" + } + }, + "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" + }, + "ResourceCreationLimitPolicy": { + "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" + }, + "RuntimeConfiguration": { + "description": "A collection of server process configurations that describe the processes to run on each instance in a fleet. All fleets must have a runtime configuration. Each instance in the fleet maintains server processes as specified in the runtime configuration, launching new ones as existing processes end. Each instance regularly checks for an updated runtime configuration makes adjustments as called for.\n\nThe runtime configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different executables, such as your game server and a metrics tracking program. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.\n\nAn Amazon GameLift instance is limited to 50 processes running simultaneously. A runtime configuration must specify fewer than this limit. To calculate the total number of processes specified in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the runtime configuration.", + "type": "object", + "properties": { + "GameSessionActivationTimeoutSeconds": { + "description": "The maximum amount of time (in seconds) that a game session can remain in status ACTIVATING. If the game session is not active before the timeout, activation is terminated and the game session status is changed to TERMINATED.", + "type": "integer", + "minimum": 1, + "maximum": 600, + "markdownDescription": "The maximum amount of time (in seconds) that a game session can remain in status ACTIVATING. If the game session is not active before the timeout, activation is terminated and the game session status is changed to TERMINATED.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MaxConcurrentGameSessionActivations": { + "description": "The maximum number of game sessions with status ACTIVATING to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.", + "type": "integer", + "minimum": 1, + "maximum": 2147483647, + "markdownDescription": "The maximum number of game sessions with status ACTIVATING to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ServerProcesses": { + "description": "A collection of server process configurations that describe which server processes to run on each instance in a fleet.", + "type": "array", + "maxItems": 50, + "items": { + "$ref": "#/definitions/ServerProcess" + }, + "insertionOrder": false, + "markdownDescription": "A collection of server process configurations that describe which server processes to run on each instance in a fleet.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "A collection of server process configurations that describe the processes to run on each instance in a fleet. All fleets must have a runtime configuration. Each instance in the fleet maintains server processes as specified in the runtime configuration, launching new ones as existing processes end. Each instance regularly checks for an updated runtime configuration makes adjustments as called for.\n\nThe runtime configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different executables, such as your game server and a metrics tracking program. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.\n\nAn Amazon GameLift instance is limited to 50 processes running simultaneously. A runtime configuration must specify fewer than this limit. To calculate the total number of processes specified in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the runtime configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "gamelift:DeleteFleet", - "gamelift:DescribeFleetLocationCapacity", - "gamelift:DescribeScalingPolicies", - "gamelift:DeleteScalingPolicy" - ] - } - }, - "writeOnlyProperties": [ - "/properties/ApplyCapacity" - ], - "additionalProperties": false, - "definitions": { "ScalingPolicy": { "description": "Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.", - "additionalProperties": false, "type": "object", "properties": { - "Status": { - "description": "Current status of the scaling policy. The scaling policy can be in force only when in an ACTIVE status. Scaling policies can be suspended for individual fleets. If the policy is suspended for a fleet, the policy status does not change.", + "ComparisonOperator": { + "description": "Comparison operator to use when measuring a metric against the threshold value.", "type": "string", "enum": [ - "ACTIVE", - "UPDATE_REQUESTED", - "UPDATING", - "DELETE_REQUESTED", - "DELETING", - "DELETED", - "ERROR" + "GreaterThanOrEqualToThreshold", + "GreaterThanThreshold", + "LessThanThreshold", + "LessThanOrEqualToThreshold" ], - "markdownDescription": "Current status of the scaling policy. The scaling policy can be in force only when in an ACTIVE status. Scaling policies can be suspended for individual fleets. If the policy is suspended for a fleet, the policy status does not change.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACTIVE | UPDATE_REQUESTED | UPDATING | DELETE_REQUESTED | DELETING | DELETED | ERROR \nUpdate requires: No interruption" + "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" + }, + "Location": { + "$ref": "#/definitions/Location" }, "MetricName": { "description": "Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment.", @@ -132,6 +311,13 @@ ], "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", @@ -141,51 +327,11 @@ ], "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" }, - "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" - }, - "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" - }, - "UpdateStatus": { - "description": "The current status of the fleet's scaling policies in a requested fleet location. The status PENDING_UPDATE indicates that an update was requested for the fleet but has not yet been completed for the location.", - "type": "string", - "enum": [ - "PENDING_UPDATE" - ], - "markdownDescription": "The current status of the fleet's scaling policies in a requested fleet location. The status PENDING_UPDATE indicates that an update was requested for the fleet but has not yet been completed for the location.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PENDING_UPDATE \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" }, - "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" - }, - "Location": { - "$ref": "#/definitions/Location" - }, - "Name": { - "minLength": 1, - "description": "A descriptive label that is associated with a fleet's scaling policy. Policy names do not need to be unique.", - "type": "string", - "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" - }, "ScalingAdjustmentType": { "description": "The type of adjustment to make to a fleet's instance count.", "type": "string", @@ -196,12 +342,40 @@ ], "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" }, + "Status": { + "description": "Current status of the scaling policy. The scaling policy can be in force only when in an ACTIVE status. Scaling policies can be suspended for individual fleets. If the policy is suspended for a fleet, the policy status does not change.", + "type": "string", + "enum": [ + "ACTIVE", + "UPDATE_REQUESTED", + "UPDATING", + "DELETE_REQUESTED", + "DELETING", + "DELETED", + "ERROR" + ], + "markdownDescription": "Current status of the scaling policy. The scaling policy can be in force only when in an ACTIVE status. Scaling policies can be suspended for individual fleets. If the policy is suspended for a fleet, the policy status does not change.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACTIVE | UPDATE_REQUESTED | UPDATING | DELETE_REQUESTED | DELETING | DELETED | ERROR \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" + }, + "UpdateStatus": { + "description": "The current status of the fleet's scaling policies in a requested fleet location. The status PENDING_UPDATE indicates that an update was requested for the fleet but has not yet been completed for the location.", + "type": "string", + "enum": [ + "PENDING_UPDATE" + ], + "markdownDescription": "The current status of the fleet's scaling policies in a requested fleet location. The status PENDING_UPDATE indicates that an update was requested for the fleet but has not yet been completed for the location.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PENDING_UPDATE \nUpdate requires: No interruption" } }, + "additionalProperties": false, "required": [ "MetricName", "Name" @@ -210,30 +384,30 @@ }, "ServerProcess": { "description": "A set of instructions for launching server processes on each instance in a fleet. Each instruction set identifies the location of the server executable, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's RuntimeConfiguration.", - "additionalProperties": false, "type": "object", "properties": { "ConcurrentExecutions": { "description": "The number of server processes that use this configuration to run concurrently on an instance.", - "type": "integer", - "minimum": 1, - "markdownDescription": "The number of server processes that use this configuration to run concurrently on an instance.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "Parameters": { - "minLength": 1, - "description": "An optional list of parameters to pass to the server executable or Realtime script on launch.", - "type": "string", - "maxLength": 1024, - "markdownDescription": "An optional list of parameters to pass to the server executable or Realtime script on launch.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + "type": "integer", + "minimum": 1, + "markdownDescription": "The number of server processes that use this configuration to run concurrently on an instance.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "LaunchPath": { - "minLength": 1, "description": "The location of the server executable in a custom game build or the name of the Realtime script file that contains the Init() function. Game builds and Realtime scripts are installed on instances at the root:\n\nWindows (for custom game builds only): C:\\game. Example: \"C:\\game\\MyGame\\server.exe\"\n\nLinux: /local/game. Examples: \"/local/game/MyGame/server.exe\" or \"/local/game/MyRealtimeScript.js\"", "type": "string", + "minLength": 1, "maxLength": 1024, "markdownDescription": "The location of the server executable in a custom game build or the name of the Realtime script file that contains the Init() function. Game builds and Realtime scripts are installed on instances at the root:\n\nWindows (for custom game builds only): C:\\game. Example: \"C:\\game\\MyGame\\server.exe\"\n\nLinux: /local/game. Examples: \"/local/game/MyGame/server.exe\" or \"/local/game/MyRealtimeScript.js\"\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^([Cc]:\\\\game\\S+|/local/game/\\S+) \nUpdate requires: No interruption" + }, + "Parameters": { + "description": "An optional list of parameters to pass to the server executable or Realtime script on launch.", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "An optional list of parameters to pass to the server executable or Realtime script on launch.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, + "additionalProperties": false, "required": [ "ConcurrentExecutions", "LaunchPath" @@ -242,7 +416,6 @@ }, "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.", - "additionalProperties": false, "type": "object", "properties": { "TargetValue": { @@ -251,279 +424,62 @@ "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" - }, - "RuntimeConfiguration": { - "description": "A collection of server process configurations that describe the processes to run on each instance in a fleet. All fleets must have a runtime configuration. Each instance in the fleet maintains server processes as specified in the runtime configuration, launching new ones as existing processes end. Each instance regularly checks for an updated runtime configuration makes adjustments as called for.\n\nThe runtime configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different executables, such as your game server and a metrics tracking program. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.\n\nAn Amazon GameLift instance is limited to 50 processes running simultaneously. A runtime configuration must specify fewer than this limit. To calculate the total number of processes specified in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the runtime configuration.", - "additionalProperties": false, - "type": "object", - "properties": { - "ServerProcesses": { - "maxItems": 50, - "description": "A collection of server process configurations that describe which server processes to run on each instance in a fleet.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/ServerProcess" - }, - "markdownDescription": "A collection of server process configurations that describe which server processes to run on each instance in a fleet.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "MaxConcurrentGameSessionActivations": { - "description": "The maximum number of game sessions with status ACTIVATING to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.", - "maximum": 2147483647, - "type": "integer", - "minimum": 1, - "markdownDescription": "The maximum number of game sessions with status ACTIVATING to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "GameSessionActivationTimeoutSeconds": { - "description": "The maximum amount of time (in seconds) that a game session can remain in status ACTIVATING. If the game session is not active before the timeout, activation is terminated and the game session status is changed to TERMINATED.", - "maximum": 600, - "type": "integer", - "minimum": 1, - "markdownDescription": "The maximum amount of time (in seconds) that a game session can remain in status ACTIVATING. If the game session is not active before the timeout, activation is terminated and the game session status is changed to TERMINATED.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "A collection of server process configurations that describe the processes to run on each instance in a fleet. All fleets must have a runtime configuration. Each instance in the fleet maintains server processes as specified in the runtime configuration, launching new ones as existing processes end. Each instance regularly checks for an updated runtime configuration makes adjustments as called for.\n\nThe runtime configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different executables, such as your game server and a metrics tracking program. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.\n\nAn Amazon GameLift instance is limited to 50 processes running simultaneously. A runtime configuration must specify fewer than this limit. To calculate the total number of processes specified in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the runtime configuration.\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.", - "additionalProperties": false, - "type": "object", - "properties": { - "LocationCapacity": { - "$ref": "#/definitions/LocationCapacity" - }, - "Location": { - "$ref": "#/definitions/Location" - } - }, - "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" - }, - "AnywhereConfiguration": { - "description": "Configuration for Anywhere fleet.", - "additionalProperties": false, - "properties": { - "Cost": { - "minLength": 1, - "description": "Cost of compute can be specified on Anywhere Fleets to prioritize placement across Queue destinations based on Cost.", - "type": "string", - "maxLength": 11, - "markdownDescription": "Cost of compute can be specified on Anywhere Fleets to prioritize placement across Queue destinations based on Cost.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 11 \nPattern: ^\\d{1,5}(?:\\.\\d{1,5})?$ \nUpdate requires: No interruption" - } - }, - "required": [ - "Cost" - ], - "markdownDescription": "Configuration for Anywhere fleet.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "ResourceCreationLimitPolicy": { - "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.", - "additionalProperties": false, - "type": "object", - "properties": { - "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" - }, - "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" - } - }, - "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" - }, - "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.", - "additionalProperties": false, - "type": "object", - "properties": { - "MinSize": { - "description": "The minimum value allowed for the fleet's instance count for a location. When creating a new fleet, GameLift automatically sets this value to \"0\". After the fleet is active, you can change this value.", - "type": "integer", - "minimum": 0, - "markdownDescription": "The minimum value allowed for the fleet's instance count for a location. When creating a new fleet, GameLift automatically sets this value to \"0\". After the fleet is active, you can change this value.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "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" - }, - "MaxSize": { - "description": "The maximum value that is allowed for the fleet's instance count for a location. When creating a new fleet, GameLift automatically sets this value to \"1\". Once the fleet is active, you can change this value.", - "type": "integer", - "minimum": 0, - "markdownDescription": "The maximum value that is allowed for the fleet's instance count for a location. When creating a new fleet, GameLift automatically sets this value to \"1\". Once the fleet is active, you can change this value.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - } - }, - "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" - }, - "CertificateConfiguration": { - "description": "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.", - "additionalProperties": false, - "type": "object", - "properties": { - "CertificateType": { - "type": "string", - "enum": [ - "DISABLED", - "GENERATED" - ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DISABLED | GENERATED \nUpdate requires: No interruption" - } - }, - "required": [ - "CertificateType" - ], - "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" - }, - "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.", - "additionalProperties": false, - "type": "object", - "properties": { - "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" - }, - "FromPort": { - "description": "A starting value for a range of allowed port numbers.", - "maximum": 60000, - "type": "integer", - "minimum": 1, - "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.", - "maximum": 60000, - "type": "integer", - "minimum": 1, - "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" - }, - "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" - } - }, - "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" - }, - "Location": { - "minLength": 1, - "type": "string", - "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" } }, "properties": { "ScalingPolicies": { - "maxItems": 50, "description": "A list of rules that control how a fleet is scaled.", - "insertionOrder": false, "type": "array", + "maxItems": 50, "items": { "$ref": "#/definitions/ScalingPolicy" }, - "markdownDescription": "A list of rules that control how a fleet is scaled.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Description": { - "minLength": 1, - "description": "A human-readable description of a fleet.", - "type": "string", - "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" - }, - "PeerVpcId": { - "minLength": 1, - "description": "A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the VPC Dashboard in the AWS Management Console.", - "type": "string", - "maxLength": 1024, - "markdownDescription": "A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the VPC Dashboard in the AWS Management Console.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^vpc-\\S+ \nUpdate requires: Replacement" - }, - "ApplyCapacity": { - "description": "Determines whether to apply fleet or location capacities on fleet creation.", - "type": "string", - "enum": [ - "ON_UPDATE", - "ON_CREATE_AND_UPDATE" - ], - "markdownDescription": "Determines whether to apply fleet or location capacities on fleet creation.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ON_UPDATE | ON_CREATE_AND_UPDATE \nUpdate requires: Replacement" - }, - "EC2InboundPermissions": { - "maxItems": 50, - "description": "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift server.", "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/IpPermission" - }, - "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" - }, - "ComputeType": { - "description": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.", - "type": "string", - "enum": [ - "EC2", - "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 \nUpdate requires: Replacement" - }, - "Name": { - "minLength": 1, - "description": "A descriptive label that is associated with a fleet. Fleet names do not need to be unique.", - "type": "string", - "maxLength": 1024, - "markdownDescription": "A descriptive label that is associated with a fleet. Fleet names do not need to be unique.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + "markdownDescription": "A list of rules that control how a fleet is scaled.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "AnywhereConfiguration": { "description": "Configuration for Anywhere fleet.", "$ref": "#/definitions/AnywhereConfiguration", "markdownDescription": "Configuration for Anywhere fleet.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "InstanceRoleARN": { - "minLength": 1, - "description": "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.", + "ApplyCapacity": { + "description": "Determines whether to apply fleet or location capacities on fleet creation.", "type": "string", - "markdownDescription": "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nPattern: ^arn:aws(-.*)?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$ \nUpdate requires: Replacement" + "enum": [ + "ON_UPDATE", + "ON_CREATE_AND_UPDATE" + ], + "markdownDescription": "Determines whether to apply fleet or location capacities on fleet creation.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ON_UPDATE | ON_CREATE_AND_UPDATE \nUpdate requires: Replacement" }, "CertificateConfiguration": { "description": "Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not set, certificate generation is disabled. This fleet setting cannot be changed once the fleet is created.", "$ref": "#/definitions/CertificateConfiguration", "markdownDescription": "Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not set, certificate generation is disabled. This fleet setting cannot be changed once the fleet is created.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" }, - "InstanceRoleCredentialsProvider": { - "description": "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.", + "ComputeType": { + "description": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.", "type": "string", "enum": [ - "SHARED_CREDENTIAL_FILE" + "EC2", + "ANYWHERE", + "CONTAINER" ], - "markdownDescription": "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.\n\n---\n\nRequired: No \nType: String \nAllowed Values: SHARED_CREDENTIAL_FILE \nUpdate requires: Replacement" + "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" + }, + "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" }, "DesiredEC2Instances": { "description": "[DEPRECATED] The number of EC2 instances that you want this fleet to host. When creating a new fleet, GameLift automatically sets this value to \"1\" and initiates a single instance. Once the fleet is active, update this value to trigger GameLift to add or remove instances from the fleet.", @@ -531,12 +487,20 @@ "minimum": 0, "markdownDescription": "[DEPRECATED] The number of EC2 instances that you want this fleet to host. When creating a new fleet, GameLift automatically sets this value to \"1\" and initiates a single instance. Once the fleet is active, update this value to trigger GameLift to add or remove instances from the fleet.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "ServerLaunchParameters": { - "minLength": 1, - "description": "This parameter is no longer used but is retained for backward compatibility. Instead, specify server launch parameters in the RuntimeConfiguration parameter. A request must specify either a runtime configuration or values for both ServerLaunchParameters and ServerLaunchPath.", + "EC2InboundPermissions": { + "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" + }, + "EC2InstanceType": { + "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", - "maxLength": 1024, - "markdownDescription": "This parameter is no longer used but is retained for backward compatibility. Instead, specify server launch parameters in the RuntimeConfiguration parameter. A request must specify either a runtime configuration or values for both ServerLaunchParameters and ServerLaunchPath.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: Replacement" + "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 \nPattern: ^.*..*$ \nUpdate requires: Replacement" }, "FleetType": { "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.", @@ -547,29 +511,39 @@ ], "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" }, + "InstanceRoleARN": { + "description": "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.", + "type": "string", + "minLength": 1, + "markdownDescription": "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nPattern: ^arn:aws(-.*)?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$ \nUpdate requires: Replacement" + }, + "InstanceRoleCredentialsProvider": { + "description": "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.", + "type": "string", + "enum": [ + "SHARED_CREDENTIAL_FILE" + ], + "markdownDescription": "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.\n\n---\n\nRequired: No \nType: String \nAllowed Values: SHARED_CREDENTIAL_FILE \nUpdate requires: Replacement" + }, "Locations": { + "type": "array", "minItems": 1, "maxItems": 100, - "insertionOrder": false, - "type": "array", "items": { "$ref": "#/definitions/LocationConfiguration" }, + "insertionOrder": false, "markdownDescription": "\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" - }, - "ScriptId": { - "description": "A unique identifier for a Realtime script to be deployed on a new Realtime Servers fleet. The script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.\n\nNote: It is not currently possible to use the !Ref command to reference a script created with a CloudFormation template for the fleet property ScriptId. Instead, use Fn::GetAtt Script.Arn or Fn::GetAtt Script.Id to retrieve either of these properties as input for ScriptId. Alternatively, enter a ScriptId string manually.", - "type": "string", - "markdownDescription": "A unique identifier for a Realtime script to be deployed on a new Realtime Servers fleet. The script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.\n\nNote: It is not currently possible to use the !Ref command to reference a script created with a CloudFormation template for the fleet property ScriptId. Instead, use Fn::GetAtt Script.Arn or Fn::GetAtt Script.Id to retrieve either of these properties as input for ScriptId. Alternatively, enter a ScriptId string manually.\n\n---\n\nRequired: No \nType: String \nPattern: ^script-\\S+|^arn:.*:script/script-\\S+ \nUpdate requires: Replacement" + "LogPaths": { + "description": "This parameter is no longer used. When hosting a custom game build, specify where Amazon GameLift should store log files using the Amazon GameLift server API call ProcessReady()", + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "markdownDescription": "This parameter is no longer used. When hosting a custom game build, specify where Amazon GameLift should store log files using the Amazon GameLift server API call ProcessReady()\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, "MaxSize": { "description": "[DEPRECATED] The maximum value that is allowed for the fleet's instance count. When creating a new fleet, GameLift automatically sets this value to \"1\". Once the fleet is active, you can change this value.", @@ -577,27 +551,16 @@ "minimum": 0, "markdownDescription": "[DEPRECATED] The maximum value that is allowed for the fleet's instance count. When creating a new fleet, GameLift automatically sets this value to \"1\". Once the fleet is active, you can change this value.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "RuntimeConfiguration": { - "description": "Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception.\n\nThis parameter is required unless the parameters ServerLaunchPath and ServerLaunchParameters are defined. Runtime configuration has replaced these parameters, but fleets that use them will continue to work.", - "$ref": "#/definitions/RuntimeConfiguration", - "markdownDescription": "Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception.\n\nThis parameter is required unless the parameters ServerLaunchPath and ServerLaunchParameters are defined. Runtime configuration has replaced these parameters, but fleets that use them will continue to work.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "LogPaths": { - "description": "This parameter is no longer used. When hosting a custom game build, specify where Amazon GameLift should store log files using the Amazon GameLift server API call ProcessReady()", - "insertionOrder": false, + "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" }, - "markdownDescription": "This parameter is no longer used. When hosting a custom game build, specify where Amazon GameLift should store log files using the Amazon GameLift server API call ProcessReady()\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" - }, - "ServerLaunchPath": { - "minLength": 1, - "description": "This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.", - "type": "string", - "maxLength": 1024, - "markdownDescription": "This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: Replacement" + "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" }, "MinSize": { "description": "[DEPRECATED] The minimum value allowed for the fleet's instance count. When creating a new fleet, GameLift automatically sets this value to \"0\". After the fleet is active, you can change this value.", @@ -605,40 +568,163 @@ "minimum": 0, "markdownDescription": "[DEPRECATED] The minimum value allowed for the fleet's instance count. When creating a new fleet, GameLift automatically sets this value to \"0\". After the fleet is active, you can change this value.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "PeerVpcAwsAccountId": { + "Name": { + "description": "A descriptive label that is associated with a fleet. Fleet names do not need to be unique.", + "type": "string", "minLength": 1, + "maxLength": 1024, + "markdownDescription": "A descriptive label that is associated with a fleet. Fleet names do not need to be unique.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \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" + }, + "PeerVpcAwsAccountId": { "description": "A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your account ID in the AWS Management Console under account settings.", "type": "string", + "minLength": 1, "maxLength": 1024, "markdownDescription": "A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your account ID in the AWS Management Console under account settings.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^[0-9]{12}$ \nUpdate requires: Replacement" }, - "MetricGroups": { - "maxItems": 1, - "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.", - "insertionOrder": false, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "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" - }, - "BuildId": { - "description": "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.", + "PeerVpcId": { + "description": "A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the VPC Dashboard in the AWS Management Console.", "type": "string", - "markdownDescription": "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.\n\n---\n\nRequired: No \nType: String \nPattern: ^build-\\S+|^arn:.*:build/build-\\S+ \nUpdate requires: Replacement" + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the VPC Dashboard in the AWS Management Console.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^vpc-\\S+ \nUpdate requires: Replacement" }, "ResourceCreationLimitPolicy": { "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/ResourceCreationLimitPolicy", "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" }, - "EC2InstanceType": { - "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.", + "BuildId": { + "description": "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.", "type": "string", - "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 \nPattern: ^.*..*$ \nUpdate requires: Replacement" + "markdownDescription": "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.\n\n---\n\nRequired: No \nType: String \nPattern: ^build-\\S+|^arn:.*:build/build-\\S+ \nUpdate requires: Replacement" + }, + "ScriptId": { + "description": "A unique identifier for a Realtime script to be deployed on a new Realtime Servers fleet. The script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.\n\nNote: It is not currently possible to use the !Ref command to reference a script created with a CloudFormation template for the fleet property ScriptId. Instead, use Fn::GetAtt Script.Arn or Fn::GetAtt Script.Id to retrieve either of these properties as input for ScriptId. Alternatively, enter a ScriptId string manually.", + "type": "string", + "markdownDescription": "A unique identifier for a Realtime script to be deployed on a new Realtime Servers fleet. The script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.\n\nNote: It is not currently possible to use the !Ref command to reference a script created with a CloudFormation template for the fleet property ScriptId. Instead, use Fn::GetAtt Script.Arn or Fn::GetAtt Script.Id to retrieve either of these properties as input for ScriptId. Alternatively, enter a ScriptId string manually.\n\n---\n\nRequired: No \nType: String \nPattern: ^script-\\S+|^arn:.*:script/script-\\S+ \nUpdate requires: Replacement" + }, + "RuntimeConfiguration": { + "description": "Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception.\n\nThis parameter is required unless the parameters ServerLaunchPath and ServerLaunchParameters are defined. Runtime configuration has replaced these parameters, but fleets that use them will continue to work.", + "$ref": "#/definitions/RuntimeConfiguration", + "markdownDescription": "Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception.\n\nThis parameter is required unless the parameters ServerLaunchPath and ServerLaunchParameters are defined. Runtime configuration has replaced these parameters, but fleets that use them will continue to work.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ServerLaunchParameters": { + "description": "This parameter is no longer used but is retained for backward compatibility. Instead, specify server launch parameters in the RuntimeConfiguration parameter. A request must specify either a runtime configuration or values for both ServerLaunchParameters and ServerLaunchPath.", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "This parameter is no longer used but is retained for backward compatibility. Instead, specify server launch parameters in the RuntimeConfiguration parameter. A request must specify either a runtime configuration or values for both ServerLaunchParameters and ServerLaunchPath.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: Replacement" + }, + "ServerLaunchPath": { + "description": "This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: Replacement" + } + }, + "required": [ + "Name" + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ApplyCapacity", + "/properties/BuildId", + "/properties/CertificateConfiguration", + "/properties/ContainerGroupsConfiguration", + "/properties/EC2InstanceType", + "/properties/FleetType", + "/properties/InstanceRoleARN", + "/properties/InstanceRoleCredentialsProvider", + "/properties/LogPaths", + "/properties/PeerVpcAwsAccountId", + "/properties/PeerVpcId", + "/properties/ScriptId", + "/properties/ServerLaunchParameters", + "/properties/ServerLaunchPath", + "/properties/ComputeType" + ], + "deprecatedProperties": [ + "/properties/LogPaths", + "/properties/ServerLaunchParameters", + "/properties/ServerLaunchPath" + ], + "readOnlyProperties": [ + "/properties/ContainerGroupsConfiguration/ContainerGroupsPerInstance/MaxReplicaContainerGroupsPerInstance", + "/properties/FleetId" + ], + "writeOnlyProperties": [ + "/properties/ApplyCapacity" + ], + "primaryIdentifier": [ + "/properties/FleetId" + ], + "handlers": { + "create": { + "permissions": [ + "gamelift:CreateFleet", + "gamelift:DescribeFleetAttributes", + "gamelift:DescribeFleetLocationAttributes", + "gamelift:UpdateFleetCapacity", + "gamelift:DescribeFleetLocationCapacity", + "gamelift:PutScalingPolicy", + "gamelift:DescribeScalingPolicies" + ] + }, + "read": { + "permissions": [ + "gamelift:DescribeFleetAttributes", + "gamelift:DescribeFleetLocationAttributes", + "gamelift:DescribeFleetCapacity", + "gamelift:DescribeFleetPortSettings", + "gamelift:DescribeFleetUtilization", + "gamelift:DescribeRuntimeConfiguration", + "gamelift:DescribeEC2InstanceLimits", + "gamelift:DescribeFleetEvents", + "gamelift:DescribeScalingPolicies" + ] + }, + "update": { + "permissions": [ + "gamelift:UpdateFleetAttributes", + "gamelift:CreateFleetLocations", + "gamelift:DeleteFleetLocations", + "gamelift:UpdateFleetCapacity", + "gamelift:UpdateFleetPortSettings", + "gamelift:UpdateRuntimeConfiguration", + "gamelift:DescribeFleetLocationCapacity", + "gamelift:DescribeFleetPortSettings", + "gamelift:DescribeFleetLocationAttributes", + "gamelift:PutScalingPolicy", + "gamelift:DescribeScalingPolicies", + "gamelift:DeleteScalingPolicy" + ] + }, + "delete": { + "permissions": [ + "gamelift:DeleteFleet", + "gamelift:DescribeFleetLocationCapacity", + "gamelift:DescribeScalingPolicies", + "gamelift:DeleteScalingPolicy" + ] + }, + "list": { + "permissions": [ + "gamelift:ListFleets" + ] } }, + "taggable": true, "attributes": { "FleetId": { "description": "Unique fleet ID", diff --git a/server/schema/resources/aws-globalaccelerator-accelerator.json b/server/schema/resources/aws-globalaccelerator-accelerator.json index c2fecc82..7957f3c6 100644 --- a/server/schema/resources/aws-globalaccelerator-accelerator.json +++ b/server/schema/resources/aws-globalaccelerator-accelerator.json @@ -78,6 +78,13 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, "required": [ "Name" ], diff --git a/server/schema/resources/aws-globalaccelerator-crossaccountattachment.json b/server/schema/resources/aws-globalaccelerator-crossaccountattachment.json index cdf8e906..7bea0a17 100644 --- a/server/schema/resources/aws-globalaccelerator-crossaccountattachment.json +++ b/server/schema/resources/aws-globalaccelerator-crossaccountattachment.json @@ -82,6 +82,13 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, "required": [ "Name" ], diff --git a/server/schema/resources/aws-globalaccelerator-endpointgroup.json b/server/schema/resources/aws-globalaccelerator-endpointgroup.json index 38e0c852..0b169afe 100644 --- a/server/schema/resources/aws-globalaccelerator-endpointgroup.json +++ b/server/schema/resources/aws-globalaccelerator-endpointgroup.json @@ -136,6 +136,9 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": false + }, "required": [ "ListenerArn", "EndpointGroupRegion" diff --git a/server/schema/resources/aws-globalaccelerator-listener.json b/server/schema/resources/aws-globalaccelerator-listener.json index 3c4d2d6b..e6418b8b 100644 --- a/server/schema/resources/aws-globalaccelerator-listener.json +++ b/server/schema/resources/aws-globalaccelerator-listener.json @@ -63,6 +63,9 @@ "markdownDescription": "Client affinity lets you direct all requests from a user to the same endpoint.\n\n---\n\nRequired: No \nType: String \nAllowed Values: NONE | SOURCE_IP \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": false + }, "required": [ "AcceleratorArn", "PortRanges", diff --git a/server/schema/resources/aws-glue-crawler.json b/server/schema/resources/aws-glue-crawler.json index f339b36f..a7c3bc5c 100644 --- a/server/schema/resources/aws-glue-crawler.json +++ b/server/schema/resources/aws-glue-crawler.json @@ -245,6 +245,15 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "EnableAdditionalMetadata": { + "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" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-glue-job.json b/server/schema/resources/aws-glue-job.json index 5d890233..2c56bdda 100644 --- a/server/schema/resources/aws-glue-job.json +++ b/server/schema/resources/aws-glue-job.json @@ -63,6 +63,10 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "MaintenanceWindow": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "NumberOfWorkers": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-groundstation-config.json b/server/schema/resources/aws-groundstation-config.json index f0f9b28e..363b34bc 100644 --- a/server/schema/resources/aws-groundstation-config.json +++ b/server/schema/resources/aws-groundstation-config.json @@ -119,11 +119,11 @@ }, "BucketArn": { "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-Za-z0-9-]{0,64}:s3:::[A-Za-z0-9-]{1,64}$ \nUpdate requires: No interruption" }, "RoleArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[^:\\n]+:iam::[^:\\n]+:role\\/.+$ \nUpdate requires: No interruption" }, "UplinkSpectrumConfig": { "type": "object", @@ -257,7 +257,7 @@ }, "AntennaUplinkConfigArn": { "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-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$ \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -365,7 +365,7 @@ }, "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-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$ \nUpdate requires: No interruption" }, "Id": { "type": "string", diff --git a/server/schema/resources/aws-groundstation-dataflowendpointgroup.json b/server/schema/resources/aws-groundstation-dataflowendpointgroup.json index 5505f097..7785c4f1 100644 --- a/server/schema/resources/aws-groundstation-dataflowendpointgroup.json +++ b/server/schema/resources/aws-groundstation-dataflowendpointgroup.json @@ -169,7 +169,7 @@ }, "RoleArn": { "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-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$ \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -299,7 +299,7 @@ }, "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-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-groundstation-missionprofile.json b/server/schema/resources/aws-groundstation-missionprofile.json index c5e4e925..a54ce5e5 100644 --- a/server/schema/resources/aws-groundstation-missionprofile.json +++ b/server/schema/resources/aws-groundstation-missionprofile.json @@ -42,11 +42,11 @@ "properties": { "KmsKeyArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nPattern: ^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$ \nUpdate requires: No interruption" }, "KmsAliasArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nPattern: ^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$ \nUpdate requires: No interruption" } }, "oneOf": [ @@ -107,7 +107,7 @@ }, "TrackingConfigArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$ \nUpdate requires: No interruption" }, "Tags": { "type": "array", @@ -183,7 +183,7 @@ }, "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-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$ \nUpdate requires: No interruption" }, "Region": { "type": "string", diff --git a/server/schema/resources/aws-guardduty-filter.json b/server/schema/resources/aws-guardduty-filter.json index ed672085..524edbe6 100644 --- a/server/schema/resources/aws-guardduty-filter.json +++ b/server/schema/resources/aws-guardduty-filter.json @@ -21,7 +21,7 @@ "type": "string", "minLength": 1, "maxLength": 300, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 300 \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 300 \nUpdate requires: Replacement" }, "FindingCriteria": { "$ref": "#/definitions/FindingCriteria" @@ -36,7 +36,7 @@ "type": "string", "minLength": 1, "maxLength": 64, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: Replacement" }, "Tags": { "type": "array", @@ -168,6 +168,8 @@ } }, "required": [ + "DetectorId", + "Name", "FindingCriteria" ], "primaryIdentifier": [ diff --git a/server/schema/resources/aws-guardduty-malwareprotectionplan.json b/server/schema/resources/aws-guardduty-malwareprotectionplan.json new file mode 100644 index 00000000..5d3f169e --- /dev/null +++ b/server/schema/resources/aws-guardduty-malwareprotectionplan.json @@ -0,0 +1,209 @@ +{ + "typeName": "AWS::GuardDuty::MalwareProtectionPlan", + "description": "Resource Type definition for AWS::GuardDuty::MalwareProtectionPlan", + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false + }, + "properties": { + "Role": { + "type": "string", + "description": "IAM role that includes the permissions required to scan and (optionally) add tags to the associated protected resource.", + "markdownDescription": "IAM role that includes the permissions required to scan and (optionally) add tags to the associated protected resource.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ProtectedResource": { + "$ref": "#/definitions/CFNProtectedResource", + "description": "Information about the protected resource. Presently, S3Bucket is the only supported protected resource.", + "markdownDescription": "Information about the protected resource. Presently, S3Bucket is the only supported protected resource.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "Actions": { + "$ref": "#/definitions/CFNActions", + "description": "Specifies the action that is to be applied to the Malware Protection plan resource.", + "markdownDescription": "Specifies the action that is to be applied to the Malware Protection plan resource.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "description": "The tags to be added to the created Malware Protection plan resource. Each tag consists of a key and an optional value, both of which you need to specify.", + "items": { + "$ref": "#/definitions/TagItem" + }, + "markdownDescription": "The tags to be added to the created Malware Protection plan resource. Each tag consists of a key and an optional value, both of which you need to specify.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Role", + "ProtectedResource" + ], + "definitions": { + "TagItem": { + "type": "object", + "additionalProperties": false, + "properties": { + "Key": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CFNProtectedResource": { + "type": "object", + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "object", + "description": "Information about the protected S3 bucket resource.", + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string", + "description": "Name of the S3 bucket.", + "markdownDescription": "Name of the S3 bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ObjectPrefixes": { + "type": "array", + "description": "Information about the specified object prefixes. The S3 object will be scanned only if it belongs to any of the specified object prefixes.", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "Information about the specified object prefixes. The S3 object will be scanned only if it belongs to any of the specified object prefixes.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Information about the protected S3 bucket resource.\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + } + }, + "required": [ + "S3Bucket" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CFNActions": { + "type": "object", + "additionalProperties": false, + "properties": { + "Tagging": { + "$ref": "#/definitions/CFNTagging", + "description": "Contains information about tagging status of the Malware Protection plan resource.", + "markdownDescription": "Contains information about tagging status of the Malware Protection plan resource.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CFNTagging": { + "type": "object", + "additionalProperties": false, + "properties": { + "Status": { + "type": "string", + "description": "Indicates whether or not you chose GuardDuty to add a predefined tag to the scanned S3 object.", + "markdownDescription": "Indicates whether or not you chose GuardDuty to add a predefined tag to the scanned S3 object.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CFNStatusReasons": { + "type": "object", + "additionalProperties": false, + "properties": { + "Code": { + "type": "string", + "description": "The status code of the Malware Protection plan.", + "markdownDescription": "The status code of the Malware Protection plan.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Message": { + "type": "string", + "description": "Issue message that specifies the reason.", + "markdownDescription": "Issue message that specifies the reason.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "primaryIdentifier": [ + "/properties/MalwareProtectionPlanId" + ], + "readOnlyProperties": [ + "/properties/MalwareProtectionPlanId", + "/properties/Arn", + "/properties/CreatedAt", + "/properties/Status", + "/properties/StatusReasons" + ], + "handlers": { + "create": { + "permissions": [ + "guardduty:CreateMalwareProtectionPlan", + "guardduty:GetMalwareProtectionPlan", + "guardduty:TagResource", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "guardduty:GetMalwareProtectionPlan" + ] + }, + "delete": { + "permissions": [ + "guardduty:DeleteMalwareProtectionPlan", + "guardduty:GetMalwareProtectionPlan" + ] + }, + "update": { + "permissions": [ + "guardduty:UpdateMalwareProtectionPlan", + "guardduty:GetMalwareProtectionPlan", + "guardduty:TagResource", + "guardduty:UntagResource", + "iam:PassRole" + ] + }, + "list": { + "permissions": [ + "guardduty:ListMalwareProtectionPlans" + ] + } + }, + "attributes": { + "MalwareProtectionPlanId": { + "type": "string", + "description": "A unique identifier associated with Malware Protection plan resource.", + "markdownDescription": "A unique identifier associated with Malware Protection plan resource.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Arn": { + "type": "string", + "description": "Amazon Resource Name (ARN) of the protected resource.", + "markdownDescription": "Amazon Resource Name (ARN) of the protected resource.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CreatedAt": { + "type": "string", + "description": "The timestamp when the Malware Protection plan resource was created.", + "markdownDescription": "The timestamp when the Malware Protection plan resource was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Status": { + "type": "string", + "description": "Status of the Malware Protection plan resource.", + "markdownDescription": "Status of the Malware Protection plan resource.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "StatusReasons": { + "type": "array", + "items": { + "$ref": "#/definitions/CFNStatusReasons" + }, + "description": "Status details associated with the Malware Protection plan resource status.", + "markdownDescription": "Status details associated with the Malware Protection plan resource status.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-healthlake-fhirdatastore.json b/server/schema/resources/aws-healthlake-fhirdatastore.json index 918ae8bb..c0722c0f 100644 --- a/server/schema/resources/aws-healthlake-fhirdatastore.json +++ b/server/schema/resources/aws-healthlake-fhirdatastore.json @@ -238,7 +238,6 @@ "/properties/DatastoreTypeVersion", "/properties/PreloadDataConfig", "/properties/SseConfiguration", - "/properties/KmsEncryptionConfig", "/properties/IdentityProviderConfiguration" ], "handlers": { diff --git a/server/schema/resources/aws-iam-oidcprovider.json b/server/schema/resources/aws-iam-oidcprovider.json index c42762af..478a0ca7 100644 --- a/server/schema/resources/aws-iam-oidcprovider.json +++ b/server/schema/resources/aws-iam-oidcprovider.json @@ -30,7 +30,7 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 40 \nMaximum Length: 40 \nPattern: [0-9A-Fa-f]{40} \nUpdate requires: No interruption" }, "maxItems": 5, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Tags": { "type": "array", @@ -70,9 +70,6 @@ "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "required": [ - "ThumbprintList" - ], "createOnlyProperties": [ "/properties/Url" ], diff --git a/server/schema/resources/aws-imagebuilder-component.json b/server/schema/resources/aws-imagebuilder-component.json index e7ba6c67..b7b92e4f 100644 --- a/server/schema/resources/aws-imagebuilder-component.json +++ b/server/schema/resources/aws-imagebuilder-component.json @@ -123,7 +123,10 @@ "permissions": [ "iam:CreateServiceLinkedRole", "iam:GetRole", - "kms:GenerateDataKey*", + "kms:GenerateDataKey", + "kms:GenerateDataKeyPair", + "kms:GenerateDataKeyPairWithoutPlaintext", + "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt", "kms:Decrypt", "s3:GetObject", diff --git a/server/schema/resources/aws-imagebuilder-containerrecipe.json b/server/schema/resources/aws-imagebuilder-containerrecipe.json index a8d0358a..2c356495 100644 --- a/server/schema/resources/aws-imagebuilder-containerrecipe.json +++ b/server/schema/resources/aws-imagebuilder-containerrecipe.json @@ -351,7 +351,10 @@ "kms:Decrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo", - "kms:GenerateDataKey*", + "kms:GenerateDataKey", + "kms:GenerateDataKeyPair", + "kms:GenerateDataKeyPairWithoutPlaintext", + "kms:GenerateDataKeyWithoutPlaintext", "s3:GetObject", "s3:ListBucket", "ecr:DescribeRepositories", diff --git a/server/schema/resources/aws-imagebuilder-workflow.json b/server/schema/resources/aws-imagebuilder-workflow.json index 2579f948..4998a08e 100644 --- a/server/schema/resources/aws-imagebuilder-workflow.json +++ b/server/schema/resources/aws-imagebuilder-workflow.json @@ -109,7 +109,10 @@ "create": { "permissions": [ "iam:GetRole", - "kms:GenerateDataKey*", + "kms:GenerateDataKey", + "kms:GenerateDataKeyPair", + "kms:GenerateDataKeyPairWithoutPlaintext", + "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt", "kms:Decrypt", "s3:GetObject", diff --git a/server/schema/resources/aws-iot-authorizer.json b/server/schema/resources/aws-iot-authorizer.json index e78675c7..af953367 100644 --- a/server/schema/resources/aws-iot-authorizer.json +++ b/server/schema/resources/aws-iot-authorizer.json @@ -68,7 +68,8 @@ }, "Tags": { "type": "array", - "insertionOrder": true, + "uniqueItems": true, + "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, diff --git a/server/schema/resources/aws-iot-cacertificate.json b/server/schema/resources/aws-iot-cacertificate.json index 8ccf4b8e..4444c51f 100644 --- a/server/schema/resources/aws-iot-cacertificate.json +++ b/server/schema/resources/aws-iot-cacertificate.json @@ -103,6 +103,7 @@ "Tags": { "description": "An array of key-value pairs to apply to this resource.", "type": "array", + "uniqueItems": true, "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" diff --git a/server/schema/resources/aws-iot-certificateprovider.json b/server/schema/resources/aws-iot-certificateprovider.json index e695be5b..3a424321 100644 --- a/server/schema/resources/aws-iot-certificateprovider.json +++ b/server/schema/resources/aws-iot-certificateprovider.json @@ -65,7 +65,8 @@ "description": "An array of key-value pairs to apply to this resource.", "type": "array", "maxItems": 50, - "insertionOrder": true, + "uniqueItems": true, + "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, diff --git a/server/schema/resources/aws-iot-domainconfiguration.json b/server/schema/resources/aws-iot-domainconfiguration.json index b372ae76..a8afaf11 100644 --- a/server/schema/resources/aws-iot-domainconfiguration.json +++ b/server/schema/resources/aws-iot-domainconfiguration.json @@ -146,7 +146,8 @@ }, "Tags": { "type": "array", - "insertionOrder": true, + "uniqueItems": true, + "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, diff --git a/server/schema/resources/aws-iot-policy.json b/server/schema/resources/aws-iot-policy.json index 157bf3ae..98c4cba7 100644 --- a/server/schema/resources/aws-iot-policy.json +++ b/server/schema/resources/aws-iot-policy.json @@ -46,7 +46,8 @@ }, "Tags": { "type": "array", - "insertionOrder": true, + "uniqueItems": true, + "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, diff --git a/server/schema/resources/aws-iot-provisioningtemplate.json b/server/schema/resources/aws-iot-provisioningtemplate.json index 3a478868..5d20b5cd 100644 --- a/server/schema/resources/aws-iot-provisioningtemplate.json +++ b/server/schema/resources/aws-iot-provisioningtemplate.json @@ -15,6 +15,7 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { @@ -74,7 +75,8 @@ }, "Tags": { "type": "array", - "insertionOrder": true, + "uniqueItems": true, + "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, diff --git a/server/schema/resources/aws-iot-rolealias.json b/server/schema/resources/aws-iot-rolealias.json index edae703c..54579ef5 100644 --- a/server/schema/resources/aws-iot-rolealias.json +++ b/server/schema/resources/aws-iot-rolealias.json @@ -52,7 +52,8 @@ }, "Tags": { "type": "array", - "insertionOrder": true, + "uniqueItems": true, + "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, diff --git a/server/schema/resources/aws-kinesisanalyticsv2-application.json b/server/schema/resources/aws-kinesisanalyticsv2-application.json index 21802080..aaf486b5 100644 --- a/server/schema/resources/aws-kinesisanalyticsv2-application.json +++ b/server/schema/resources/aws-kinesisanalyticsv2-application.json @@ -95,6 +95,11 @@ "$ref": "#/definitions/ApplicationSnapshotConfiguration", "markdownDescription": "Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, + "ApplicationSystemRollbackConfiguration": { + "description": "Describes whether system initiated rollbacks are enabled for a Flink-based Kinesis Data Analytics application.", + "$ref": "#/definitions/ApplicationSystemRollbackConfiguration", + "markdownDescription": "Describes whether system initiated rollbacks are enabled for a Flink-based Kinesis Data Analytics application.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "EnvironmentProperties": { "description": "Describes execution properties for a Flink-based Kinesis Data Analytics application.", "$ref": "#/definitions/EnvironmentProperties", @@ -280,6 +285,22 @@ ], "markdownDescription": "Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ApplicationSystemRollbackConfiguration": { + "description": "Describes whether system initiated rollbacks are enabled for a Flink-based Kinesis Data Analytics application.", + "type": "object", + "additionalProperties": false, + "properties": { + "RollbackEnabled": { + "description": "Describes whether system initiated rollbacks are enabled for a Flink-based Kinesis Data Analytics application.", + "type": "boolean", + "markdownDescription": "Describes whether system initiated rollbacks are enabled for a Flink-based Kinesis Data Analytics application.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "RollbackEnabled" + ], + "markdownDescription": "Describes whether system initiated rollbacks are enabled for a Flink-based Kinesis Data Analytics application.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "EnvironmentProperties": { "description": "Describes execution properties for a Flink-based Kinesis Data Analytics application.", "type": "object", diff --git a/server/schema/resources/aws-kinesisfirehose-deliverystream.json b/server/schema/resources/aws-kinesisfirehose-deliverystream.json index ab189290..13077fc8 100644 --- a/server/schema/resources/aws-kinesisfirehose-deliverystream.json +++ b/server/schema/resources/aws-kinesisfirehose-deliverystream.json @@ -73,6 +73,10 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::KMS::Key", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" }, "KeyType": { @@ -120,7 +124,7 @@ "type": "string", "minLength": 0, "maxLength": 2048, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "ProcessingConfiguration": { "$ref": "#/definitions/ProcessingConfiguration" @@ -135,6 +139,9 @@ "S3Configuration": { "$ref": "#/definitions/S3DestinationConfiguration" }, + "SecretsManagerConfiguration": { + "$ref": "#/definitions/SecretsManagerConfiguration" + }, "BufferingHints": { "$ref": "#/definitions/SplunkBufferingHints" } @@ -142,7 +149,6 @@ "required": [ "HECEndpoint", "S3Configuration", - "HECToken", "HECEndpointType" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -155,6 +161,10 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "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" }, "EndpointConfiguration": { @@ -181,6 +191,9 @@ }, "S3Configuration": { "$ref": "#/definitions/S3DestinationConfiguration" + }, + "SecretsManagerConfiguration": { + "$ref": "#/definitions/SecretsManagerConfiguration" } }, "required": [ @@ -197,12 +210,20 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::Kinesis::Stream", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" }, "RoleARN": { "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::IAM::Role", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" } }, @@ -220,6 +241,10 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::MSK::Cluster", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" }, "TopicName": { @@ -247,6 +272,10 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::IAM::Role", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" }, "Connectivity": { @@ -272,6 +301,10 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::IAM::Role", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" }, "SubnetIds": { @@ -281,6 +314,10 @@ "type": "string", "minLength": 1, "maxLength": 1024, + "relationshipRef": { + "typeName": "AWS::EC2::Subnet", + "propertyPath": "/properties/SubnetId" + }, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "minItems": 1, @@ -294,6 +331,10 @@ "type": "string", "minLength": 1, "maxLength": 1024, + "relationshipRef": { + "typeName": "AWS::EC2::SecurityGroup", + "propertyPath": "/properties/GroupId" + }, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "minItems": 1, @@ -334,6 +375,10 @@ "type": "string", "minLength": 1, "maxLength": 2048, + "relationshipRef": { + "typeName": "AWS::S3::Bucket", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: arn:.* \nUpdate requires: No interruption" }, "BufferingHints": { @@ -393,6 +438,10 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::IAM::Role", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" }, "S3BackupConfiguration": { @@ -421,6 +470,10 @@ "type": "string", "minLength": 1, "maxLength": 2048, + "relationshipRef": { + "typeName": "AWS::S3::Bucket", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: arn:.* \nUpdate requires: No interruption" }, "BufferingHints": { @@ -459,6 +512,10 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::IAM::Role", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" } }, @@ -488,7 +545,7 @@ "type": "string", "minLength": 6, "maxLength": 512, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 6 \nMaximum Length: 512 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 6 \nMaximum Length: 512 \nUpdate requires: No interruption" }, "ProcessingConfiguration": { "$ref": "#/definitions/ProcessingConfiguration" @@ -500,6 +557,10 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::IAM::Role", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" }, "S3BackupConfiguration": { @@ -516,20 +577,21 @@ "S3Configuration": { "$ref": "#/definitions/S3DestinationConfiguration" }, + "SecretsManagerConfiguration": { + "$ref": "#/definitions/SecretsManagerConfiguration" + }, "Username": { "type": "string", "minLength": 1, "maxLength": 512, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" } }, "required": [ "S3Configuration", - "Username", "ClusterJDBCURL", "CopyCommand", - "RoleARN", - "Password" + "RoleARN" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -547,6 +609,20 @@ "type": "string", "minLength": 1, "maxLength": 512, + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::Elasticsearch::Domain", + "propertyPath": "/properties/Arn" + } + }, + { + "relationshipRef": { + "typeName": "AWS::OpenSearchService::Domain", + "propertyPath": "/properties/Arn" + } + } + ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" }, "IndexName": { @@ -576,6 +652,10 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::IAM::Role", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" }, "S3BackupMode": { @@ -658,6 +738,10 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::IAM::Role", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" }, "S3BackupMode": { @@ -723,6 +807,10 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::IAM::Role", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" }, "S3BackupMode": { @@ -740,6 +828,10 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::OpenSearchServerless::Collection", + "propertyPath": "/properties/CollectionEndpoint" + }, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: https:.* \nUpdate requires: No interruption" }, "VpcConfiguration": { @@ -767,7 +859,7 @@ "type": "string", "minLength": 256, "maxLength": 4096, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 256 \nMaximum Length: 4096 \nPattern: ^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 256 \nMaximum Length: 4096 \nPattern: ^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$ \nUpdate requires: No interruption" }, "KeyPassphrase": { "type": "string", @@ -779,7 +871,7 @@ "type": "string", "minLength": 1, "maxLength": 255, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" }, "Database": { "type": "string", @@ -836,6 +928,10 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "typeName": "AWS::IAM::Role", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" }, "RetryOptions": { @@ -851,12 +947,13 @@ }, "S3Configuration": { "$ref": "#/definitions/S3DestinationConfiguration" + }, + "SecretsManagerConfiguration": { + "$ref": "#/definitions/SecretsManagerConfiguration" } }, "required": [ "AccountUrl", - "PrivateKey", - "User", "Database", "Schema", "Table", @@ -1125,10 +1222,18 @@ }, "LogGroupName": { "type": "string", + "relationshipRef": { + "typeName": "AWS::Logs::LogGroup", + "propertyPath": "/properties/LogGroupName" + }, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LogStreamName": { "type": "string", + "relationshipRef": { + "typeName": "AWS::Logs::LogStream", + "propertyPath": "/properties/LogStreamName" + }, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, @@ -1180,6 +1285,10 @@ "properties": { "AWSKMSKeyARN": { "type": "string", + "relationshipRef": { + "typeName": "AWS::KMS::Key", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, @@ -1208,6 +1317,10 @@ }, "DatabaseName": { "type": "string", + "relationshipRef": { + "typeName": "AWS::Glue::Database", + "propertyPath": "/properties/Id" + }, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Region": { @@ -1218,10 +1331,18 @@ "type": "string", "minLength": 1, "maxLength": 512, + "relationshipRef": { + "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" }, "TableName": { "type": "string", + "relationshipRef": { + "typeName": "AWS::Glue::Table", + "propertyPath": "/properties/Id" + }, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "VersionId": { @@ -1254,6 +1375,26 @@ }, "ParameterValue": { "type": "string", + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::Lambda::Function", + "propertyPath": "/properties/Arn" + } + }, + { + "relationshipRef": { + "typeName": "AWS::IAM::Role", + "propertyPath": "/properties/Arn" + } + }, + { + "relationshipRef": { + "typeName": "AWS::Lambda::Alias", + "propertyPath": "/properties/Id" + } + } + ], "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, @@ -1510,6 +1651,40 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SecretsManagerConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + }, + "RoleARN": { + "type": "string", + "minLength": 1, + "maxLength": 512, + "relationshipRef": { + "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" + }, + "SecretARN": { + "type": "string", + "minLength": 1, + "maxLength": 512, + "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" + } + }, + "required": [ + "Enabled" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Tag": { "type": "object", "additionalProperties": false, diff --git a/server/schema/resources/aws-kms-alias.json b/server/schema/resources/aws-kms-alias.json index 147a54af..84d85145 100644 --- a/server/schema/resources/aws-kms-alias.json +++ b/server/schema/resources/aws-kms-alias.json @@ -31,7 +31,7 @@ } }, "typeName": "AWS::KMS::Alias", - "description": "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 i", + "description": "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.", "createOnlyProperties": [ "/properties/AliasName" ], diff --git a/server/schema/resources/aws-kms-key.json b/server/schema/resources/aws-kms-key.json index 9bc960f6..e0f45e09 100644 --- a/server/schema/resources/aws-kms-key.json +++ b/server/schema/resources/aws-kms-key.json @@ -1,6 +1,6 @@ { "typeName": "AWS::KMS::Key", - "description": "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.", + "description": "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.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kms", "definitions": { "Tag": { @@ -44,18 +44,18 @@ "markdownDescription": "Specifies whether the KMS key is enabled. Disabled KMS keys cannot be used in cryptographic operations.\n When ``Enabled`` is ``true``, the *key state* of the KMS key is ``Enabled``. When ``Enabled`` is ``false``, the key state of the KMS key is ``Disabled``. The default value is ``true``.\n The actual key state of the KMS key might be affected by actions taken outside of CloudFormation, such as running the [EnableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_EnableKey.html), [DisableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKey.html), or [ScheduleKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html) operations.\n For information about the key states of a KMS key, see [Key state: Effect on your KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "EnableKeyRotation": { - "description": "Enables automatic rotation of the key material for the specified KMS key. By default, automatic key rotation is not enabled.\n KMS supports automatic rotation only for symmetric encryption KMS keys (``KeySpec`` = ``SYMMETRIC_DEFAULT``). For asymmetric KMS keys, HMAC KMS keys, and KMS keys with Origin ``EXTERNAL``, omit the ``EnableKeyRotation`` property or set it to ``false``.\n To enable automatic key rotation of the key material for a multi-Region KMS key, set ``EnableKeyRotation`` to ``true`` on the primary key (created by using ``AWS::KMS::Key``). KMS copies the rotation status to all replica keys. For details, see [Rotating multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate) in the *Developer Guide*.\n When you enable automatic rotation, KMS automatically creates new key material for the KMS key one year after the enable date and every year thereafter. KMS retains all key material until you delete the KMS key. For detailed information about automatic key rotation, see [Rotating KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) in the *Developer Guide*.", + "description": "Enables automatic rotation of the key material for the specified KMS key. By default, automatic key rotation is not enabled.\n KMS supports automatic rotation only for symmetric encryption KMS keys (``KeySpec`` = ``SYMMETRIC_DEFAULT``). For asymmetric KMS keys, HMAC KMS keys, and KMS keys with Origin ``EXTERNAL``, omit the ``EnableKeyRotation`` property or set it to ``false``.\n To enable automatic key rotation of the key material for a multi-Region KMS key, set ``EnableKeyRotation`` to ``true`` on the primary key (created by using ``AWS::KMS::Key``). KMS copies the rotation status to all replica keys. For details, see [Rotating multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate) in the *Developer Guide*.\n When you enable automatic rotation, KMS automatically creates new key material for the KMS key one year after the enable date and every year thereafter. KMS retains all key material until you delete the KMS key. For detailed information about automatic key rotation, see [Rotating KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) in the *Developer Guide*.", "type": "boolean", - "markdownDescription": "Enables automatic rotation of the key material for the specified KMS key. By default, automatic key rotation is not enabled.\n KMS supports automatic rotation only for symmetric encryption KMS keys (``KeySpec`` = ``SYMMETRIC_DEFAULT``). For asymmetric KMS keys, HMAC KMS keys, and KMS keys with Origin ``EXTERNAL``, omit the ``EnableKeyRotation`` property or set it to ``false``.\n To enable automatic key rotation of the key material for a multi-Region KMS key, set ``EnableKeyRotation`` to ``true`` on the primary key (created by using ``AWS::KMS::Key``). KMS copies the rotation status to all replica keys. For details, see [Rotating multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate) in the *Developer Guide*.\n When you enable automatic rotation, KMS automatically creates new key material for the KMS key one year after the enable date and every year thereafter. KMS retains all key material until you delete the KMS key. For detailed information about automatic key rotation, see [Rotating KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Enables automatic rotation of the key material for the specified KMS key. By default, automatic key rotation is not enabled.\n KMS supports automatic rotation only for symmetric encryption KMS keys (``KeySpec`` = ``SYMMETRIC_DEFAULT``). For asymmetric KMS keys, HMAC KMS keys, and KMS keys with Origin ``EXTERNAL``, omit the ``EnableKeyRotation`` property or set it to ``false``.\n To enable automatic key rotation of the key material for a multi-Region KMS key, set ``EnableKeyRotation`` to ``true`` on the primary key (created by using ``AWS::KMS::Key``). KMS copies the rotation status to all replica keys. For details, see [Rotating multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate) in the *Developer Guide*.\n When you enable automatic rotation, KMS automatically creates new key material for the KMS key one year after the enable date and every year thereafter. KMS retains all key material until you delete the KMS key. For detailed information about automatic key rotation, see [Rotating KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "KeyPolicy": { - "description": "The key policy to attach to the KMS key.\n If you provide a key policy, it must meet the following criteria:\n + The key policy must allow the caller to make a subsequent [PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html) request on the KMS key. This reduces the risk that the KMS key becomes unmanageable. For more information, see [Default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) in the *Developer Guide*. (To omit this condition, set ``BypassPolicyLockoutSafetyCheck`` to true.)\n + Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to KMS. For more information, see [Changes that I make are not always immediately visible](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency) in the *User Guide*.\n \n If you do not provide a key policy, KMS attaches a default key policy to the KMS key. For more information, see [Default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default) in the *Developer Guide*.\n A key policy document can include only the following characters:\n + Printable ASCII characters\n + Printable characters in the Basic Latin and Latin-1 Supplement character set\n + The tab (``\\u0009``), line feed (``\\u000A``), and carriage return (``\\u000D``) special characters\n \n *Minimum*: ``1``\n *Maximum*: ``32768``", + "description": "The key policy to attach to the KMS key.\n If you provide a key policy, it must meet the following criteria:\n + The key policy must allow the caller to make a subsequent [PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html) request on the KMS key. This reduces the risk that the KMS key becomes unmanageable. For more information, see [Default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) in the *Developer Guide*. (To omit this condition, set ``BypassPolicyLockoutSafetyCheck`` to true.)\n + Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to KMS. For more information, see [Changes that I make are not always immediately visible](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency) in the *User Guide*.\n \n If you do not provide a key policy, KMS attaches a default key policy to the KMS key. For more information, see [Default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default) in the *Developer Guide*.\n A key policy document can include only the following characters:\n + Printable ASCII characters\n + Printable characters in the Basic Latin and Latin-1 Supplement character set\n + The tab (``\\u0009``), line feed (``\\u000A``), and carriage return (``\\u000D``) special characters\n \n *Minimum*: ``1`` \n *Maximum*: ``32768``", "type": [ "object", "string" ], "default": "{\n \"Version\": \"2012-10-17\",\n \"Id\": \"key-default\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn::iam:::root\"\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\"\n }\n ]\n}", - "markdownDescription": "The key policy to attach to the KMS key.\n If you provide a key policy, it must meet the following criteria:\n + The key policy must allow the caller to make a subsequent [PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html) request on the KMS key. This reduces the risk that the KMS key becomes unmanageable. For more information, see [Default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) in the *Developer Guide*. (To omit this condition, set ``BypassPolicyLockoutSafetyCheck`` to true.)\n + Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to KMS. For more information, see [Changes that I make are not always immediately visible](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency) in the *User Guide*.\n \n If you do not provide a key policy, KMS attaches a default key policy to the KMS key. For more information, see [Default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default) in the *Developer Guide*.\n A key policy document can include only the following characters:\n + Printable ASCII characters\n + Printable characters in the Basic Latin and Latin-1 Supplement character set\n + The tab (``\\u0009``), line feed (``\\u000A``), and carriage return (``\\u000D``) special characters\n \n *Minimum*: ``1``\n *Maximum*: ``32768``\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "The key policy to attach to the KMS key.\n If you provide a key policy, it must meet the following criteria:\n + The key policy must allow the caller to make a subsequent [PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html) request on the KMS key. This reduces the risk that the KMS key becomes unmanageable. For more information, see [Default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) in the *Developer Guide*. (To omit this condition, set ``BypassPolicyLockoutSafetyCheck`` to true.)\n + Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to KMS. For more information, see [Changes that I make are not always immediately visible](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency) in the *User Guide*.\n \n If you do not provide a key policy, KMS attaches a default key policy to the KMS key. For more information, see [Default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default) in the *Developer Guide*.\n A key policy document can include only the following characters:\n + Printable ASCII characters\n + Printable characters in the Basic Latin and Latin-1 Supplement character set\n + The tab (``\\u0009``), line feed (``\\u000A``), and carriage return (``\\u000D``) special characters\n \n *Minimum*: ``1`` \n *Maximum*: ``32768``\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" }, "KeyUsage": { "description": "Determines the [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) for which you can use the KMS key. The default value is ``ENCRYPT_DECRYPT``. This property is required for asymmetric KMS keys and HMAC KMS keys. You can't change the ``KeyUsage`` value after the KMS key is created.\n If you change the value of the ``KeyUsage`` property on 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 an immutable property value.\n Select only one valid value.\n + For symmetric encryption KMS keys, omit the property or specify ``ENCRYPT_DECRYPT``.\n + For asymmetric KMS keys with RSA key material, specify ``ENCRYPT_DECRYPT`` or ``SIGN_VERIFY``.\n + For asymmetric KMS keys with ECC key material, specify ``SIGN_VERIFY``.\n + For asymmetric KMS keys with SM2 (China Regions only) key material, specify ``ENCRYPT_DECRYPT`` or ``SIGN_VERIFY``.\n + For HMAC KMS keys, specify ``GENERATE_VERIFY_MAC``.", @@ -64,22 +64,23 @@ "enum": [ "ENCRYPT_DECRYPT", "SIGN_VERIFY", - "GENERATE_VERIFY_MAC" + "GENERATE_VERIFY_MAC", + "KEY_AGREEMENT" ], - "markdownDescription": "Determines the [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) for which you can use the KMS key. The default value is ``ENCRYPT_DECRYPT``. This property is required for asymmetric KMS keys and HMAC KMS keys. You can't change the ``KeyUsage`` value after the KMS key is created.\n If you change the value of the ``KeyUsage`` property on 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 an immutable property value.\n Select only one valid value.\n + For symmetric encryption KMS keys, omit the property or specify ``ENCRYPT_DECRYPT``.\n + For asymmetric KMS keys with RSA key material, specify ``ENCRYPT_DECRYPT`` or ``SIGN_VERIFY``.\n + For asymmetric KMS keys with ECC key material, specify ``SIGN_VERIFY``.\n + For asymmetric KMS keys with SM2 (China Regions only) key material, specify ``ENCRYPT_DECRYPT`` or ``SIGN_VERIFY``.\n + For HMAC KMS keys, specify ``GENERATE_VERIFY_MAC``.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENCRYPT_DECRYPT | SIGN_VERIFY | GENERATE_VERIFY_MAC \nUpdate requires: No interruption" + "markdownDescription": "Determines the [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) for which you can use the KMS key. The default value is ``ENCRYPT_DECRYPT``. This property is required for asymmetric KMS keys and HMAC KMS keys. You can't change the ``KeyUsage`` value after the KMS key is created.\n If you change the value of the ``KeyUsage`` property on 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 an immutable property value.\n Select only one valid value.\n + For symmetric encryption KMS keys, omit the property or specify ``ENCRYPT_DECRYPT``.\n + For asymmetric KMS keys with RSA key material, specify ``ENCRYPT_DECRYPT`` or ``SIGN_VERIFY``.\n + For asymmetric KMS keys with ECC key material, specify ``SIGN_VERIFY``.\n + For asymmetric KMS keys with SM2 (China Regions only) key material, specify ``ENCRYPT_DECRYPT`` or ``SIGN_VERIFY``.\n + For HMAC KMS keys, specify ``GENERATE_VERIFY_MAC``.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENCRYPT_DECRYPT | SIGN_VERIFY | GENERATE_VERIFY_MAC | KEY_AGREEMENT \nUpdate requires: No interruption" }, "Origin": { - "description": "The source of the key material for the KMS key. You cannot change the origin after you create the KMS key. The default is ``AWS_KMS``, which means that KMS creates the key material.\n To [create a KMS key with no key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-create-cmk.html) (for imported key material), set this value to ``EXTERNAL``. For more information about importing key material into KMS, see [Importing Key Material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) in the *Developer Guide*.\n You can ignore ``ENABLED`` when Origin is ``EXTERNAL``. When a KMS key with Origin ``EXTERNAL`` is created, the key state is ``PENDING_IMPORT`` and ``ENABLED`` is ``false``. After you import the key material, ``ENABLED`` updated to ``true``. The KMS key can then be used for Cryptographic Operations. \n CFN doesn't support creating an ``Origin`` parameter of the ``AWS_CLOUDHSM`` or ``EXTERNAL_KEY_STORE`` values.", + "description": "The source of the key material for the KMS key. You cannot change the origin after you create the KMS key. The default is ``AWS_KMS``, which means that KMS creates the key material.\n To [create a KMS key with no key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-create-cmk.html) (for imported key material), set this value to ``EXTERNAL``. For more information about importing key material into KMS, see [Importing Key Material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) in the *Developer Guide*.\n You can ignore ``ENABLED`` when Origin is ``EXTERNAL``. When a KMS key with Origin ``EXTERNAL`` is created, the key state is ``PENDING_IMPORT`` and ``ENABLED`` is ``false``. After you import the key material, ``ENABLED`` updated to ``true``. The KMS key can then be used for Cryptographic Operations. \n CFN doesn't support creating an ``Origin`` parameter of the ``AWS_CLOUDHSM`` or ``EXTERNAL_KEY_STORE`` values.", "type": "string", "default": "AWS_KMS", "enum": [ "AWS_KMS", "EXTERNAL" ], - "markdownDescription": "The source of the key material for the KMS key. You cannot change the origin after you create the KMS key. The default is ``AWS_KMS``, which means that KMS creates the key material.\n To [create a KMS key with no key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-create-cmk.html) (for imported key material), set this value to ``EXTERNAL``. For more information about importing key material into KMS, see [Importing Key Material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) in the *Developer Guide*.\n You can ignore ``ENABLED`` when Origin is ``EXTERNAL``. When a KMS key with Origin ``EXTERNAL`` is created, the key state is ``PENDING_IMPORT`` and ``ENABLED`` is ``false``. After you import the key material, ``ENABLED`` updated to ``true``. The KMS key can then be used for Cryptographic Operations. \n CFN doesn't support creating an ``Origin`` parameter of the ``AWS_CLOUDHSM`` or ``EXTERNAL_KEY_STORE`` values.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AWS_KMS | EXTERNAL \nUpdate requires: No interruption" + "markdownDescription": "The source of the key material for the KMS key. You cannot change the origin after you create the KMS key. The default is ``AWS_KMS``, which means that KMS creates the key material.\n To [create a KMS key with no key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-create-cmk.html) (for imported key material), set this value to ``EXTERNAL``. For more information about importing key material into KMS, see [Importing Key Material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) in the *Developer Guide*.\n You can ignore ``ENABLED`` when Origin is ``EXTERNAL``. When a KMS key with Origin ``EXTERNAL`` is created, the key state is ``PENDING_IMPORT`` and ``ENABLED`` is ``false``. After you import the key material, ``ENABLED`` updated to ``true``. The KMS key can then be used for Cryptographic Operations. \n CFN doesn't support creating an ``Origin`` parameter of the ``AWS_CLOUDHSM`` or ``EXTERNAL_KEY_STORE`` values.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AWS_KMS | EXTERNAL \nUpdate requires: No interruption" }, "KeySpec": { - "description": "Specifies the type of KMS key to create. The default value, ``SYMMETRIC_DEFAULT``, creates a KMS key with a 256-bit symmetric key for encryption and decryption. In China Regions, ``SYMMETRIC_DEFAULT`` creates a 128-bit symmetric key that uses SM4 encryption. You can't change the ``KeySpec`` value after the KMS key is created. For help choosing a key spec for your KMS key, see [Choosing a KMS key type](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose.html) in the *Developer Guide*.\n The ``KeySpec`` property determines the type of key material in the KMS key and the algorithms that the KMS key supports. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see [condition keys](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms) in the *Developer Guide*.\n If you change the value of the ``KeySpec`` property on 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 an immutable property value.\n [services that are integrated with](https://docs.aws.amazon.com/kms/features/#AWS_Service_Integration) use symmetric encryption KMS keys to protect your data. These services do not support encryption with asymmetric KMS keys. For help determining whether a KMS key is asymmetric, see [Identifying asymmetric KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html) in the *Developer Guide*.\n KMS supports the following key specs for KMS keys:\n + Symmetric encryption key (default)\n + ``SYMMETRIC_DEFAULT`` (AES-256-GCM)\n \n + HMAC keys (symmetric)\n + ``HMAC_224`` \n + ``HMAC_256`` \n + ``HMAC_384`` \n + ``HMAC_512`` \n \n + Asymmetric RSA key pairs\n + ``RSA_2048`` \n + ``RSA_3072`` \n + ``RSA_4096`` \n \n + Asymmetric NIST-recommended elliptic curve key pairs\n + ``ECC_NIST_P256`` (secp256r1)\n + ``ECC_NIST_P384`` (secp384r1)\n + ``ECC_NIST_P521`` (secp521r1)\n \n + Other asymmetric elliptic curve key pairs\n + ``ECC_SECG_P256K1`` (secp256k1), commonly used for cryptocurrencies.\n \n + SM2 key pairs (China Regions only)\n + ``SM2``", + "description": "Specifies the type of KMS key to create. The default value, ``SYMMETRIC_DEFAULT``, creates a KMS key with a 256-bit symmetric key for encryption and decryption. In China Regions, ``SYMMETRIC_DEFAULT`` creates a 128-bit symmetric key that uses SM4 encryption. You can't change the ``KeySpec`` value after the KMS key is created. For help choosing a key spec for your KMS key, see [Choosing a KMS key type](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose.html) in the *Developer Guide*.\n The ``KeySpec`` property determines the type of key material in the KMS key and the algorithms that the KMS key supports. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see [condition keys](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms) in the *Developer Guide*.\n If you change the value of the ``KeySpec`` property on 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 an immutable property value.\n [services that are integrated with](https://docs.aws.amazon.com/kms/features/#AWS_Service_Integration) use symmetric encryption KMS keys to protect your data. These services do not support encryption with asymmetric KMS keys. For help determining whether a KMS key is asymmetric, see [Identifying asymmetric KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html) in the *Developer Guide*.\n KMS supports the following key specs for KMS keys:\n + Symmetric encryption key (default)\n + ``SYMMETRIC_DEFAULT`` (AES-256-GCM)\n \n + HMAC keys (symmetric)\n + ``HMAC_224`` \n + ``HMAC_256`` \n + ``HMAC_384`` \n + ``HMAC_512`` \n \n + Asymmetric RSA key pairs\n + ``RSA_2048`` \n + ``RSA_3072`` \n + ``RSA_4096`` \n \n + Asymmetric NIST-recommended elliptic curve key pairs\n + ``ECC_NIST_P256`` (secp256r1)\n + ``ECC_NIST_P384`` (secp384r1)\n + ``ECC_NIST_P521`` (secp521r1)\n \n + Other asymmetric elliptic curve key pairs\n + ``ECC_SECG_P256K1`` (secp256k1), commonly used for cryptocurrencies.\n \n + SM2 key pairs (China Regions only)\n + ``SM2``", "type": "string", "default": "SYMMETRIC_DEFAULT", "enum": [ @@ -97,20 +98,20 @@ "HMAC_512", "SM2" ], - "markdownDescription": "Specifies the type of KMS key to create. The default value, ``SYMMETRIC_DEFAULT``, creates a KMS key with a 256-bit symmetric key for encryption and decryption. In China Regions, ``SYMMETRIC_DEFAULT`` creates a 128-bit symmetric key that uses SM4 encryption. You can't change the ``KeySpec`` value after the KMS key is created. For help choosing a key spec for your KMS key, see [Choosing a KMS key type](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose.html) in the *Developer Guide*.\n The ``KeySpec`` property determines the type of key material in the KMS key and the algorithms that the KMS key supports. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see [condition keys](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms) in the *Developer Guide*.\n If you change the value of the ``KeySpec`` property on 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 an immutable property value.\n [services that are integrated with](https://docs.aws.amazon.com/kms/features/#AWS_Service_Integration) use symmetric encryption KMS keys to protect your data. These services do not support encryption with asymmetric KMS keys. For help determining whether a KMS key is asymmetric, see [Identifying asymmetric KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html) in the *Developer Guide*.\n KMS supports the following key specs for KMS keys:\n + Symmetric encryption key (default)\n + ``SYMMETRIC_DEFAULT`` (AES-256-GCM)\n \n + HMAC keys (symmetric)\n + ``HMAC_224`` \n + ``HMAC_256`` \n + ``HMAC_384`` \n + ``HMAC_512`` \n \n + Asymmetric RSA key pairs\n + ``RSA_2048`` \n + ``RSA_3072`` \n + ``RSA_4096`` \n \n + Asymmetric NIST-recommended elliptic curve key pairs\n + ``ECC_NIST_P256`` (secp256r1)\n + ``ECC_NIST_P384`` (secp384r1)\n + ``ECC_NIST_P521`` (secp521r1)\n \n + Other asymmetric elliptic curve key pairs\n + ``ECC_SECG_P256K1`` (secp256k1), commonly used for cryptocurrencies.\n \n + SM2 key pairs (China Regions only)\n + ``SM2``\n\n---\n\nRequired: No \nType: String \nAllowed Values: SYMMETRIC_DEFAULT | RSA_2048 | RSA_3072 | RSA_4096 | ECC_NIST_P256 | ECC_NIST_P384 | ECC_NIST_P521 | ECC_SECG_P256K1 | HMAC_224 | HMAC_256 | HMAC_384 | HMAC_512 | SM2 \nUpdate requires: No interruption" + "markdownDescription": "Specifies the type of KMS key to create. The default value, ``SYMMETRIC_DEFAULT``, creates a KMS key with a 256-bit symmetric key for encryption and decryption. In China Regions, ``SYMMETRIC_DEFAULT`` creates a 128-bit symmetric key that uses SM4 encryption. You can't change the ``KeySpec`` value after the KMS key is created. For help choosing a key spec for your KMS key, see [Choosing a KMS key type](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose.html) in the *Developer Guide*.\n The ``KeySpec`` property determines the type of key material in the KMS key and the algorithms that the KMS key supports. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see [condition keys](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms) in the *Developer Guide*.\n If you change the value of the ``KeySpec`` property on 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 an immutable property value.\n [services that are integrated with](https://docs.aws.amazon.com/kms/features/#AWS_Service_Integration) use symmetric encryption KMS keys to protect your data. These services do not support encryption with asymmetric KMS keys. For help determining whether a KMS key is asymmetric, see [Identifying asymmetric KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html) in the *Developer Guide*.\n KMS supports the following key specs for KMS keys:\n + Symmetric encryption key (default)\n + ``SYMMETRIC_DEFAULT`` (AES-256-GCM)\n \n + HMAC keys (symmetric)\n + ``HMAC_224`` \n + ``HMAC_256`` \n + ``HMAC_384`` \n + ``HMAC_512`` \n \n + Asymmetric RSA key pairs\n + ``RSA_2048`` \n + ``RSA_3072`` \n + ``RSA_4096`` \n \n + Asymmetric NIST-recommended elliptic curve key pairs\n + ``ECC_NIST_P256`` (secp256r1)\n + ``ECC_NIST_P384`` (secp384r1)\n + ``ECC_NIST_P521`` (secp521r1)\n \n + Other asymmetric elliptic curve key pairs\n + ``ECC_SECG_P256K1`` (secp256k1), commonly used for cryptocurrencies.\n \n + SM2 key pairs (China Regions only)\n + ``SM2``\n\n---\n\nRequired: No \nType: String \nAllowed Values: SYMMETRIC_DEFAULT | RSA_2048 | RSA_3072 | RSA_4096 | ECC_NIST_P256 | ECC_NIST_P384 | ECC_NIST_P521 | ECC_SECG_P256K1 | HMAC_224 | HMAC_256 | HMAC_384 | HMAC_512 | SM2 \nUpdate requires: No interruption" }, "MultiRegion": { - "description": "Creates a multi-Region primary key that you can replicate in other AWS-Regions. You can't change the ``MultiRegion`` value after the KMS key is created.\n For a list of AWS-Regions in which multi-Region keys are supported, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the **.\n If you change the value of the ``MultiRegion`` property on 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 an immutable property value.\n For a multi-Region key, set to this property to ``true``. For a single-Region key, omit this property or set it to ``false``. The default value is ``false``.\n *Multi-Region keys* are an KMS feature that lets you create multiple interoperable KMS keys in different AWS-Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them to encrypt data in one AWS-Region and decrypt it in a different AWS-Region without making a cross-Region call or exposing the plaintext data. For more information, see [Multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.\n You can create a symmetric encryption, HMAC, or asymmetric multi-Region KMS key, and you can create a multi-Region key with imported key material. However, you cannot create a multi-Region key in a custom key store.\n To create a replica of this primary key in a different AWS-Region , create an [AWS::KMS::ReplicaKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html) resource in a CloudFormation stack in the replica Region. Specify the key ARN of this primary key.", + "description": "Creates a multi-Region primary key that you can replicate in other AWS-Regions. You can't change the ``MultiRegion`` value after the KMS key is created.\n For a list of AWS-Regions in which multi-Region keys are supported, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the **.\n If you change the value of the ``MultiRegion`` property on 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 an immutable property value.\n For a multi-Region key, set to this property to ``true``. For a single-Region key, omit this property or set it to ``false``. The default value is ``false``.\n *Multi-Region keys* are an KMS feature that lets you create multiple interoperable KMS keys in different AWS-Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them to encrypt data in one AWS-Region and decrypt it in a different AWS-Region without making a cross-Region call or exposing the plaintext data. For more information, see [Multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.\n You can create a symmetric encryption, HMAC, or asymmetric multi-Region KMS key, and you can create a multi-Region key with imported key material. However, you cannot create a multi-Region key in a custom key store.\n To create a replica of this primary key in a different AWS-Region , create an [AWS::KMS::ReplicaKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html) resource in a CloudFormation stack in the replica Region. Specify the key ARN of this primary key.", "type": "boolean", "default": false, - "markdownDescription": "Creates a multi-Region primary key that you can replicate in other AWS-Regions. You can't change the ``MultiRegion`` value after the KMS key is created.\n For a list of AWS-Regions in which multi-Region keys are supported, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the **.\n If you change the value of the ``MultiRegion`` property on 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 an immutable property value.\n For a multi-Region key, set to this property to ``true``. For a single-Region key, omit this property or set it to ``false``. The default value is ``false``.\n *Multi-Region keys* are an KMS feature that lets you create multiple interoperable KMS keys in different AWS-Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them to encrypt data in one AWS-Region and decrypt it in a different AWS-Region without making a cross-Region call or exposing the plaintext data. For more information, see [Multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.\n You can create a symmetric encryption, HMAC, or asymmetric multi-Region KMS key, and you can create a multi-Region key with imported key material. However, you cannot create a multi-Region key in a custom key store.\n To create a replica of this primary key in a different AWS-Region , create an [AWS::KMS::ReplicaKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html) resource in a CloudFormation stack in the replica Region. Specify the key ARN of this primary key.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Creates a multi-Region primary key that you can replicate in other AWS-Regions. You can't change the ``MultiRegion`` value after the KMS key is created.\n For a list of AWS-Regions in which multi-Region keys are supported, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the **.\n If you change the value of the ``MultiRegion`` property on 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 an immutable property value.\n For a multi-Region key, set to this property to ``true``. For a single-Region key, omit this property or set it to ``false``. The default value is ``false``.\n *Multi-Region keys* are an KMS feature that lets you create multiple interoperable KMS keys in different AWS-Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them to encrypt data in one AWS-Region and decrypt it in a different AWS-Region without making a cross-Region call or exposing the plaintext data. For more information, see [Multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.\n You can create a symmetric encryption, HMAC, or asymmetric multi-Region KMS key, and you can create a multi-Region key with imported key material. However, you cannot create a multi-Region key in a custom key store.\n To create a replica of this primary key in a different AWS-Region , create an [AWS::KMS::ReplicaKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html) resource in a CloudFormation stack in the replica Region. Specify the key ARN of this primary key.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "PendingWindowInDays": { - "description": "Specifies the number of days in the waiting period before KMS deletes a KMS key that has been removed from a CloudFormation stack. Enter a value between 7 and 30 days. The default value is 30 days.\n When you remove a KMS key from a CloudFormation stack, KMS schedules the KMS key for deletion and starts the mandatory waiting period. The ``PendingWindowInDays`` property determines the length of waiting period. During the waiting period, the key state of KMS key is ``Pending Deletion`` or ``Pending Replica Deletion``, which prevents the KMS key from being used in cryptographic operations. When the waiting period expires, KMS permanently deletes the KMS key.\n KMS will not delete a [multi-Region primary key](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) that has replica keys. If you remove a multi-Region primary key from a CloudFormation stack, its key state changes to ``PendingReplicaDeletion`` so it cannot be replicated or used in cryptographic operations. This state can persist indefinitely. When the last of its replica keys is deleted, the key state of the primary key changes to ``PendingDeletion`` and the waiting period specified by ``PendingWindowInDays`` begins. When this waiting period expires, KMS deletes the primary key. For details, see [Deleting multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-delete.html) in the *Developer Guide*.\n You cannot use a CloudFormation template to cancel deletion of the KMS key after you remove it from the stack, regardless of the waiting period. If you specify a KMS key in your template, even one with the same name, CloudFormation creates a new KMS key. To cancel deletion of a KMS key, use the KMS console or the [CancelKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_CancelKeyDeletion.html) operation.\n For information about the ``Pending Deletion`` and ``Pending Replica Deletion`` key states, see [Key state: Effect on your KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) in the *Developer Guide*. For more information about deleting KMS keys, see the [ScheduleKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html) operation in the *API Reference* and [Deleting KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) in the *Developer Guide*.", + "description": "Specifies the number of days in the waiting period before KMS deletes a KMS key that has been removed from a CloudFormation stack. Enter a value between 7 and 30 days. The default value is 30 days.\n When you remove a KMS key from a CloudFormation stack, KMS schedules the KMS key for deletion and starts the mandatory waiting period. The ``PendingWindowInDays`` property determines the length of waiting period. During the waiting period, the key state of KMS key is ``Pending Deletion`` or ``Pending Replica Deletion``, which prevents the KMS key from being used in cryptographic operations. When the waiting period expires, KMS permanently deletes the KMS key.\n KMS will not delete a [multi-Region primary key](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) that has replica keys. If you remove a multi-Region primary key from a CloudFormation stack, its key state changes to ``PendingReplicaDeletion`` so it cannot be replicated or used in cryptographic operations. This state can persist indefinitely. When the last of its replica keys is deleted, the key state of the primary key changes to ``PendingDeletion`` and the waiting period specified by ``PendingWindowInDays`` begins. When this waiting period expires, KMS deletes the primary key. For details, see [Deleting multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-delete.html) in the *Developer Guide*.\n You cannot use a CloudFormation template to cancel deletion of the KMS key after you remove it from the stack, regardless of the waiting period. If you specify a KMS key in your template, even one with the same name, CloudFormation creates a new KMS key. To cancel deletion of a KMS key, use the KMS console or the [CancelKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_CancelKeyDeletion.html) operation.\n For information about the ``Pending Deletion`` and ``Pending Replica Deletion`` key states, see [Key state: Effect on your KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) in the *Developer Guide*. For more information about deleting KMS keys, see the [ScheduleKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html) operation in the *API Reference* and [Deleting KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) in the *Developer Guide*.", "type": "integer", "minimum": 7, "maximum": 30, - "markdownDescription": "Specifies the number of days in the waiting period before KMS deletes a KMS key that has been removed from a CloudFormation stack. Enter a value between 7 and 30 days. The default value is 30 days.\n When you remove a KMS key from a CloudFormation stack, KMS schedules the KMS key for deletion and starts the mandatory waiting period. The ``PendingWindowInDays`` property determines the length of waiting period. During the waiting period, the key state of KMS key is ``Pending Deletion`` or ``Pending Replica Deletion``, which prevents the KMS key from being used in cryptographic operations. When the waiting period expires, KMS permanently deletes the KMS key.\n KMS will not delete a [multi-Region primary key](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) that has replica keys. If you remove a multi-Region primary key from a CloudFormation stack, its key state changes to ``PendingReplicaDeletion`` so it cannot be replicated or used in cryptographic operations. This state can persist indefinitely. When the last of its replica keys is deleted, the key state of the primary key changes to ``PendingDeletion`` and the waiting period specified by ``PendingWindowInDays`` begins. When this waiting period expires, KMS deletes the primary key. For details, see [Deleting multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-delete.html) in the *Developer Guide*.\n You cannot use a CloudFormation template to cancel deletion of the KMS key after you remove it from the stack, regardless of the waiting period. If you specify a KMS key in your template, even one with the same name, CloudFormation creates a new KMS key. To cancel deletion of a KMS key, use the KMS console or the [CancelKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_CancelKeyDeletion.html) operation.\n For information about the ``Pending Deletion`` and ``Pending Replica Deletion`` key states, see [Key state: Effect on your KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) in the *Developer Guide*. For more information about deleting KMS keys, see the [ScheduleKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html) operation in the *API Reference* and [Deleting KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Specifies the number of days in the waiting period before KMS deletes a KMS key that has been removed from a CloudFormation stack. Enter a value between 7 and 30 days. The default value is 30 days.\n When you remove a KMS key from a CloudFormation stack, KMS schedules the KMS key for deletion and starts the mandatory waiting period. The ``PendingWindowInDays`` property determines the length of waiting period. During the waiting period, the key state of KMS key is ``Pending Deletion`` or ``Pending Replica Deletion``, which prevents the KMS key from being used in cryptographic operations. When the waiting period expires, KMS permanently deletes the KMS key.\n KMS will not delete a [multi-Region primary key](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) that has replica keys. If you remove a multi-Region primary key from a CloudFormation stack, its key state changes to ``PendingReplicaDeletion`` so it cannot be replicated or used in cryptographic operations. This state can persist indefinitely. When the last of its replica keys is deleted, the key state of the primary key changes to ``PendingDeletion`` and the waiting period specified by ``PendingWindowInDays`` begins. When this waiting period expires, KMS deletes the primary key. For details, see [Deleting multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-delete.html) in the *Developer Guide*.\n You cannot use a CloudFormation template to cancel deletion of the KMS key after you remove it from the stack, regardless of the waiting period. If you specify a KMS key in your template, even one with the same name, CloudFormation creates a new KMS key. To cancel deletion of a KMS key, use the KMS console or the [CancelKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_CancelKeyDeletion.html) operation.\n For information about the ``Pending Deletion`` and ``Pending Replica Deletion`` key states, see [Key state: Effect on your KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) in the *Developer Guide*. For more information about deleting KMS keys, see the [ScheduleKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html) operation in the *API Reference* and [Deleting KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Tags": { "description": "Assigns one or more tags to the replica key.\n Tagging or untagging a KMS key 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 For information about tags in KMS, see [Tagging keys](https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html) in the *Developer Guide*. For information about tags in CloudFormation, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", @@ -129,12 +130,12 @@ "markdownDescription": "Skips (\"bypasses\") the key policy lockout safety check. The default value is false.\n Setting this value to true increases the risk that the KMS key becomes unmanageable. Do not set this value to true indiscriminately.\n For more information, see [Default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key) in the *Developer Guide*.\n Use this parameter only when you intend to prevent the principal that is making the request from making a subsequent [PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html) request on the KMS key.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "RotationPeriodInDays": { - "description": "", + "description": "Specifies a custom period of time between each rotation date. If no value is specified, the default value is 365 days.\n The rotation period defines the number of days after you enable automatic key rotation that KMS will rotate your key material, and the number of days between each automatic rotation thereafter.\n You can use the [kms:RotationPeriodInDays](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-rotation-period-in-days) condition key to further constrain the values that principals can specify in the ``RotationPeriodInDays`` parameter.\n For more information about rotating KMS keys and automatic rotation, see [Rotating keys](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) in the *Developer Guide*.", "type": "integer", "minimum": 90, "maximum": 2560, "default": 365, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Specifies a custom period of time between each rotation date. If no value is specified, the default value is 365 days.\n The rotation period defines the number of days after you enable automatic key rotation that KMS will rotate your key material, and the number of days between each automatic rotation thereafter.\n You can use the [kms:RotationPeriodInDays](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-rotation-period-in-days) condition key to further constrain the values that principals can specify in the ``RotationPeriodInDays`` parameter.\n For more information about rotating KMS keys and automatic rotation, see [Rotating keys](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -154,7 +155,8 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" }, "handlers": { "create": { diff --git a/server/schema/resources/aws-lambda-alias.json b/server/schema/resources/aws-lambda-alias.json index 8b12fdde..b26a430b 100644 --- a/server/schema/resources/aws-lambda-alias.json +++ b/server/schema/resources/aws-lambda-alias.json @@ -1,101 +1,84 @@ { "typeName": "AWS::Lambda::Alias", "description": "Resource Type definition for AWS::Lambda::Alias", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-lambda", + "additionalProperties": false, + "properties": { + "FunctionName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/ProvisionedConcurrencyConfiguration" + }, + "Description": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "FunctionVersion": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "RoutingConfig": { + "$ref": "#/definitions/AliasRoutingConfiguration" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + } + }, "definitions": { "ProvisionedConcurrencyConfiguration": { "type": "object", - "description": "A provisioned concurrency configuration for a function's alias.", "additionalProperties": false, "properties": { "ProvisionedConcurrentExecutions": { "type": "integer", - "description": "The amount of provisioned concurrency to allocate for the alias.", - "markdownDescription": "The amount of provisioned concurrency to allocate for the alias.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, "required": [ "ProvisionedConcurrentExecutions" ], - "markdownDescription": "A provisioned concurrency configuration for a function's alias.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "VersionWeight": { "type": "object", - "description": "The traffic-shifting configuration of a Lambda function alias.", "additionalProperties": false, "properties": { "FunctionWeight": { "type": "number", - "description": "The percentage of traffic that the alias routes to the second version.", - "markdownDescription": "The percentage of traffic that the alias routes to the second version.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "FunctionVersion": { "type": "string", - "description": "The qualifier of the second version.", - "markdownDescription": "The qualifier of the second version.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "FunctionVersion", "FunctionWeight" ], - "markdownDescription": "The traffic-shifting configuration of a Lambda function alias.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AliasRoutingConfiguration": { "type": "object", - "description": "The traffic-shifting configuration of a Lambda function alias.", "additionalProperties": false, "properties": { "AdditionalVersionWeights": { "type": "array", - "description": "The second version, and the percentage of traffic that's routed to it.", "uniqueItems": true, - "insertionOrder": false, "items": { "$ref": "#/definitions/VersionWeight" }, - "markdownDescription": "The second version, and the percentage of traffic that's routed to it.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "The traffic-shifting configuration of a Lambda function alias.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "properties": { - "FunctionName": { - "description": "The name of the Lambda function.", - "type": "string", - "markdownDescription": "The name of the Lambda function.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "ProvisionedConcurrencyConfig": { - "description": "Specifies a provisioned concurrency configuration for a function's alias.", - "$ref": "#/definitions/ProvisionedConcurrencyConfiguration", - "markdownDescription": "Specifies a provisioned concurrency configuration for a function's alias.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Description": { - "description": "A description of the alias.", - "type": "string", - "markdownDescription": "A description of the alias.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "FunctionVersion": { - "description": "The function version that the alias invokes.", - "type": "string", - "markdownDescription": "The function version that the alias invokes.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "RoutingConfig": { - "description": "The routing configuration of the alias.", - "$ref": "#/definitions/AliasRoutingConfiguration", - "markdownDescription": "The routing configuration of the alias.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Name": { - "description": "The name of the alias.", - "type": "string", - "markdownDescription": "The name of the alias.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "required": [ + "AdditionalVersionWeights" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "tagging": { - "taggable": false - }, - "additionalProperties": false, "required": [ "FunctionName", "FunctionVersion", @@ -106,68 +89,15 @@ "/properties/FunctionName" ], "primaryIdentifier": [ - "/properties/AliasArn" + "/properties/Id" ], "readOnlyProperties": [ - "/properties/AliasArn" + "/properties/Id" ], - "handlers": { - "create": { - "permissions": [ - "lambda:CreateAlias", - "lambda:PutProvisionedConcurrencyConfig", - "lambda:GetProvisionedConcurrencyConfig" - ], - "timeoutInMinutes": 45 - }, - "read": { - "permissions": [ - "lambda:GetAlias", - "lambda:GetProvisionedConcurrencyConfig" - ] - }, - "delete": { - "permissions": [ - "lambda:DeleteAlias", - "lambda:GetAlias" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "FunctionName": { - "$ref": "resource-schema.json#/properties/FunctionName" - } - }, - "required": [ - "FunctionName" - ] - }, - "permissions": [ - "lambda:ListAliases" - ] - }, - "update": { - "permissions": [ - "lambda:UpdateAlias", - "lambda:GetAlias", - "lambda:PutProvisionedConcurrencyConfig", - "lambda:DeleteProvisionedConcurrencyConfig", - "lambda:GetProvisionedConcurrencyConfig", - "codedeploy:CreateDeployment", - "codedeploy:GetDeployment", - "codedeploy:GetDeploymentGroup", - "codedeploy:GetDeploymentConfig", - "codedeploy:StopDeployment" - ], - "timeoutInMinutes": 120 - } - }, "attributes": { - "AliasArn": { - "description": "Lambda Alias ARN generated by the service.", + "Id": { "type": "string", - "markdownDescription": "Lambda Alias ARN generated by the service.\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-lambda-eventsourcemapping.json b/server/schema/resources/aws-lambda-eventsourcemapping.json index 8ac26ff3..a314e4b9 100644 --- a/server/schema/resources/aws-lambda-eventsourcemapping.json +++ b/server/schema/resources/aws-lambda-eventsourcemapping.json @@ -1,246 +1,102 @@ { - "typeName": "AWS::Lambda::EventSourceMapping", - "description": "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)", - "additionalProperties": false, - "properties": { - "BatchSize": { - "description": "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* \u2013 Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* \u2013 Default 100. Max 10,000.\n + *Amazon Simple Queue Service* \u2013 Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Self-managed Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* \u2013 Default 100. Max 10,000.\n + *DocumentDB* \u2013 Default 100. Max 10,000.", - "type": "integer", - "minimum": 1, - "maximum": 10000, - "markdownDescription": "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* \u2013 Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* \u2013 Default 100. Max 10,000.\n + *Amazon Simple Queue Service* \u2013 Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Self-managed Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* \u2013 Default 100. Max 10,000.\n + *DocumentDB* \u2013 Default 100. Max 10,000.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "BisectBatchOnFunctionError": { - "description": "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.", - "type": "boolean", - "markdownDescription": "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "DestinationConfig": { - "description": "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.", - "$ref": "#/definitions/DestinationConfig", - "markdownDescription": "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Enabled": { - "description": "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True", - "type": "boolean", - "markdownDescription": "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "EventSourceArn": { - "description": "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* \u2013 The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* \u2013 The ARN of the stream.\n + *Amazon Simple Queue Service* \u2013 The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* \u2013 The ARN of the broker.\n + *Amazon DocumentDB* \u2013 The ARN of the DocumentDB change stream.", - "type": "string", - "minLength": 12, - "maxLength": 1024, - "markdownDescription": "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* \u2013 The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* \u2013 The ARN of the stream.\n + *Amazon Simple Queue Service* \u2013 The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* \u2013 The ARN of the broker.\n + *Amazon DocumentDB* \u2013 The ARN of the DocumentDB change stream.\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)?(-isob)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*) \nUpdate requires: Replacement" - }, - "FilterCriteria": { - "description": "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html).", - "$ref": "#/definitions/FilterCriteria", - "markdownDescription": "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "FunctionName": { - "description": "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* \u2013 ``MyFunction``.\n + *Function ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* \u2013 ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.", - "type": "string", - "minLength": 1, - "maxLength": 140, - "markdownDescription": "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* \u2013 ``MyFunction``.\n + *Function ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* \u2013 ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.\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)?(-isob)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))? \nUpdate requires: No interruption" - }, - "MaximumBatchingWindowInSeconds": { - "description": "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.", - "type": "integer", - "minimum": 0, - "maximum": 300, - "markdownDescription": "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaximumRecordAgeInSeconds": { - "description": "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed", - "type": "integer", - "minimum": -1, - "maximum": 604800, - "markdownDescription": "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaximumRetryAttempts": { - "description": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.", - "type": "integer", - "minimum": -1, - "maximum": 10000, - "markdownDescription": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "ParallelizationFactor": { - "description": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.", - "type": "integer", - "minimum": 1, - "maximum": 10, - "markdownDescription": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "StartingPosition": { - "description": "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.", - "type": "string", - "minLength": 6, - "maxLength": 12, - "markdownDescription": "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 6 \nMaximum Length: 12 \nPattern: (LATEST|TRIM_HORIZON|AT_TIMESTAMP)+ \nUpdate requires: Replacement" - }, - "StartingPositionTimestamp": { - "description": "With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.", - "type": "number", - "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" - }, - "Topics": { - "description": "The name of the Kafka topic.", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string", - "minLength": 1, - "maxLength": 249, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 249 \nPattern: ^[^.]([a-zA-Z0-9\\-_.]+) \nUpdate requires: No interruption" - }, - "minItems": 1, - "maxItems": 1, - "markdownDescription": "The name of the Kafka topic.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Queues": { - "description": "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string", - "minLength": 1, - "maxLength": 1000, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nPattern: [\\s\\S]* \nUpdate requires: No interruption" - }, - "minItems": 1, - "maxItems": 1, - "markdownDescription": "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "SourceAccessConfigurations": { - "description": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/SourceAccessConfiguration" - }, - "minItems": 1, - "maxItems": 22, - "markdownDescription": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "TumblingWindowInSeconds": { - "description": "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.", - "type": "integer", - "minimum": 0, - "maximum": 900, - "markdownDescription": "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "FunctionResponseTypes": { - "description": "(Streams and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string", - "enum": [ - "ReportBatchItemFailures" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ReportBatchItemFailures \nUpdate requires: No interruption" - }, - "minLength": 0, - "maxLength": 1, - "markdownDescription": "(Streams and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``\n\n---\n\nRequired: No \nType: Array \nMaximum Length: 1 \nUpdate requires: No interruption" - }, - "SelfManagedEventSource": { - "description": "The self-managed Apache Kafka cluster for your event source.", - "$ref": "#/definitions/SelfManagedEventSource", - "markdownDescription": "The self-managed Apache Kafka cluster for your event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "propertyTransform": { + "/properties/StartingPositionTimestamp": "StartingPositionTimestamp * 1000" + }, + "handlers": { + "read": { + "permissions": [ + "lambda:GetEventSourceMapping" + ] }, - "AmazonManagedKafkaEventSourceConfig": { - "description": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", - "$ref": "#/definitions/AmazonManagedKafkaEventSourceConfig", - "markdownDescription": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "create": { + "permissions": [ + "lambda:CreateEventSourceMapping", + "lambda:GetEventSourceMapping" + ] }, - "SelfManagedKafkaEventSourceConfig": { - "description": "Specific configuration settings for a self-managed Apache Kafka event source.", - "$ref": "#/definitions/SelfManagedKafkaEventSourceConfig", - "markdownDescription": "Specific configuration settings for a self-managed Apache Kafka event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "update": { + "permissions": [ + "lambda:UpdateEventSourceMapping", + "lambda:GetEventSourceMapping" + ] }, - "ScalingConfig": { - "description": "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).", - "$ref": "#/definitions/ScalingConfig", - "markdownDescription": "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "list": { + "permissions": [ + "lambda:ListEventSourceMappings" + ] }, - "DocumentDBEventSourceConfig": { - "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" + "delete": { + "permissions": [ + "lambda:DeleteEventSourceMapping", + "lambda:GetEventSourceMapping" + ] } }, + "typeName": "AWS::Lambda::EventSourceMapping", + "readOnlyProperties": [ + "/properties/Id" + ], + "description": "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)", + "createOnlyProperties": [ + "/properties/EventSourceArn", + "/properties/StartingPosition", + "/properties/StartingPositionTimestamp", + "/properties/SelfManagedEventSource", + "/properties/AmazonManagedKafkaEventSourceConfig", + "/properties/SelfManagedKafkaEventSourceConfig" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Id" + ], "definitions": { - "DestinationConfig": { - "type": "object", + "ScalingConfig": { + "description": "(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.", "additionalProperties": false, - "description": "A configuration object that specifies the destination of an event after Lambda processes it.", - "properties": { - "OnFailure": { - "description": "The destination configuration for failed invocations.", - "$ref": "#/definitions/OnFailure", - "markdownDescription": "The destination configuration for failed invocations.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "markdownDescription": "A configuration object that specifies the destination of an event after Lambda processes it.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "FilterCriteria": { "type": "object", - "description": "An object that contains the filters for an event source.", - "additionalProperties": false, "properties": { - "Filters": { - "description": "A list of filters.", - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Filter" - }, - "minItems": 1, - "maxItems": 20, - "markdownDescription": "A list of filters.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "MaximumConcurrency": { + "description": "Limits the number of concurrent instances that the SQS event source can invoke.", + "$ref": "#/definitions/MaximumConcurrency", + "markdownDescription": "Limits the number of concurrent instances that the SQS event source can invoke.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "An object that contains the filters for an event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Filter": { - "type": "object", - "description": "A structure within a ``FilterCriteria`` object that defines an event filtering pattern.", + "SelfManagedEventSource": { + "description": "The self-managed Apache Kafka cluster for your event source.", "additionalProperties": false, - "properties": { - "Pattern": { - "type": "string", - "description": "A filter pattern. For more information on the syntax of a filter pattern, see [Filter rule syntax](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax).", - "minLength": 0, - "maxLength": 4096, - "markdownDescription": "A filter pattern. For more information on the syntax of a filter pattern, see [Filter rule syntax](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 4096 \nPattern: .* \nUpdate requires: No interruption" - } - }, - "markdownDescription": "A structure within a ``FilterCriteria`` object that defines an event filtering pattern.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "OnFailure": { "type": "object", - "description": "A destination for events that failed processing.", - "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.", - "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)?(-isob)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*) \nUpdate requires: No interruption" + "Endpoints": { + "description": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", + "$ref": "#/definitions/Endpoints", + "markdownDescription": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "A destination for events that failed processing.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The self-managed Apache Kafka cluster for your event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MaximumConcurrency": { + "description": "The maximum number of concurrent functions that an event source can invoke.", + "maximum": 1000, + "type": "integer", + "minimum": 2, + "markdownDescription": "The maximum number of concurrent functions that an event source can invoke.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "SourceAccessConfiguration": { - "type": "object", - "additionalProperties": false, "description": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", + "additionalProperties": false, + "type": "object", "properties": { "Type": { "description": "The type of authentication protocol, VPC components, or virtual host for your event source. For example: ``\"Type\":\"SASL_SCRAM_512_AUTH\"``.\n + ``BASIC_AUTH`` \u2013 (Amazon MQ) The ASMlong secret that stores your broker credentials.\n + ``BASIC_AUTH`` \u2013 (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers.\n + ``VPC_SUBNET`` \u2013 (Self-managed Apache Kafka) The subnets associated with your VPC. Lambda connects to these subnets to fetch data from your self-managed Apache Kafka cluster.\n + ``VPC_SECURITY_GROUP`` \u2013 (Self-managed Apache Kafka) The VPC security group used to manage access to your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_256_AUTH`` \u2013 (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_512_AUTH`` \u2013 (Amazon MSK, Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers.\n + ``VIRTUAL_HOST`` \u2013- (RabbitMQ) The name of the virtual host in your RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This property cannot be specified in an UpdateEventSourceMapping API call.\n + ``CLIENT_CERTIFICATE_TLS_AUTH`` \u2013 (Amazon MSK, self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key password (optional) used for mutual TLS authentication of your MSK/Apache Kafka brokers.\n + ``SERVER_ROOT_CA_CERTIFICATE`` \u2013 (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the root CA certificate (X.509 PEM) used for TLS encryption of your Apache Kafka brokers.", + "type": "string", "enum": [ "BASIC_AUTH", "VPC_SUBNET", @@ -251,201 +107,345 @@ "CLIENT_CERTIFICATE_TLS_AUTH", "SERVER_ROOT_CA_CERTIFICATE" ], - "type": "string", "markdownDescription": "The type of authentication protocol, VPC components, or virtual host for your event source. For example: ``\"Type\":\"SASL_SCRAM_512_AUTH\"``.\n + ``BASIC_AUTH`` \u2013 (Amazon MQ) The ASMlong secret that stores your broker credentials.\n + ``BASIC_AUTH`` \u2013 (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers.\n + ``VPC_SUBNET`` \u2013 (Self-managed Apache Kafka) The subnets associated with your VPC. Lambda connects to these subnets to fetch data from your self-managed Apache Kafka cluster.\n + ``VPC_SECURITY_GROUP`` \u2013 (Self-managed Apache Kafka) The VPC security group used to manage access to your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_256_AUTH`` \u2013 (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_512_AUTH`` \u2013 (Amazon MSK, Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers.\n + ``VIRTUAL_HOST`` \u2013- (RabbitMQ) The name of the virtual host in your RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This property cannot be specified in an UpdateEventSourceMapping API call.\n + ``CLIENT_CERTIFICATE_TLS_AUTH`` \u2013 (Amazon MSK, self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key password (optional) used for mutual TLS authentication of your MSK/Apache Kafka brokers.\n + ``SERVER_ROOT_CA_CERTIFICATE`` \u2013 (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the root CA certificate (X.509 PEM) used for TLS encryption of your Apache Kafka brokers.\n\n---\n\nRequired: No \nType: String \nAllowed Values: BASIC_AUTH | VPC_SUBNET | VPC_SECURITY_GROUP | SASL_SCRAM_512_AUTH | SASL_SCRAM_256_AUTH | VIRTUAL_HOST | CLIENT_CERTIFICATE_TLS_AUTH | SERVER_ROOT_CA_CERTIFICATE \nUpdate requires: No interruption" }, "URI": { + "minLength": 1, "description": "The value for your chosen configuration in ``Type``. For example: ``\"URI\": \"arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName\"``.", "type": "string", - "minLength": 1, "maxLength": 200, "markdownDescription": "The value for your chosen configuration in ``Type``. For example: ``\"URI\": \"arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName\"``.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: [a-zA-Z0-9-\\/*:_+=.@-]* \nUpdate requires: No interruption" } }, "markdownDescription": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SelfManagedEventSource": { - "type": "object", + "FilterCriteria": { + "description": "An object that contains the filters for an event source.", "additionalProperties": false, - "description": "The self-managed Apache Kafka cluster for your event source.", + "type": "object", "properties": { - "Endpoints": { - "description": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", - "$ref": "#/definitions/Endpoints", - "markdownDescription": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "Filters": { + "minItems": 1, + "maxItems": 20, + "uniqueItems": true, + "description": "A list of filters.", + "type": "array", + "items": { + "$ref": "#/definitions/Filter" + }, + "markdownDescription": "A list of filters.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "The self-managed Apache Kafka cluster for your event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "An object that contains the filters for an event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Endpoints": { + "SelfManagedKafkaEventSourceConfig": { + "description": "Specific configuration settings for a self-managed Apache Kafka event source.", + "additionalProperties": false, "type": "object", + "properties": { + "ConsumerGroupId": { + "description": "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).", + "$ref": "#/definitions/ConsumerGroupId", + "markdownDescription": "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specific configuration settings for a self-managed Apache Kafka event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DocumentDBEventSourceConfig": { + "description": "Specific configuration settings for a DocumentDB event source.", "additionalProperties": false, + "type": "object", + "properties": { + "FullDocument": { + "description": "Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.", + "type": "string", + "enum": [ + "UpdateLookup", + "Default" + ], + "markdownDescription": "Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.\n\n---\n\nRequired: No \nType: String \nAllowed Values: UpdateLookup | Default \nUpdate requires: No interruption" + }, + "CollectionName": { + "minLength": 1, + "description": "The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.", + "type": "string", + "maxLength": 57, + "markdownDescription": "The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 57 \nUpdate requires: No interruption" + }, + "DatabaseName": { + "minLength": 1, + "description": "The name of the database to consume within the DocumentDB cluster.", + "type": "string", + "maxLength": 63, + "markdownDescription": "The name of the database to consume within the DocumentDB cluster.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specific configuration settings for a DocumentDB event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Endpoints": { "description": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", + "additionalProperties": false, + "type": "object", "properties": { "KafkaBootstrapServers": { - "type": "array", - "description": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", + "minItems": 1, + "maxItems": 10, "uniqueItems": true, + "description": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", + "type": "array", "items": { - "type": "string", - "description": "The URL of a Kafka server.", "minLength": 1, + "description": "The URL of a Kafka server.", + "type": "string", "maxLength": 300, "markdownDescription": "The URL of a Kafka server.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 300 \nPattern: ^(([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} \nUpdate requires: No interruption" }, - "minItems": 1, - "maxItems": 10, "markdownDescription": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "DestinationConfig": { + "description": "A configuration object that specifies the destination of an event after Lambda processes it.", + "additionalProperties": false, + "type": "object", + "properties": { + "OnFailure": { + "description": "The destination configuration for failed invocations.", + "$ref": "#/definitions/OnFailure", + "markdownDescription": "The destination configuration for failed invocations.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A configuration object that specifies the destination of an event after Lambda processes it.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ConsumerGroupId": { + "minLength": 1, "description": "The identifier for the Kafka Consumer Group to join.", "type": "string", - "minLength": 1, "maxLength": 200, "markdownDescription": "The identifier for the Kafka Consumer Group to join.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: [a-zA-Z0-9-\\/*:_+=.@-]* \nUpdate requires: No interruption" }, - "AmazonManagedKafkaEventSourceConfig": { - "description": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", - "type": "object", + "Filter": { + "description": "A structure within a ``FilterCriteria`` object that defines an event filtering pattern.", "additionalProperties": false, - "properties": { - "ConsumerGroupId": { - "description": "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).", - "$ref": "#/definitions/ConsumerGroupId", - "markdownDescription": "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "markdownDescription": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "SelfManagedKafkaEventSourceConfig": { - "description": "Specific configuration settings for a self-managed Apache Kafka event source.", "type": "object", - "additionalProperties": false, "properties": { - "ConsumerGroupId": { - "description": "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).", - "$ref": "#/definitions/ConsumerGroupId", - "markdownDescription": "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "Pattern": { + "minLength": 0, + "description": "A filter pattern. For more information on the syntax of a filter pattern, see [Filter rule syntax](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax).", + "type": "string", + "maxLength": 4096, + "markdownDescription": "A filter pattern. For more information on the syntax of a filter pattern, see [Filter rule syntax](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 4096 \nPattern: .* \nUpdate requires: No interruption" } }, - "markdownDescription": "Specific configuration settings for a self-managed Apache Kafka event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MaximumConcurrency": { - "description": "The maximum number of concurrent functions that an event source can invoke.", - "type": "integer", - "minimum": 2, - "maximum": 1000, - "markdownDescription": "The maximum number of concurrent functions that an event source can invoke.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "A structure within a ``FilterCriteria`` object that defines an event filtering pattern.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ScalingConfig": { - "description": "(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.", - "type": "object", + "AmazonManagedKafkaEventSourceConfig": { + "description": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", "additionalProperties": false, + "type": "object", "properties": { - "MaximumConcurrency": { - "description": "Limits the number of concurrent instances that the SQS event source can invoke.", - "$ref": "#/definitions/MaximumConcurrency", - "markdownDescription": "Limits the number of concurrent instances that the SQS event source can invoke.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "ConsumerGroupId": { + "description": "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).", + "$ref": "#/definitions/ConsumerGroupId", + "markdownDescription": "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "DocumentDBEventSourceConfig": { - "description": "Specific configuration settings for a DocumentDB event source.", - "type": "object", + "OnFailure": { + "description": "A destination for events that failed processing.", "additionalProperties": false, + "type": "object", "properties": { - "DatabaseName": { - "description": "The name of the database to consume within the DocumentDB cluster.", - "type": "string", - "minLength": 1, - "maxLength": 63, - "markdownDescription": "The name of the database to consume within the DocumentDB cluster.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nUpdate requires: No interruption" - }, - "CollectionName": { - "description": "The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.", - "type": "string", - "minLength": 1, - "maxLength": 57, - "markdownDescription": "The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 57 \nUpdate requires: No interruption" - }, - "FullDocument": { - "description": "Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.", + "Destination": { + "minLength": 12, + "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.", "type": "string", - "enum": [ - "UpdateLookup", - "Default" - ], - "markdownDescription": "Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.\n\n---\n\nRequired: No \nType: String \nAllowed Values: UpdateLookup | Default \nUpdate requires: No interruption" + "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": "Specific configuration settings for a DocumentDB event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A destination for events that failed processing.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ "FunctionName" ], - "createOnlyProperties": [ - "/properties/EventSourceArn", - "/properties/StartingPosition", - "/properties/StartingPositionTimestamp", - "/properties/SelfManagedEventSource", - "/properties/AmazonManagedKafkaEventSourceConfig", - "/properties/SelfManagedKafkaEventSourceConfig" - ], - "readOnlyProperties": [ - "/properties/Id" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "propertyTransform": { - "/properties/StartingPositionTimestamp": "StartingPositionTimestamp * 1000" - }, - "handlers": { - "create": { - "permissions": [ - "lambda:CreateEventSourceMapping", - "lambda:GetEventSourceMapping" - ] + "properties": { + "StartingPosition": { + "minLength": 6, + "description": "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.", + "type": "string", + "maxLength": 12, + "markdownDescription": "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 6 \nMaximum Length: 12 \nPattern: (LATEST|TRIM_HORIZON|AT_TIMESTAMP)+ \nUpdate requires: Replacement" }, - "delete": { - "permissions": [ - "lambda:DeleteEventSourceMapping", - "lambda:GetEventSourceMapping" - ] + "SelfManagedEventSource": { + "description": "The self-managed Apache Kafka cluster for your event source.", + "$ref": "#/definitions/SelfManagedEventSource", + "markdownDescription": "The self-managed Apache Kafka cluster for your event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" }, - "list": { - "permissions": [ - "lambda:ListEventSourceMappings" - ] + "ParallelizationFactor": { + "description": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.", + "maximum": 10, + "type": "integer", + "minimum": 1, + "markdownDescription": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "read": { - "permissions": [ - "lambda:GetEventSourceMapping" - ] + "FilterCriteria": { + "description": "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html).", + "$ref": "#/definitions/FilterCriteria", + "markdownDescription": "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "update": { - "permissions": [ - "lambda:UpdateEventSourceMapping", - "lambda:GetEventSourceMapping" - ] + "FunctionName": { + "minLength": 1, + "description": "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* \u2013 ``MyFunction``.\n + *Function ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* \u2013 ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.", + "type": "string", + "maxLength": 140, + "markdownDescription": "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* \u2013 ``MyFunction``.\n + *Function ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* \u2013 ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.\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: No interruption" + }, + "DestinationConfig": { + "description": "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.", + "$ref": "#/definitions/DestinationConfig", + "markdownDescription": "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "AmazonManagedKafkaEventSourceConfig": { + "description": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", + "$ref": "#/definitions/AmazonManagedKafkaEventSourceConfig", + "markdownDescription": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + }, + "SourceAccessConfigurations": { + "minItems": 1, + "maxItems": 22, + "uniqueItems": true, + "description": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", + "type": "array", + "items": { + "$ref": "#/definitions/SourceAccessConfiguration" + }, + "markdownDescription": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "MaximumBatchingWindowInSeconds": { + "description": "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.", + "maximum": 300, + "type": "integer", + "minimum": 0, + "markdownDescription": "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "BatchSize": { + "description": "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* \u2013 Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* \u2013 Default 100. Max 10,000.\n + *Amazon Simple Queue Service* \u2013 Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Self-managed Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* \u2013 Default 100. Max 10,000.\n + *DocumentDB* \u2013 Default 100. Max 10,000.", + "maximum": 10000, + "type": "integer", + "minimum": 1, + "markdownDescription": "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* \u2013 Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* \u2013 Default 100. Max 10,000.\n + *Amazon Simple Queue Service* \u2013 Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Self-managed Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* \u2013 Default 100. Max 10,000.\n + *DocumentDB* \u2013 Default 100. Max 10,000.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MaximumRetryAttempts": { + "description": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.", + "maximum": 10000, + "type": "integer", + "minimum": -1, + "markdownDescription": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Topics": { + "minItems": 1, + "maxItems": 1, + "uniqueItems": true, + "description": "The name of the Kafka topic.", + "type": "array", + "items": { + "minLength": 1, + "type": "string", + "maxLength": 249, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 249 \nPattern: ^[^.]([a-zA-Z0-9\\-_.]+) \nUpdate requires: No interruption" + }, + "markdownDescription": "The name of the Kafka topic.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ScalingConfig": { + "description": "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).", + "$ref": "#/definitions/ScalingConfig", + "markdownDescription": "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Enabled": { + "description": "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True", + "type": "boolean", + "markdownDescription": "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "EventSourceArn": { + "minLength": 12, + "description": "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* \u2013 The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* \u2013 The ARN of the stream.\n + *Amazon Simple Queue Service* \u2013 The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* \u2013 The ARN of the broker.\n + *Amazon DocumentDB* \u2013 The ARN of the DocumentDB change stream.", + "type": "string", + "maxLength": 1024, + "markdownDescription": "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* \u2013 The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* \u2013 The ARN of the stream.\n + *Amazon Simple Queue Service* \u2013 The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* \u2013 The ARN of the broker.\n + *Amazon DocumentDB* \u2013 The ARN of the DocumentDB change stream.\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: Replacement" + }, + "SelfManagedKafkaEventSourceConfig": { + "description": "Specific configuration settings for a self-managed Apache Kafka event source.", + "$ref": "#/definitions/SelfManagedKafkaEventSourceConfig", + "markdownDescription": "Specific configuration settings for a self-managed Apache Kafka event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + }, + "DocumentDBEventSourceConfig": { + "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" + }, + "TumblingWindowInSeconds": { + "description": "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.", + "maximum": 900, + "type": "integer", + "minimum": 0, + "markdownDescription": "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "BisectBatchOnFunctionError": { + "description": "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.", + "type": "boolean", + "markdownDescription": "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "MaximumRecordAgeInSeconds": { + "description": "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed", + "maximum": 604800, + "type": "integer", + "minimum": -1, + "markdownDescription": "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "StartingPositionTimestamp": { + "description": "With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.", + "type": "number", + "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" + }, + "Queues": { + "minItems": 1, + "maxItems": 1, + "uniqueItems": true, + "description": "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.", + "type": "array", + "items": { + "minLength": 1, + "type": "string", + "maxLength": 1000, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nPattern: [\\s\\S]* \nUpdate requires: No interruption" + }, + "markdownDescription": "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "FunctionResponseTypes": { + "uniqueItems": true, + "minLength": 0, + "description": "(Streams and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``", + "type": "array", + "items": { + "type": "string", + "enum": [ + "ReportBatchItemFailures" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ReportBatchItemFailures \nUpdate requires: No interruption" + }, + "maxLength": 1, + "markdownDescription": "(Streams and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``\n\n---\n\nRequired: No \nType: Array \nMaximum Length: 1 \nUpdate requires: No interruption" } }, - "tagging": { - "taggable": false, - "tagOnCreate": false, - "tagUpdatable": false, - "cloudFormationSystemTags": false - }, "attributes": { "Id": { + "minLength": 36, "description": "", "type": "string", - "minLength": 36, "maxLength": 36, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 36 \nMaximum Length: 36 \nPattern: [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12} \nUpdate requires: No interruption" } diff --git a/server/schema/resources/aws-lambda-function.json b/server/schema/resources/aws-lambda-function.json index e8c691be..e609c773 100644 --- a/server/schema/resources/aws-lambda-function.json +++ b/server/schema/resources/aws-lambda-function.json @@ -34,12 +34,7 @@ "lambda:GetLayerVersion", "lambda:GetRuntimeManagementConfig", "lambda:PutRuntimeManagementConfig", - "lambda:TagResource", - "lambda:GetPolicy", - "lambda:AddPermission", - "lambda:RemovePermission", - "lambda:GetResourcePolicy", - "lambda:PutResourcePolicy" + "lambda:TagResource" ] }, "update": { @@ -67,13 +62,7 @@ "lambda:PutFunctionCodeSigningConfig", "lambda:DeleteFunctionCodeSigningConfig", "lambda:GetCodeSigningConfig", - "lambda:GetFunctionCodeSigningConfig", - "lambda:GetPolicy", - "lambda:AddPermission", - "lambda:RemovePermission", - "lambda:GetResourcePolicy", - "lambda:PutResourcePolicy", - "lambda:DeleteResourcePolicy" + "lambda:GetFunctionCodeSigningConfig" ] }, "list": { @@ -183,26 +172,6 @@ "description": "A list of VPC security group IDs.", "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" }, @@ -214,10 +183,6 @@ "description": "A list of VPC subnet IDs.", "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" }, @@ -233,20 +198,6 @@ "properties": { "TargetArn": { "description": "The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.", - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::SQS::Queue", - "propertyPath": "/properties/Arn" - } - }, - { - "relationshipRef": { - "typeName": "AWS::SNS::Topic", - "propertyPath": "/properties/TopicArn" - } - } - ], "type": "string", "markdownDescription": "The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.\n\n---\n\nRequired: No \nType: String \nPattern: ^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$ \nUpdate requires: No interruption" } @@ -338,10 +289,6 @@ "markdownDescription": "For versioned objects, the version of the deployment package object to use.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "S3Bucket": { - "relationshipRef": { - "typeName": "AWS::S3::Bucket", - "propertyPath": "/properties/BucketName" - }, "minLength": 3, "description": "An Amazon S3 bucket in the same AWS-Region as your function. The bucket can be in a different AWS-account.", "type": "string", @@ -503,6 +450,10 @@ "markdownDescription": "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.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "required": [ + "Code", + "Role" + ], "properties": { "Description": { "description": "A description of the function.", @@ -552,9 +503,9 @@ "markdownDescription": "The name of the Lambda function, up to 64 characters in length. If you don't specify a name, CFN generates one.\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 \nMinimum Length: 1 \nUpdate requires: Replacement" }, "Runtime": { - "description": "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.\n The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy).", + "description": "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).", "type": "string", - "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.\n The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "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.", @@ -580,10 +531,6 @@ "description": "A list of [function layers](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) to add to the function's execution environment. Specify each layer by its ARN, including the version.", "type": "array", "items": { - "relationshipRef": { - "typeName": "AWS::Lambda::LayerVersion", - "propertyPath": "/properties/LayerVersionArn" - }, "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, @@ -668,10 +615,6 @@ "markdownDescription": "The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "required": [ - "Code", - "Role" - ], "attributes": { "SnapStartResponse": { "description": "", diff --git a/server/schema/resources/aws-lambda-permission.json b/server/schema/resources/aws-lambda-permission.json index cd417be5..1ca62ccb 100644 --- a/server/schema/resources/aws-lambda-permission.json +++ b/server/schema/resources/aws-lambda-permission.json @@ -1,6 +1,6 @@ { "typeName": "AWS::Lambda::Permission", - "description": "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 fu", + "description": "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).", "additionalProperties": false, "properties": { "Action": { @@ -18,11 +18,11 @@ "markdownDescription": "For Alexa Smart Home functions, a token that the invoker must supply.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9._\\-]+$ \nUpdate requires: Replacement" }, "FunctionName": { - "description": "The name of the Lambda function, version, or alias.\n **Name formats**\n + *Function name* \u2013 ``my-function`` (name-only), ``my-function:v1`` (with alias).\n + *Function ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:my-function``.\n + *Partial ARN* \u2013 ``123456789012:function:my-function``.\n \n You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", + "description": "The name or ARN of the Lambda function, version, or alias.\n **Name formats**\n + *Function name* \u2013 ``my-function`` (name-only), ``my-function:v1`` (with alias).\n + *Function ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:my-function``.\n + *Partial ARN* \u2013 ``123456789012:function:my-function``.\n \n You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", "type": "string", "minLength": 1, "maxLength": 140, - "markdownDescription": "The name of the Lambda function, version, or alias.\n **Name formats**\n + *Function name* \u2013 ``my-function`` (name-only), ``my-function:v1`` (with alias).\n + *Function ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:my-function``.\n + *Partial ARN* \u2013 ``123456789012:function:my-function``.\n \n You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.\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" + "markdownDescription": "The name or ARN of the Lambda function, version, or alias.\n **Name formats**\n + *Function name* \u2013 ``my-function`` (name-only), ``my-function:v1`` (with alias).\n + *Function ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:my-function``.\n + *Partial ARN* \u2013 ``123456789012:function:my-function``.\n \n You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.\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" }, "FunctionUrlAuthType": { "description": "The type of authentication that your function URL uses. Set to ``AWS_IAM`` if you want to restrict access to authenticated users only. Set to ``NONE`` if you want to bypass IAM authentication to create a public endpoint. For more information, see [Security and auth model for Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html).", diff --git a/server/schema/resources/aws-lambda-version.json b/server/schema/resources/aws-lambda-version.json index 0bc0d580..c5d12d4e 100644 --- a/server/schema/resources/aws-lambda-version.json +++ b/server/schema/resources/aws-lambda-version.json @@ -20,7 +20,26 @@ "description": "The name of the Lambda function.", "minLength": 1, "maxLength": 140, - "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)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$ \nUpdate requires: Replacement" + "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.", @@ -60,7 +79,7 @@ "description": "The ARN of the runtime the function is configured to use. If the runtime update mode is manual, the ARN is returned, otherwise null is returned.", "minLength": 26, "maxLength": 2048, - "markdownDescription": "The ARN of the runtime the function is configured to use. If the runtime update mode is manual, the ARN is returned, otherwise null is returned.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 26 \nMaximum Length: 2048 \nPattern: ^arn:(aws[a-zA-Z-]*):lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}::runtime:.+$ \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the runtime the function is configured to use. If the runtime update mode is manual, the ARN is returned, otherwise null is returned.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 26 \nMaximum Length: 2048 \nPattern: ^arn:(aws[a-zA-Z-]*):lambda:[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}::runtime:.+$ \nUpdate requires: No interruption" }, "UpdateRuntimeOn": { "type": "string", @@ -133,7 +152,7 @@ "type": "string", "minLength": 1, "maxLength": 140, - "markdownDescription": "The name of the Lambda function, version, or alias.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 140 \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: No interruption" + "markdownDescription": "The name of the Lambda function, version, or alias.\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: No interruption" } }, "required": [ @@ -143,16 +162,13 @@ "permissions": [ "lambda:ListVersionsByFunction" ] - }, - "update": { - "permissions": [] } }, "attributes": { "FunctionArn": { "type": "string", "description": "The ARN of the version.", - "markdownDescription": "The ARN of the version.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the version.\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}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$ \nUpdate requires: No interruption" }, "Version": { "type": "string", diff --git a/server/schema/resources/aws-launchwizard-deployment.json b/server/schema/resources/aws-launchwizard-deployment.json new file mode 100644 index 00000000..9dddf76d --- /dev/null +++ b/server/schema/resources/aws-launchwizard-deployment.json @@ -0,0 +1,262 @@ +{ + "typeName": "AWS::LaunchWizard::Deployment", + "description": "Definition of AWS::LaunchWizard::Deployment Resource Type", + "definitions": { + "DeploymentSpecifications": { + "type": "object", + "maxProperties": 100, + "minProperties": 1, + "patternProperties": { + "^[a-zA-Z0-9-:]{3,256}$": { + "type": "string", + "maxLength": 1500, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1500 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DeploymentStatus": { + "type": "string", + "enum": [ + "COMPLETED", + "CREATING", + "DELETE_IN_PROGRESS", + "DELETE_INITIATING", + "DELETE_FAILED", + "DELETED", + "FAILED", + "IN_PROGRESS", + "VALIDATING" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: COMPLETED | CREATING | DELETE_IN_PROGRESS | DELETE_INITIATING | DELETE_FAILED | DELETED | FAILED | IN_PROGRESS | VALIDATING \nUpdate requires: No interruption" + }, + "Tags": { + "type": "object", + "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", + "minLength": 1, + "maxLength": 128, + "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 \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" + }, + "Value": { + "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 -. ", + "type": "string", + "minLength": 0, + "maxLength": 256, + "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: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "DeploymentPatternName": { + "description": "Workload deployment pattern name", + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "Workload deployment pattern name\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^[A-Za-z0-9][a-zA-Z0-9-]*$ \nUpdate requires: Replacement" + }, + "Name": { + "description": "Name of LaunchWizard deployment", + "type": "string", + "maxLength": 50, + "minLength": 1, + "markdownDescription": "Name of LaunchWizard deployment\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nPattern: ^[A-Za-z0-9_\\s\\.-]+$ \nUpdate requires: Replacement" + }, + "Specifications": { + "description": "LaunchWizard deployment specifications", + "$ref": "#/definitions/DeploymentSpecifications", + "markdownDescription": "LaunchWizard deployment specifications\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "Tags": { + "description": "Tags for LaunchWizard deployment", + "type": "array", + "items": { + "$ref": "#/definitions/Tags" + }, + "insertionOrder": false, + "markdownDescription": "Tags for LaunchWizard deployment\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "WorkloadName": { + "description": "Workload Name for LaunchWizard deployment", + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "Workload Name for LaunchWizard deployment\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[A-Za-z][a-zA-Z0-9-_]*$ \nUpdate requires: Replacement" + } + }, + "required": [ + "DeploymentPatternName", + "Name", + "Specifications", + "WorkloadName" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedAt", + "/properties/DeletedAt", + "/properties/DeploymentId", + "/properties/ResourceGroup", + "/properties/Status" + ], + "createOnlyProperties": [ + "/properties/DeploymentPatternName", + "/properties/Name", + "/properties/WorkloadName" + ], + "writeOnlyProperties": [ + "/properties/Specifications" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "handlers": { + "create": { + "permissions": [ + "launchwizard:CreateDeployment", + "launchwizard:GetDeployment", + "launchwizard:ListDeploymentEvents", + "launchwizard:ListTagsForResource", + "launchwizard:TagResource", + "ssm:GetParameter", + "ssm:PutParameter", + "ssm:DescribeParameters", + "ssm:AddTagsToResource", + "ssm:DeleteParameter", + "secretsmanager:DescribeSecret", + "secretsmanager:PutSecretValue", + "secretsmanager:CreateSecret", + "secretsmanager:TagResource", + "secretsmanager:UpdateSecret", + "resource-groups:CreateGroup", + "resource-groups:DeleteGroup", + "cloudformation:DeleteStack", + "cloudformation:DescribeStackResources", + "cloudformation:DescribeStackResource", + "cloudformation:DescribeStacks", + "cloudformation:DescribeStackEvents", + "cloudformation:CreateStack", + "cloudformation:TagResource", + "s3:PutObject", + "s3:GetObject", + "s3:CreateBucket", + "sns:ListSubscriptionsByTopic", + "sns:Publish", + "sns:ListSubscriptions", + "sns:ListTopics", + "sns:CreateTopic", + "sns:Subscribe", + "sns:Unsubscribe", + "sqs:TagQueue", + "sqs:GetQueueUrl", + "sqs:AddPermission", + "sqs:ListQueues", + "sqs:GetQueueAttributes", + "sqs:ListQueueTags", + "sqs:CreateQueue", + "sqs:SetQueueAttributes" + ], + "timeoutInMinutes": 370 + }, + "read": { + "permissions": [ + "launchwizard:GetDeployment", + "launchwizard:ListDeploymentEvents", + "launchwizard:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "launchwizard:GetDeployment", + "launchwizard:DeleteDeployment", + "launchwizard:UntagResource", + "ssm:DeleteParameter", + "secretsmanager:DeleteSecret", + "resource-groups:DeleteGroup", + "cloudformation:DeleteStack", + "cloudformation:DescribeStacks", + "ssm:GetParameter", + "sns:ListSubscriptionsByTopic", + "sns:Publish", + "sns:ListSubscriptions", + "sns:ListTopics", + "sns:CreateTopic", + "sns:DeleteTopic", + "sns:Subscribe", + "sns:Unsubscribe", + "sqs:GetQueueUrl", + "sqs:ListQueues", + "sqs:DeleteQueue", + "sqs:GetQueueAttributes", + "sqs:ListQueueTags" + ] + }, + "update": { + "permissions": [ + "launchwizard:GetDeployment", + "launchwizard:ListTagsForResource", + "launchwizard:TagResource", + "launchwizard:UntagResource" + ] + }, + "list": { + "permissions": [ + "launchwizard:ListDeployments", + "launchwizard:ListTagsForResource" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags" + }, + "additionalProperties": false, + "attributes": { + "Arn": { + "description": "ARN of the LaunchWizard deployment", + "type": "string", + "markdownDescription": "ARN of the LaunchWizard deployment\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws(-cn|-us-gov)?:launchwizard:[a-z0-9-]+:[0-9]{12}:deployment/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$ \nUpdate requires: No interruption" + }, + "CreatedAt": { + "description": "Timestamp of LaunchWizard deployment creation", + "type": "string", + "format": "date-time", + "markdownDescription": "Timestamp of LaunchWizard deployment creation\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DeletedAt": { + "description": "Timestamp of LaunchWizard deployment deletion", + "type": "string", + "format": "date-time", + "markdownDescription": "Timestamp of LaunchWizard deployment deletion\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DeploymentId": { + "description": "Deployment ID of the LaunchWizard deployment", + "type": "string", + "maxLength": 128, + "minLength": 2, + "markdownDescription": "Deployment ID of the LaunchWizard deployment\n\n---\n\nRequired: No \nType: String \nMinimum Length: 2 \nMaximum Length: 128 \nPattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ \nUpdate requires: No interruption" + }, + "ResourceGroup": { + "description": "Resource Group Name created for LaunchWizard deployment", + "type": "string", + "markdownDescription": "Resource Group Name created for LaunchWizard deployment\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Status": { + "description": "Status of LaunchWizard deployment", + "$ref": "#/definitions/DeploymentStatus", + "markdownDescription": "Status of LaunchWizard deployment\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-lightsail-instance.json b/server/schema/resources/aws-lightsail-instance.json index f362a4d0..fc53465e 100644 --- a/server/schema/resources/aws-lightsail-instance.json +++ b/server/schema/resources/aws-lightsail-instance.json @@ -394,6 +394,7 @@ "/properties/IsStaticIp", "/properties/PrivateIpAddress", "/properties/PublicIpAddress", + "/properties/Ipv6Addresses", "/properties/Location/AvailabilityZone", "/properties/Location/RegionName", "/properties/Hardware/CpuCount", @@ -498,6 +499,16 @@ "type": "string", "markdownDescription": "Public IP Address of the Instance\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "Ipv6Addresses": { + "description": "IPv6 addresses of the instance", + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "IPv6 addresses of the instance\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "UserName": { "description": "Username of the Lightsail instance.", "type": "string", diff --git a/server/schema/resources/aws-location-apikey.json b/server/schema/resources/aws-location-apikey.json index 1353ae6e..17eb1ea9 100644 --- a/server/schema/resources/aws-location-apikey.json +++ b/server/schema/resources/aws-location-apikey.json @@ -23,7 +23,7 @@ "items": { "type": "string", "maxLength": 1600, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1600 \nPattern: ^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1600 \nPattern: (^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$)|(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):(geo-routes|geo-places|geo-maps)(:((\\*)|([a-z0-9]+([.-][a-z0-9]+)*)))::((provider[\\/][*-._\\w]+))$) \nUpdate requires: No interruption" }, "maxItems": 5, "minItems": 1, @@ -54,11 +54,11 @@ "type": "object", "maxProperties": 50, "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { + ".*": { "type": "string", "maxLength": 256, "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^[A-Za-z0-9 _=@:.+-/]*$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$ \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-location-geofencecollection.json b/server/schema/resources/aws-location-geofencecollection.json index a3a5da8e..10c478f1 100644 --- a/server/schema/resources/aws-location-geofencecollection.json +++ b/server/schema/resources/aws-location-geofencecollection.json @@ -79,7 +79,8 @@ }, "PricingPlanDataSource": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "This shape is deprecated since 2022-02-01: Deprecated. No longer allowed.", + "markdownDescription": "This shape is deprecated since 2022-02-01: Deprecated. No longer allowed.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tags": { "description": "An array of key-value pairs to apply to this resource.", diff --git a/server/schema/resources/aws-location-map.json b/server/schema/resources/aws-location-map.json index 7a9dd126..751964f0 100644 --- a/server/schema/resources/aws-location-map.json +++ b/server/schema/resources/aws-location-map.json @@ -46,11 +46,11 @@ "type": "object", "maxProperties": 50, "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { + ".*": { "type": "string", "maxLength": 256, "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^[A-Za-z0-9 _=@:.+-/]*$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$ \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-location-placeindex.json b/server/schema/resources/aws-location-placeindex.json index 2fb96f76..deb91fa8 100644 --- a/server/schema/resources/aws-location-placeindex.json +++ b/server/schema/resources/aws-location-placeindex.json @@ -31,11 +31,11 @@ "type": "object", "maxProperties": 50, "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { + ".*": { "type": "string", "maxLength": 256, "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^[A-Za-z0-9 _=@:.+-/]*$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$ \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-location-routecalculator.json b/server/schema/resources/aws-location-routecalculator.json index 5463086c..b271550b 100644 --- a/server/schema/resources/aws-location-routecalculator.json +++ b/server/schema/resources/aws-location-routecalculator.json @@ -13,11 +13,11 @@ "type": "object", "maxProperties": 50, "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { + ".*": { "type": "string", "maxLength": 256, "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^[A-Za-z0-9 _=@:.+-/]*$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$ \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-location-tracker.json b/server/schema/resources/aws-location-tracker.json index 56eadd55..e0432e59 100644 --- a/server/schema/resources/aws-location-tracker.json +++ b/server/schema/resources/aws-location-tracker.json @@ -22,11 +22,11 @@ "type": "object", "maxProperties": 50, "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { + ".*": { "type": "string", "maxLength": 256, "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^[A-Za-z0-9 _=@:.+-/]*$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$ \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -93,7 +93,8 @@ }, "PricingPlanDataSource": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "This shape is deprecated since 2022-02-01: Deprecated. No longer allowed.", + "markdownDescription": "This shape is deprecated since 2022-02-01: Deprecated. No longer allowed.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tags": { "description": "An array of key-value pairs to apply to this resource.", diff --git a/server/schema/resources/aws-logs-delivery.json b/server/schema/resources/aws-logs-delivery.json index 7a823752..02806e15 100644 --- a/server/schema/resources/aws-logs-delivery.json +++ b/server/schema/resources/aws-logs-delivery.json @@ -34,7 +34,7 @@ "type": "string", "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: ^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$ \nUpdate requires: No interruption" + "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" } }, "properties": { diff --git a/server/schema/resources/aws-logs-deliverydestination.json b/server/schema/resources/aws-logs-deliverydestination.json index a41450a7..488dd069 100644 --- a/server/schema/resources/aws-logs-deliverydestination.json +++ b/server/schema/resources/aws-logs-deliverydestination.json @@ -8,7 +8,7 @@ "type": "string", "minLength": 16, "maxLength": 2048, - "markdownDescription": "The Amazon Resource Name (ARN) that uniquely identifies a resource.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 16 \nMaximum Length: 2048 \nPattern: ^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) that uniquely identifies a resource.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 16 \nMaximum Length: 2048 \nPattern: [\\w#+=/:,.@-]*\\*? \nUpdate requires: No interruption" }, "Tag": { "description": "A key-value pair to associate with a resource.", diff --git a/server/schema/resources/aws-logs-deliverysource.json b/server/schema/resources/aws-logs-deliverysource.json index 019088e5..bfc4a5bd 100644 --- a/server/schema/resources/aws-logs-deliverysource.json +++ b/server/schema/resources/aws-logs-deliverysource.json @@ -34,7 +34,7 @@ "type": "string", "minLength": 16, "maxLength": 2048, - "markdownDescription": "The Amazon Resource Name (ARN) that uniquely identifies this delivery source.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 16 \nMaximum Length: 2048 \nPattern: ^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) that uniquely identifies this delivery source.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 16 \nMaximum Length: 2048 \nPattern: [\\w#+=/:,.@-]*\\*? \nUpdate requires: No interruption" } }, "properties": { diff --git a/server/schema/resources/aws-m2-environment.json b/server/schema/resources/aws-m2-environment.json index ae258641..9772b9c7 100644 --- a/server/schema/resources/aws-m2-environment.json +++ b/server/schema/resources/aws-m2-environment.json @@ -263,7 +263,8 @@ "m2:UntagResource", "m2:ListTagsForResource", "m2:GetEnvironment", - "m2:UpdateEnvironment" + "m2:UpdateEnvironment", + "kms:DescribeKey" ] }, "delete": { diff --git a/server/schema/resources/aws-mediaconnect-flow.json b/server/schema/resources/aws-mediaconnect-flow.json index ddaf4c75..f59c74e6 100644 --- a/server/schema/resources/aws-mediaconnect-flow.json +++ b/server/schema/resources/aws-mediaconnect-flow.json @@ -22,6 +22,27 @@ "description": "The source failover config of the flow.", "$ref": "#/definitions/FailoverConfig", "markdownDescription": "The source failover config of the flow.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "VpcInterfaces": { + "type": "array", + "description": "The VPC interfaces that you added to this flow.", + "items": { + "$ref": "#/definitions/VpcInterface" + }, + "markdownDescription": "The VPC interfaces that you added to this flow.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "MediaStreams": { + "type": "array", + "description": "The media streams associated with the flow. You can associate any of these media streams with sources and outputs on the flow.", + "items": { + "$ref": "#/definitions/MediaStream" + }, + "markdownDescription": "The media streams associated with the flow. You can associate any of these media streams with sources and outputs on the flow.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Maintenance": { + "description": "The maintenance settings you want to use for the flow. ", + "$ref": "#/definitions/Maintenance", + "markdownDescription": "The maintenance settings you want to use for the flow. \n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "definitions": { @@ -72,13 +93,11 @@ "MaxLatency": { "type": "integer", "description": "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.", - "default": 2000, "markdownDescription": "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "MinLatency": { "type": "integer", "description": "The minimum latency in milliseconds.", - "default": 2000, "markdownDescription": "The minimum latency in milliseconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Name": { @@ -95,10 +114,12 @@ "rist", "fujitsu-qos", "srt-listener", - "srt-caller" + "srt-caller", + "st2110-jpegxs", + "cdi" ], "description": "The protocol that is used by the source.", - "markdownDescription": "The protocol that is used by the source.\n\n---\n\nRequired: No \nType: String \nAllowed Values: zixi-push | rtp-fec | rtp | rist | fujitsu-qos | srt-listener | srt-caller \nUpdate requires: No interruption" + "markdownDescription": "The protocol that is used by the source.\n\n---\n\nRequired: No \nType: String \nAllowed Values: zixi-push | rtp-fec | rtp | rist | fujitsu-qos | srt-listener | srt-caller | st2110-jpegxs | cdi \nUpdate requires: No interruption" }, "SenderIpAddress": { "type": "string", @@ -139,6 +160,19 @@ "type": "string", "description": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", "markdownDescription": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MaxSyncBuffer": { + "type": "integer", + "description": "The size of the buffer (in milliseconds) to use to sync incoming source data.", + "markdownDescription": "The size of the buffer (in milliseconds) to use to sync incoming source data.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MediaStreamSourceConfigurations": { + "type": "array", + "description": "The media stream that is associated with the source, and the parameters for that association.", + "items": { + "$ref": "#/definitions/MediaStreamSourceConfiguration" + }, + "markdownDescription": "The media stream that is associated with the source, and the parameters for that association.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -290,6 +324,323 @@ }, "additionalProperties": false, "markdownDescription": "The settings for attaching a VPC interface to an resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "VpcInterface": { + "type": "object", + "description": "The details of a VPC interface.", + "properties": { + "Name": { + "type": "string", + "description": "Immutable and has to be a unique against other VpcInterfaces in this Flow.", + "markdownDescription": "Immutable and has to be a unique against other VpcInterfaces in this Flow.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "NetworkInterfaceType": { + "type": "string", + "description": "The type of network adapter that you want MediaConnect to use on this interface. If you don't set this value, it defaults to ENA.", + "enum": [ + "ena", + "efa" + ], + "markdownDescription": "The type of network adapter that you want MediaConnect to use on this interface. If you don't set this value, it defaults to ENA.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ena | efa \nUpdate requires: No interruption" + }, + "RoleArn": { + "type": "string", + "description": "Role Arn MediaConnect can assume to create ENIs in customer's account.", + "markdownDescription": "Role Arn MediaConnect can assume to create ENIs in customer's account.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "SecurityGroupIds": { + "type": "array", + "description": "Security Group IDs to be used on ENI.", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "Security Group IDs to be used on ENI.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "SubnetId": { + "type": "string", + "description": "Subnet must be in the AZ of the Flow", + "markdownDescription": "Subnet must be in the AZ of the Flow\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "NetworkInterfaceIds": { + "type": "array", + "description": "IDs of the network interfaces created in customer's account by MediaConnect.", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "IDs of the network interfaces created in customer's account by MediaConnect.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Name", + "RoleArn", + "SecurityGroupIds", + "SubnetId" + ], + "markdownDescription": "The details of a VPC interface.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Maintenance": { + "type": "object", + "description": "The maintenance setting of a flow.", + "properties": { + "MaintenanceDay": { + "type": "string", + "description": "A day of a week when the maintenance will happen. Use Monday/Tuesday/Wednesday/Thursday/Friday/Saturday/Sunday.", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "markdownDescription": "A day of a week when the maintenance will happen. Use Monday/Tuesday/Wednesday/Thursday/Friday/Saturday/Sunday.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday \nUpdate requires: No interruption" + }, + "MaintenanceStartHour": { + "type": "string", + "description": "UTC time when the maintenance will happen. Use 24-hour HH:MM format. Minutes must be 00. Example: 13:00. The default value is 02:00.", + "markdownDescription": "UTC time when the maintenance will happen. Use 24-hour HH:MM format. Minutes must be 00. Example: 13:00. The default value is 02:00.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "MaintenanceDay", + "MaintenanceStartHour" + ], + "markdownDescription": "The maintenance setting of a flow.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MediaStream": { + "type": "object", + "description": "A single track or stream of media that contains video, audio, or ancillary data. After you add a media stream to a flow, you can associate it with sources and outputs on that flow, as long as they use the CDI protocol or the ST 2110 JPEG XS protocol. Each source or output can consist of one or many media streams.", + "properties": { + "MediaStreamId": { + "type": "integer", + "description": "A unique identifier for the media stream.", + "markdownDescription": "A unique identifier for the media stream.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "MediaStreamType": { + "type": "string", + "description": "The type of media stream.", + "enum": [ + "video", + "audio", + "ancillary-data" + ], + "markdownDescription": "The type of media stream.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: video | audio | ancillary-data \nUpdate requires: No interruption" + }, + "VideoFormat": { + "type": "string", + "description": "The resolution of the video.", + "enum": [ + "2160p", + "1080p", + "1080i", + "720p", + "480p" + ], + "markdownDescription": "The resolution of the video.\n\n---\n\nRequired: No \nType: String \nAllowed Values: 2160p | 1080p | 1080i | 720p | 480p \nUpdate requires: No interruption" + }, + "MediaStreamName": { + "type": "string", + "description": "A name that helps you distinguish one media stream from another.", + "markdownDescription": "A name that helps you distinguish one media stream from another.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Description": { + "type": "string", + "description": "A description that can help you quickly identify what your media stream is used for.", + "markdownDescription": "A description that can help you quickly identify what your media stream is used for.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Attributes": { + "$ref": "#/definitions/MediaStreamAttributes", + "description": "Attributes that are related to the media stream.", + "markdownDescription": "Attributes that are related to the media stream.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ClockRate": { + "type": "integer", + "description": "The sample rate for the stream. This value in measured in kHz.", + "markdownDescription": "The sample rate for the stream. This value in measured in kHz.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Fmt": { + "type": "integer", + "description": "The format type number (sometimes referred to as RTP payload type) of the media stream. MediaConnect assigns this value to the media stream. For ST 2110 JPEG XS outputs, you need to provide this value to the receiver.", + "markdownDescription": "The format type number (sometimes referred to as RTP payload type) of the media stream. MediaConnect assigns this value to the media stream. For ST 2110 JPEG XS outputs, you need to provide this value to the receiver.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "MediaStreamId", + "MediaStreamType", + "MediaStreamName" + ], + "markdownDescription": "A single track or stream of media that contains video, audio, or ancillary data. After you add a media stream to a flow, you can associate it with sources and outputs on that flow, as long as they use the CDI protocol or the ST 2110 JPEG XS protocol. Each source or output can consist of one or many media streams.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MediaStreamAttributes": { + "type": "object", + "description": "Attributes that are related to the media stream.", + "properties": { + "Fmtp": { + "$ref": "#/definitions/Fmtp", + "description": "A set of parameters that define the media stream.", + "markdownDescription": "A set of parameters that define the media stream.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Lang": { + "type": "string", + "description": "The audio language, in a format that is recognized by the receiver.", + "markdownDescription": "The audio language, in a format that is recognized by the receiver.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Attributes that are related to the media stream.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Fmtp": { + "type": "object", + "description": "A set of parameters that define the media stream.", + "properties": { + "ExactFramerate": { + "type": "string", + "description": "The frame rate for the video stream, in frames/second. For example: 60000/1001.", + "markdownDescription": "The frame rate for the video stream, in frames/second. For example: 60000/1001.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Colorimetry": { + "type": "string", + "description": "The format used for the representation of color.", + "enum": [ + "BT601", + "BT709", + "BT2020", + "BT2100", + "ST2065-1", + "ST2065-3", + "XYZ" + ], + "markdownDescription": "The format used for the representation of color.\n\n---\n\nRequired: No \nType: String \nAllowed Values: BT601 | BT709 | BT2020 | BT2100 | ST2065-1 | ST2065-3 | XYZ \nUpdate requires: No interruption" + }, + "ScanMode": { + "type": "string", + "description": "The type of compression that was used to smooth the video's appearance.", + "enum": [ + "progressive", + "interlace", + "progressive-segmented-frame" + ], + "markdownDescription": "The type of compression that was used to smooth the video's appearance.\n\n---\n\nRequired: No \nType: String \nAllowed Values: progressive | interlace | progressive-segmented-frame \nUpdate requires: No interruption" + }, + "Tcs": { + "type": "string", + "description": "The transfer characteristic system (TCS) that is used in the video.", + "enum": [ + "SDR", + "PQ", + "HLG", + "LINEAR", + "BT2100LINPQ", + "BT2100LINHLG", + "ST2065-1", + "ST428-1", + "DENSITY" + ], + "markdownDescription": "The transfer characteristic system (TCS) that is used in the video.\n\n---\n\nRequired: No \nType: String \nAllowed Values: SDR | PQ | HLG | LINEAR | BT2100LINPQ | BT2100LINHLG | ST2065-1 | ST428-1 | DENSITY \nUpdate requires: No interruption" + }, + "Range": { + "type": "string", + "description": "The encoding range of the video.", + "enum": [ + "NARROW", + "FULL", + "FULLPROTECT" + ], + "markdownDescription": "The encoding range of the video.\n\n---\n\nRequired: No \nType: String \nAllowed Values: NARROW | FULL | FULLPROTECT \nUpdate requires: No interruption" + }, + "Par": { + "type": "string", + "description": "The pixel aspect ratio (PAR) of the video.", + "markdownDescription": "The pixel aspect ratio (PAR) of the video.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ChannelOrder": { + "type": "string", + "description": "The format of the audio channel.", + "markdownDescription": "The format of the audio channel.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "A set of parameters that define the media stream.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MediaStreamSourceConfiguration": { + "type": "object", + "description": "The media stream that is associated with the source, and the parameters for that association.", + "properties": { + "EncodingName": { + "type": "string", + "description": "The format that was used to encode the data. For ancillary data streams, set the encoding name to smpte291. For audio streams, set the encoding name to pcm. For video, 2110 streams, set the encoding name to raw. For video, JPEG XS streams, set the encoding name to jxsv.", + "enum": [ + "jxsv", + "raw", + "smpte291", + "pcm" + ], + "markdownDescription": "The format that was used to encode the data. For ancillary data streams, set the encoding name to smpte291. For audio streams, set the encoding name to pcm. For video, 2110 streams, set the encoding name to raw. For video, JPEG XS streams, set the encoding name to jxsv.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: jxsv | raw | smpte291 | pcm \nUpdate requires: No interruption" + }, + "InputConfigurations": { + "type": "array", + "description": "The media streams that you want to associate with the source.", + "items": { + "$ref": "#/definitions/InputConfiguration" + }, + "markdownDescription": "The media streams that you want to associate with the source.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "MediaStreamName": { + "type": "string", + "description": "A name that helps you distinguish one media stream from another.", + "markdownDescription": "A name that helps you distinguish one media stream from another.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "EncodingName", + "MediaStreamName" + ], + "markdownDescription": "The media stream that is associated with the source, and the parameters for that association.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InputConfiguration": { + "type": "object", + "description": "The transport parameters associated with an incoming media stream.", + "properties": { + "InputPort": { + "type": "integer", + "description": "The port that the flow listens on for an incoming media stream.", + "markdownDescription": "The port that the flow listens on for an incoming media stream.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "Interface": { + "$ref": "#/definitions/Interface", + "description": "The VPC interface where the media stream comes in from.", + "markdownDescription": "The VPC interface where the media stream comes in from.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "InputPort", + "Interface" + ], + "markdownDescription": "The transport parameters associated with an incoming media stream.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Interface": { + "type": "object", + "description": "The VPC interface that you want to use for the media stream associated with the output.", + "properties": { + "Name": { + "type": "string", + "description": "The name of the VPC interface that you want to use for the media stream associated with the output.", + "markdownDescription": "The name of the VPC interface that you want to use for the media stream associated with the output.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Name" + ], + "markdownDescription": "The VPC interface that you want to use for the media stream associated with the output.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ @@ -307,11 +658,20 @@ "/properties/FlowAvailabilityZone", "/properties/Source/SourceArn", "/properties/Source/IngestIp", - "/properties/Source/SourceIngestPort" + "/properties/Source/SourceIngestPort", + "/properties/VpcInterfaces/*/NetworkInterfaceIds", + "/properties/MediaStreams/*/Fmt", + "/properties/EgressIp" ], "primaryIdentifier": [ "/properties/FlowArn" ], + "resourceLink": { + "templateUri": "/mediaconnect/home?region=${awsRegion}#/flows/${flowArn}", + "mappings": { + "flowArn": "/FlowArn" + } + }, "handlers": { "create": { "permissions": [ @@ -328,7 +688,12 @@ "permissions": [ "mediaconnect:DescribeFlow", "mediaconnect:UpdateFlow", - "mediaconnect:UpdateFlowSource" + "mediaconnect:UpdateFlowSource", + "mediaconnect:UpdateFlowMediaStream", + "mediaconnect:AddFlowMediaStreams", + "mediaconnect:RemoveFlowMediaStream", + "mediaconnect:AddFlowVpcInterfaces", + "mediaconnect:RemoveFlowVpcInterface" ] }, "delete": { @@ -349,6 +714,11 @@ "type": "string", "markdownDescription": "The Amazon Resource Name (ARN), a unique identifier for any AWS resource, of the flow.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "EgressIp": { + "description": "The IP address from which video will be sent to output destinations.", + "type": "string", + "markdownDescription": "The IP address from which video will be sent to output destinations.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "FlowAvailabilityZone": { "description": "The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS.(ReadOnly)", "type": "string", diff --git a/server/schema/resources/aws-mediaconnect-flowoutput.json b/server/schema/resources/aws-mediaconnect-flowoutput.json index 12f72af4..0d4517e7 100644 --- a/server/schema/resources/aws-mediaconnect-flowoutput.json +++ b/server/schema/resources/aws-mediaconnect-flowoutput.json @@ -57,6 +57,116 @@ }, "additionalProperties": false, "markdownDescription": "The settings for attaching a VPC interface to an output.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MediaStreamOutputConfiguration": { + "type": "object", + "description": "The media stream that is associated with the output, and the parameters for that association.", + "properties": { + "EncodingName": { + "type": "string", + "description": "The format that will be used to encode the data. For ancillary data streams, set the encoding name to smpte291. For audio streams, set the encoding name to pcm. For video streams on sources or outputs that use the CDI protocol, set the encoding name to raw. For video streams on sources or outputs that use the ST 2110 JPEG XS protocol, set the encoding name to jxsv.", + "enum": [ + "jxsv", + "raw", + "smpte291", + "pcm" + ], + "markdownDescription": "The format that will be used to encode the data. For ancillary data streams, set the encoding name to smpte291. For audio streams, set the encoding name to pcm. For video streams on sources or outputs that use the CDI protocol, set the encoding name to raw. For video streams on sources or outputs that use the ST 2110 JPEG XS protocol, set the encoding name to jxsv.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: jxsv | raw | smpte291 | pcm \nUpdate requires: No interruption" + }, + "DestinationConfigurations": { + "type": "array", + "description": "The media streams that you want to associate with the output.", + "items": { + "$ref": "#/definitions/DestinationConfiguration" + }, + "markdownDescription": "The media streams that you want to associate with the output.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "MediaStreamName": { + "type": "string", + "description": "A name that helps you distinguish one media stream from another.", + "markdownDescription": "A name that helps you distinguish one media stream from another.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "EncodingParameters": { + "$ref": "#/definitions/EncodingParameters", + "description": "A collection of parameters that determine how MediaConnect will convert the content. These fields only apply to outputs on flows that have a CDI source.", + "markdownDescription": "A collection of parameters that determine how MediaConnect will convert the content. These fields only apply to outputs on flows that have a CDI source.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "EncodingName", + "MediaStreamName" + ], + "markdownDescription": "The media stream that is associated with the output, and the parameters for that association.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DestinationConfiguration": { + "type": "object", + "description": "The definition of a media stream that is associated with the output.", + "properties": { + "DestinationIp": { + "type": "string", + "description": "The IP address where contents of the media stream will be sent.", + "markdownDescription": "The IP address where contents of the media stream will be sent.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "DestinationPort": { + "type": "integer", + "description": "The port to use when the content of the media stream is distributed to the output.", + "markdownDescription": "The port to use when the content of the media stream is distributed to the output.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "Interface": { + "$ref": "#/definitions/Interface", + "description": "The VPC interface that is used for the media stream associated with the output.", + "markdownDescription": "The VPC interface that is used for the media stream associated with the output.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "DestinationIp", + "DestinationPort", + "Interface" + ], + "markdownDescription": "The definition of a media stream that is associated with the output.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Interface": { + "type": "object", + "description": "The VPC interface that you want to use for the media stream associated with the output.", + "properties": { + "Name": { + "type": "string", + "description": "The name of the VPC interface that you want to use for the media stream associated with the output.", + "markdownDescription": "The name of the VPC interface that you want to use for the media stream associated with the output.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Name" + ], + "markdownDescription": "The VPC interface that you want to use for the media stream associated with the output.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EncodingParameters": { + "type": "object", + "description": "A collection of parameters that determine how MediaConnect will convert the content. These fields only apply to outputs on flows that have a CDI source.", + "properties": { + "CompressionFactor": { + "type": "number", + "description": "A value that is used to calculate compression for an output. The bitrate of the output is calculated as follows: Output bitrate = (1 / compressionFactor) * (source bitrate) This property only applies to outputs that use the ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol. Valid values are in the range of 3.0 to 10.0, inclusive.", + "markdownDescription": "A value that is used to calculate compression for an output. The bitrate of the output is calculated as follows: Output bitrate = (1 / compressionFactor) * (source bitrate) This property only applies to outputs that use the ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol. Valid values are in the range of 3.0 to 10.0, inclusive.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "EncoderProfile": { + "type": "string", + "description": "A setting on the encoder that drives compression settings. This property only applies to video media streams associated with outputs that use the ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol.", + "enum": [ + "main", + "high" + ], + "markdownDescription": "A setting on the encoder that drives compression settings. This property only applies to video media streams associated with outputs that use the ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol.\n\n---\n\nRequired: No \nType: String \nAllowed Values: main | high \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "CompressionFactor" + ], + "markdownDescription": "A collection of parameters that determine how MediaConnect will convert the content. These fields only apply to outputs on flows that have a CDI source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -119,10 +229,12 @@ "rist", "fujitsu-qos", "srt-listener", - "srt-caller" + "srt-caller", + "st2110-jpegxs", + "cdi" ], "description": "The protocol that is used by the source or output.", - "markdownDescription": "The protocol that is used by the source or output.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: zixi-push | rtp-fec | rtp | zixi-pull | rist | fujitsu-qos | srt-listener | srt-caller \nUpdate requires: No interruption" + "markdownDescription": "The protocol that is used by the source or output.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: zixi-push | rtp-fec | rtp | zixi-pull | rist | fujitsu-qos | srt-listener | srt-caller | st2110-jpegxs | cdi \nUpdate requires: No interruption" }, "RemoteId": { "type": "string", @@ -143,6 +255,14 @@ "$ref": "#/definitions/VpcInterfaceAttachment", "description": "The name of the VPC interface attachment to use for this output.", "markdownDescription": "The name of the VPC interface attachment to use for this output.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "MediaStreamOutputConfigurations": { + "type": "array", + "description": "The definition for each media stream that is associated with the output.", + "items": { + "$ref": "#/definitions/MediaStreamOutputConfiguration" + }, + "markdownDescription": "The definition for each media stream that is associated with the output.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-mediaconnect-flowsource.json b/server/schema/resources/aws-mediaconnect-flowsource.json index 3fc7ab17..a3a8ea00 100644 --- a/server/schema/resources/aws-mediaconnect-flowsource.json +++ b/server/schema/resources/aws-mediaconnect-flowsource.json @@ -144,13 +144,11 @@ "MaxLatency": { "type": "integer", "description": "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.", - "default": 2000, "markdownDescription": "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "MinLatency": { "type": "integer", "description": "The minimum latency in milliseconds.", - "default": 2000, "markdownDescription": "The minimum latency in milliseconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Name": { diff --git a/server/schema/resources/aws-mediaconnect-flowvpcinterface.json b/server/schema/resources/aws-mediaconnect-flowvpcinterface.json index eb95e85d..addc2d22 100644 --- a/server/schema/resources/aws-mediaconnect-flowvpcinterface.json +++ b/server/schema/resources/aws-mediaconnect-flowvpcinterface.json @@ -15,8 +15,8 @@ }, "RoleArn": { "type": "string", - "description": "Role Arn MediaConnect can assumes to create ENIs in customer's account.", - "markdownDescription": "Role Arn MediaConnect can assumes to create ENIs in customer's account.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "Role Arn MediaConnect can assume to create ENIs in customer's account.", + "markdownDescription": "Role Arn MediaConnect can assume to create ENIs in customer's account.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "SecurityGroupIds": { "type": "array", diff --git a/server/schema/resources/aws-mediaconnect-gateway.json b/server/schema/resources/aws-mediaconnect-gateway.json index 149fec66..49de8bca 100644 --- a/server/schema/resources/aws-mediaconnect-gateway.json +++ b/server/schema/resources/aws-mediaconnect-gateway.json @@ -67,9 +67,7 @@ "createOnlyProperties": [ "/properties/Name", "/properties/EgressCidrBlocks", - "/properties/Networks", - "/properties/Networks/*/Name", - "/properties/Networks/*/CidrBlock" + "/properties/Networks" ], "primaryIdentifier": [ "/properties/GatewayArn" diff --git a/server/schema/resources/aws-medialive-channel.json b/server/schema/resources/aws-medialive-channel.json index 2a7bd0be..bed51d62 100644 --- a/server/schema/resources/aws-medialive-channel.json +++ b/server/schema/resources/aws-medialive-channel.json @@ -499,6 +499,36 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "CmafIngestGroupSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "Scte35Type": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SegmentLengthUnits": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "NielsenId3Behavior": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SegmentLength": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SendDelayMs": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "AribDestinationSettings": { "type": "object", "additionalProperties": false, @@ -675,6 +705,29 @@ "type": "object", "additionalProperties": false, "properties": { + "AudioDashRoles": { + "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" + }, + "LanguageCodeControl": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CodecSettings": { + "$ref": "#/definitions/AudioCodecSettings" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AudioWatermarkingSettings": { + "$ref": "#/definitions/AudioWatermarkSettings" + }, "AudioNormalizationSettings": { "$ref": "#/definitions/AudioNormalizationSettings" }, @@ -693,7 +746,7 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "LanguageCodeControl": { + "DvbDashAccessibility": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, @@ -704,16 +757,6 @@ "AudioTypeControl": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "CodecSettings": { - "$ref": "#/definitions/AudioCodecSettings" - }, - "Name": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "AudioWatermarkingSettings": { - "$ref": "#/definitions/AudioWatermarkSettings" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -1506,6 +1549,9 @@ }, "RtmpGroupSettings": { "$ref": "#/definitions/RtmpGroupSettings" + }, + "CmafIngestGroupSettings": { + "$ref": "#/definitions/CmafIngestGroupSettings" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -1529,6 +1575,17 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "CmafIngestOutputSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NetworkInputSettings": { "type": "object", "additionalProperties": false, @@ -2417,6 +2474,10 @@ "type": "object", "additionalProperties": false, "properties": { + "Scte35SegmentationScope": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "AvailSettings": { "$ref": "#/definitions/AvailSettings" } @@ -2630,6 +2691,9 @@ "MultiplexOutputSettings": { "$ref": "#/definitions/MultiplexOutputSettings" }, + "CmafIngestOutputSettings": { + "$ref": "#/definitions/CmafIngestOutputSettings" + }, "ArchiveOutputSettings": { "$ref": "#/definitions/ArchiveOutputSettings" } @@ -2925,6 +2989,10 @@ "type": "object", "additionalProperties": false, "properties": { + "MvOverPictureBoundaries": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "TimecodeBurninSettings": { "$ref": "#/definitions/TimecodeBurninSettings" }, @@ -2936,6 +3004,10 @@ "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "TileHeight": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, "FramerateNumerator": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" @@ -2952,6 +3024,10 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "MvTemporalPredictor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "MinIInterval": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" @@ -2972,6 +3048,10 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "TileWidth": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, "FilterSettings": { "$ref": "#/definitions/H265FilterSettings" }, @@ -2998,6 +3078,10 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "TilePadding": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "AfdSignaling": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -3041,6 +3125,10 @@ "MaxBitrate": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "TreeblockSize": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -3209,10 +3297,23 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "DvbDashAccessibility": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "CaptionSelectorName": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "CaptionDashRoles": { + "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" + }, "Name": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-mediapackage-asset.json b/server/schema/resources/aws-mediapackage-asset.json index 28311f4e..f42895ef 100644 --- a/server/schema/resources/aws-mediapackage-asset.json +++ b/server/schema/resources/aws-mediapackage-asset.json @@ -89,6 +89,13 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, "additionalProperties": false, "required": [ "Id", diff --git a/server/schema/resources/aws-mediapackage-channel.json b/server/schema/resources/aws-mediapackage-channel.json index f731091d..016f6249 100644 --- a/server/schema/resources/aws-mediapackage-channel.json +++ b/server/schema/resources/aws-mediapackage-channel.json @@ -125,6 +125,13 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, "additionalProperties": false, "required": [ "Id" diff --git a/server/schema/resources/aws-mediapackage-originendpoint.json b/server/schema/resources/aws-mediapackage-originendpoint.json index 3e298de3..c276b61a 100644 --- a/server/schema/resources/aws-mediapackage-originendpoint.json +++ b/server/schema/resources/aws-mediapackage-originendpoint.json @@ -8,12 +8,12 @@ "type": "string", "minLength": 1, "maxLength": 256, - "markdownDescription": "The ID of the OriginEndpoint.\n\n---\n\nRequired: Conditional \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: \\A[0-9a-zA-Z-_]+\\Z \nUpdate requires: Replacement" + "markdownDescription": "The ID of the OriginEndpoint.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: \\A[0-9a-zA-Z-_]+\\Z \nUpdate requires: Replacement" }, "ChannelId": { "description": "The ID of the Channel the OriginEndpoint is associated with.", "type": "string", - "markdownDescription": "The ID of the Channel the OriginEndpoint is associated with.\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ID of the Channel the OriginEndpoint is associated with.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Description": { "description": "A short text description of the OriginEndpoint.", @@ -705,33 +705,18 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, "additionalProperties": false, "required": [ "Id", "ChannelId" ], - "oneOf": [ - { - "required": [ - "HlsPackage" - ] - }, - { - "required": [ - "DashPackage" - ] - }, - { - "required": [ - "MssPackage" - ] - }, - { - "required": [ - "CmafPackage" - ] - } - ], "readOnlyProperties": [ "/properties/Arn", "/properties/Url" diff --git a/server/schema/resources/aws-mediapackage-packagingconfiguration.json b/server/schema/resources/aws-mediapackage-packagingconfiguration.json index f91f1300..abe49eeb 100644 --- a/server/schema/resources/aws-mediapackage-packagingconfiguration.json +++ b/server/schema/resources/aws-mediapackage-packagingconfiguration.json @@ -6,32 +6,32 @@ "Id": { "description": "The ID of the PackagingConfiguration.", "type": "string", - "markdownDescription": "The ID of the PackagingConfiguration.\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The ID of the PackagingConfiguration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "PackagingGroupId": { "description": "The ID of a PackagingGroup.", "type": "string", - "markdownDescription": "The ID of a PackagingGroup.\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ID of a PackagingGroup.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "CmafPackage": { "description": "A CMAF packaging configuration.", "$ref": "#/definitions/CmafPackage", - "markdownDescription": "A CMAF packaging configuration.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + "markdownDescription": "A CMAF packaging configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "DashPackage": { "description": "A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.", "$ref": "#/definitions/DashPackage", - "markdownDescription": "A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + "markdownDescription": "A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "HlsPackage": { "description": "An HTTP Live Streaming (HLS) packaging configuration.", "$ref": "#/definitions/HlsPackage", - "markdownDescription": "An HTTP Live Streaming (HLS) packaging configuration.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + "markdownDescription": "An HTTP Live Streaming (HLS) packaging configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "MssPackage": { "description": "A Microsoft Smooth Streaming (MSS) PackagingConfiguration.", "$ref": "#/definitions/MssPackage", - "markdownDescription": "A Microsoft Smooth Streaming (MSS) PackagingConfiguration.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + "markdownDescription": "A Microsoft Smooth Streaming (MSS) PackagingConfiguration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Tags": { "description": "A collection of tags associated with a resource", @@ -497,33 +497,18 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, "additionalProperties": false, "required": [ "PackagingGroupId", "Id" ], - "oneOf": [ - { - "required": [ - "HlsPackage" - ] - }, - { - "required": [ - "DashPackage" - ] - }, - { - "required": [ - "MssPackage" - ] - }, - { - "required": [ - "CmafPackage" - ] - } - ], "readOnlyProperties": [ "/properties/Arn" ], diff --git a/server/schema/resources/aws-mediapackage-packaginggroup.json b/server/schema/resources/aws-mediapackage-packaginggroup.json index 6100eb59..ac52bfaa 100644 --- a/server/schema/resources/aws-mediapackage-packaginggroup.json +++ b/server/schema/resources/aws-mediapackage-packaginggroup.json @@ -86,6 +86,13 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, "additionalProperties": false, "required": [ "Id" diff --git a/server/schema/resources/aws-mediapackagev2-channel.json b/server/schema/resources/aws-mediapackagev2-channel.json index 5fb25017..243a5734 100644 --- a/server/schema/resources/aws-mediapackagev2-channel.json +++ b/server/schema/resources/aws-mediapackagev2-channel.json @@ -69,6 +69,7 @@ "/properties/Arn", "/properties/CreatedAt", "/properties/IngestEndpoints", + "/properties/IngestEndpointUrls", "/properties/ModifiedAt" ], "createOnlyProperties": [ @@ -164,6 +165,14 @@ "description": "

The date and time the channel was modified.

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

The date and time the channel was modified.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IngestEndpointUrls": { + "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" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-mediapackagev2-originendpoint.json b/server/schema/resources/aws-mediapackagev2-originendpoint.json index 5a1de610..5fc3d4b7 100644 --- a/server/schema/resources/aws-mediapackagev2-originendpoint.json +++ b/server/schema/resources/aws-mediapackagev2-originendpoint.json @@ -2,6 +2,14 @@ "typeName": "AWS::MediaPackageV2::OriginEndpoint", "description": "

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.

", "definitions": { + "AdMarkerDash": { + "type": "string", + "enum": [ + "BINARY", + "XML" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: BINARY | XML \nUpdate requires: No interruption" + }, "AdMarkerHls": { "type": "string", "enum": [ @@ -25,6 +33,60 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: TS | CMAF \nUpdate requires: No interruption" }, + "DashDrmSignaling": { + "type": "string", + "enum": [ + "INDIVIDUAL", + "REFERENCED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: INDIVIDUAL | REFERENCED \nUpdate requires: No interruption" + }, + "DashPeriodTrigger": { + "type": "string", + "enum": [ + "AVAILS", + "DRM_KEY_ROTATION", + "SOURCE_CHANGES", + "SOURCE_DISRUPTIONS", + "NONE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AVAILS | DRM_KEY_ROTATION | SOURCE_CHANGES | SOURCE_DISRUPTIONS | NONE \nUpdate requires: No interruption" + }, + "DashSegmentTemplateFormat": { + "type": "string", + "enum": [ + "NUMBER_WITH_TIMELINE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: NUMBER_WITH_TIMELINE \nUpdate requires: No interruption" + }, + "DashUtcTiming": { + "type": "object", + "description": "

Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).

", + "properties": { + "TimingMode": { + "$ref": "#/definitions/DashUtcTimingMode" + }, + "TimingSource": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "description": "

The the method that the player uses to synchronize to coordinated universal time (UTC) wall clock time.

", + "markdownDescription": "

The the method that the player uses to synchronize to coordinated universal time (UTC) wall clock time.

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

Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DashUtcTimingMode": { + "type": "string", + "enum": [ + "HTTP_HEAD", + "HTTP_ISO", + "HTTP_XSDATE", + "UTC_DIRECT" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: HTTP_HEAD | HTTP_ISO | HTTP_XSDATE | UTC_DIRECT \nUpdate requires: No interruption" + }, "DrmSystem": { "type": "string", "enum": [ @@ -133,6 +195,69 @@ "additionalProperties": false, "markdownDescription": "

Filter configuration includes settings for manifest filtering, start and end times, and time delay that apply to all of your egress requests for this manifest.

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

Retrieve the DASH manifest configuration.

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

A short string that's appended to the endpoint URL. The manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index.

", + "markdownDescription": "

A short string that's appended to the endpoint URL. The manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: No interruption" + }, + "ManifestWindowSeconds": { + "type": "integer", + "description": "

The total duration (in seconds) of the manifest's content.

", + "markdownDescription": "

The total duration (in seconds) of the manifest's content.

\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "FilterConfiguration": { + "$ref": "#/definitions/FilterConfiguration" + }, + "MinUpdatePeriodSeconds": { + "type": "integer", + "description": "

Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest.

", + "markdownDescription": "

Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest.

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

Minimum amount of content (in seconds) that a player must keep available in the buffer.

", + "markdownDescription": "

Minimum amount of content (in seconds) that a player must keep available in the buffer.

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

The amount of time (in seconds) that the player should be from the end of the manifest.

", + "markdownDescription": "

The amount of time (in seconds) that the player should be from the end of the manifest.

\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SegmentTemplateFormat": { + "$ref": "#/definitions/DashSegmentTemplateFormat" + }, + "PeriodTriggers": { + "type": "array", + "items": { + "$ref": "#/definitions/DashPeriodTrigger" + }, + "maxItems": 100, + "minItems": 0, + "description": "

A list of triggers that controls when AWS Elemental MediaPackage separates the MPEG-DASH manifest into multiple periods. Leave this value empty to indicate that the manifest is contained all in one period.\n For more information about periods in the DASH manifest, see Multi-period DASH in AWS Elemental MediaPackage.

", + "markdownDescription": "

A list of triggers that controls when AWS Elemental MediaPackage separates the MPEG-DASH manifest into multiple periods. Leave this value empty to indicate that the manifest is contained all in one period.\n For more information about periods in the DASH manifest, see Multi-period DASH in AWS Elemental MediaPackage.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ScteDash": { + "$ref": "#/definitions/ScteDash" + }, + "DrmSignaling": { + "$ref": "#/definitions/DashDrmSignaling" + }, + "UtcTiming": { + "$ref": "#/definitions/DashUtcTiming" + } + }, + "required": [ + "ManifestName" + ], + "additionalProperties": false, + "markdownDescription": "

Retrieve the DASH manifest configuration.

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

Retrieve the HTTP live streaming (HLS) manifest configuration.

", @@ -270,6 +395,17 @@ "additionalProperties": false, "markdownDescription": "

The SCTE configuration.

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

The SCTE configuration.

", + "properties": { + "AdMarkerDash": { + "$ref": "#/definitions/AdMarkerDash" + } + }, + "additionalProperties": false, + "markdownDescription": "

The SCTE configuration.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ScteFilter": { "type": "string", "enum": [ @@ -428,6 +564,14 @@ "ContainerType": { "$ref": "#/definitions/ContainerType" }, + "DashManifests": { + "type": "array", + "items": { + "$ref": "#/definitions/DashManifestConfiguration" + }, + "description": "

A DASH manifest configuration.

", + "markdownDescription": "

A DASH manifest configuration.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "Description": { "type": "string", "maxLength": 1024, @@ -484,6 +628,9 @@ "readOnlyProperties": [ "/properties/Arn", "/properties/CreatedAt", + "/properties/DashManifestUrls", + "/properties/HlsManifestUrls", + "/properties/LowLatencyHlsManifestUrls", "/properties/ModifiedAt", "/properties/LowLatencyHlsManifests/*/Url", "/properties/HlsManifests/*/Url" @@ -577,6 +724,30 @@ "description": "

The date and time the origin endpoint was modified.

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

The date and time the origin endpoint was modified.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DashManifestUrls": { + "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" + }, + "HlsManifestUrls": { + "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" + }, + "LowLatencyHlsManifestUrls": { + "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" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-mediatailor-playbackconfiguration.json b/server/schema/resources/aws-mediatailor-playbackconfiguration.json index ef0cbb22..f66ac9be 100644 --- a/server/schema/resources/aws-mediatailor-playbackconfiguration.json +++ b/server/schema/resources/aws-mediatailor-playbackconfiguration.json @@ -93,18 +93,28 @@ "additionalProperties": false, "properties": { "Mode": { - "description": "Sets the ad suppression mode. By default, ad suppression is set to OFF and all ad breaks are filled with ads or slate. When Mode is set to BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks on or behind the ad suppression Value time in the manifest lookback window.", + "description": "Sets the ad suppression mode. By default, ad suppression is off and all ad breaks are filled with ads or slate. When Mode is set to BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks on or behind the ad suppression Value time in the manifest lookback window. When Mode is set to AFTER_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks that are within the live edge plus the avail suppression value.", "type": "string", "enum": [ "OFF", - "BEHIND_LIVE_EDGE" + "BEHIND_LIVE_EDGE", + "AFTER_LIVE_EDGE" ], - "markdownDescription": "Sets the ad suppression mode. By default, ad suppression is set to OFF and all ad breaks are filled with ads or slate. When Mode is set to BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks on or behind the ad suppression Value time in the manifest lookback window.\n\n---\n\nRequired: No \nType: String \nAllowed Values: OFF | BEHIND_LIVE_EDGE \nUpdate requires: No interruption" + "markdownDescription": "Sets the ad suppression mode. By default, ad suppression is off and all ad breaks are filled with ads or slate. When Mode is set to BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks on or behind the ad suppression Value time in the manifest lookback window. When Mode is set to AFTER_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks that are within the live edge plus the avail suppression value.\n\n---\n\nRequired: No \nType: String \nAllowed Values: OFF | BEHIND_LIVE_EDGE | AFTER_LIVE_EDGE \nUpdate requires: No interruption" }, "Value": { "description": "A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad breaks on or behind this time in the manifest lookback window. For example, if you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.", "type": "string", "markdownDescription": "A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad breaks on or behind this time in the manifest lookback window. For example, if you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "FillPolicy": { + "description": "Defines the policy to apply to the avail suppression mode. BEHIND_LIVE_EDGE will always use the full avail suppression policy. AFTER_LIVE_EDGE mode can be used to invoke partial ad break fills when a session starts mid-break. Valid values are FULL_AVAIL_ONLY and PARTIAL_AVAIL", + "type": "string", + "enum": [ + "PARTIAL_AVAIL", + "FULL_AVAIL_ONLY" + ], + "markdownDescription": "Defines the policy to apply to the avail suppression mode. BEHIND_LIVE_EDGE will always use the full avail suppression policy. AFTER_LIVE_EDGE mode can be used to invoke partial ad break fills when a session starts mid-break. Valid values are FULL_AVAIL_ONLY and PARTIAL_AVAIL\n\n---\n\nRequired: No \nType: String \nAllowed Values: PARTIAL_AVAIL | FULL_AVAIL_ONLY \nUpdate requires: No interruption" } }, "markdownDescription": "The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see Ad Suppression (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-mwaa-environment.json b/server/schema/resources/aws-mwaa-environment.json index aa6efb7d..21d2b349 100644 --- a/server/schema/resources/aws-mwaa-environment.json +++ b/server/schema/resources/aws-mwaa-environment.json @@ -185,6 +185,18 @@ "minimum": 1, "markdownDescription": "Minimum worker compute units.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "MaxWebservers": { + "type": "integer", + "description": "Maximum webserver compute units.", + "minimum": 2, + "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, + "markdownDescription": "Minimum webserver compute units.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, "Schedulers": { "type": "integer", "description": "Scheduler compute units.", @@ -427,6 +439,12 @@ "MinWorkers": { "$ref": "#/definitions/MinWorkers" }, + "MaxWebservers": { + "$ref": "#/definitions/MaxWebservers" + }, + "MinWebservers": { + "$ref": "#/definitions/MinWebservers" + }, "Schedulers": { "$ref": "#/definitions/Schedulers" }, diff --git a/server/schema/resources/aws-neptune-dbcluster.json b/server/schema/resources/aws-neptune-dbcluster.json index 23cdef07..727b6445 100644 --- a/server/schema/resources/aws-neptune-dbcluster.json +++ b/server/schema/resources/aws-neptune-dbcluster.json @@ -285,6 +285,7 @@ "create": { "permissions": [ "iam:PassRole", + "iam:CreateServiceLinkedRole", "rds:AddRoleToDBCluster", "rds:AddTagsToResource", "rds:CreateDBCluster", diff --git a/server/schema/resources/aws-neptune-eventsubscription.json b/server/schema/resources/aws-neptune-eventsubscription.json new file mode 100644 index 00000000..4db9ad9d --- /dev/null +++ b/server/schema/resources/aws-neptune-eventsubscription.json @@ -0,0 +1,52 @@ +{ + "typeName": "AWS::Neptune::EventSubscription", + "description": "Resource Type definition for AWS::Neptune::EventSubscription", + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "EventCategories": { + "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" + }, + "SnsTopicArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "SourceIds": { + "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" + }, + "SourceType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "createOnlyProperties": [ + "/properties/SnsTopicArn" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "readOnlyProperties": [ + "/properties/Id" + ], + "attributes": { + "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-networkfirewall-firewall.json b/server/schema/resources/aws-networkfirewall-firewall.json index 25e388af..10ddaa2d 100644 --- a/server/schema/resources/aws-networkfirewall-firewall.json +++ b/server/schema/resources/aws-networkfirewall-firewall.json @@ -154,7 +154,7 @@ "read": { "permissions": [ "network-firewall:DescribeFirewall", - "network-firewall:ListTagsForResources" + "network-firewall:ListTagsForResource" ] }, "update": { diff --git a/server/schema/resources/aws-networkfirewall-loggingconfiguration.json b/server/schema/resources/aws-networkfirewall-loggingconfiguration.json index 79a607dd..73fcba00 100644 --- a/server/schema/resources/aws-networkfirewall-loggingconfiguration.json +++ b/server/schema/resources/aws-networkfirewall-loggingconfiguration.json @@ -153,13 +153,6 @@ "network-firewall:UpdateLoggingConfiguration", "network-firewall:DescribeLoggingConfiguration" ] - }, - "list": { - "permissions": [ - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DescribeLoggingConfiguration" - ] } }, "attributes": {} diff --git a/server/schema/resources/aws-oam-link.json b/server/schema/resources/aws-oam-link.json index 6a5c66a9..d00f9de3 100644 --- a/server/schema/resources/aws-oam-link.json +++ b/server/schema/resources/aws-oam-link.json @@ -75,12 +75,12 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?!aws:.*)[a-zA-Z0-9\\s\\_\\.\\/\\=\\+\\-]{1,128}$": { + "^(?!aws:.*).{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 -.", + "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:.", "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 \nPattern: ^(?!aws:.*)[a-zA-Z0-9\\s\\_\\.\\/\\=\\+\\-]{0,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:.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^(?!aws:.*).{0,256}$ \nUpdate requires: No interruption" } }, "markdownDescription": "Tags to apply to the link\n\n---\n\nRequired: No \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-oam-sink.json b/server/schema/resources/aws-oam-sink.json index 158098e0..f1b0b20b 100644 --- a/server/schema/resources/aws-oam-sink.json +++ b/server/schema/resources/aws-oam-sink.json @@ -19,12 +19,12 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?!aws:.*)[a-zA-Z0-9\\s\\_\\.\\/\\=\\+\\-]{1,128}$": { + "^(?!aws:.*).{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 -.", + "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:.", "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 \nPattern: ^(?!aws:.*)[a-zA-Z0-9\\s\\_\\.\\/\\=\\+\\-]{0,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:.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^(?!aws:.*).{0,256}$ \nUpdate requires: No interruption" } }, "markdownDescription": "Tags to apply to the sink\n\n---\n\nRequired: No \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-opensearchservice-domain.json b/server/schema/resources/aws-opensearchservice-domain.json index 862ed087..649473a8 100644 --- a/server/schema/resources/aws-opensearchservice-domain.json +++ b/server/schema/resources/aws-opensearchservice-domain.json @@ -590,7 +590,7 @@ "es:ListTags", "es:DescribeDomainChangeProgress" ], - "timeoutInMinutes": 780 + "timeoutInMinutes": 2160 }, "delete": { "permissions": [ diff --git a/server/schema/resources/aws-osis-pipeline.json b/server/schema/resources/aws-osis-pipeline.json index f6ce7223..a653adee 100644 --- a/server/schema/resources/aws-osis-pipeline.json +++ b/server/schema/resources/aws-osis-pipeline.json @@ -118,6 +118,15 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 15 \nMaximum Length: 24 \nPattern: subnet-\\w{8}(\\w{9})? \nUpdate requires: No interruption" }, "markdownDescription": "A list of subnet IDs associated with the VPC endpoint.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "VpcEndpointManagement": { + "description": "Defines whether you or Amazon OpenSearch Ingestion service create and manage the VPC endpoint configured for the pipeline.", + "type": "string", + "enum": [ + "CUSTOMER", + "SERVICE" + ], + "markdownDescription": "Defines whether you or Amazon OpenSearch Ingestion service create and manage the VPC endpoint configured for the pipeline.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CUSTOMER | SERVICE \nUpdate requires: No interruption" } }, "required": [ @@ -210,7 +219,8 @@ "readOnlyProperties": [ "/properties/PipelineArn", "/properties/IngestEndpointUrls", - "/properties/VpcEndpoints" + "/properties/VpcEndpoints", + "/properties/VpcEndpointService" ], "writeOnlyProperties": [ "/properties/VpcOptions" @@ -286,6 +296,13 @@ }, "markdownDescription": "The VPC interface endpoints that have access to the pipeline.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "VpcEndpointService": { + "description": "The VPC endpoint service name for the pipeline.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The VPC endpoint service name for the pipeline.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, "PipelineArn": { "description": "The Amazon Resource Name (ARN) of the pipeline.", "type": "string", diff --git a/server/schema/resources/aws-pipes-pipe.json b/server/schema/resources/aws-pipes-pipe.json index 5232c159..606d960e 100644 --- a/server/schema/resources/aws-pipes-pipe.json +++ b/server/schema/resources/aws-pipes-pipe.json @@ -239,6 +239,40 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "DimensionMapping": { + "type": "object", + "properties": { + "DimensionValue": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "DimensionValueType": { + "$ref": "#/definitions/DimensionValueType" + }, + "DimensionName": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "DimensionName", + "DimensionValue", + "DimensionValueType" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DimensionValueType": { + "type": "string", + "enum": [ + "VARCHAR" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VARCHAR \nUpdate requires: No interruption" + }, "DynamoDBStreamStartPosition": { "type": "string", "enum": [ @@ -441,6 +475,16 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "EpochTimeUnit": { + "type": "string", + "enum": [ + "MILLISECONDS", + "SECONDS", + "MICROSECONDS", + "NANOSECONDS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: MILLISECONDS | SECONDS | MICROSECONDS | NANOSECONDS \nUpdate requires: No interruption" + }, "Filter": { "type": "object", "properties": { @@ -598,6 +642,70 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: TRIM_HORIZON | LATEST \nUpdate requires: No interruption" }, + "MeasureValueType": { + "type": "string", + "enum": [ + "DOUBLE", + "BIGINT", + "VARCHAR", + "BOOLEAN", + "TIMESTAMP" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DOUBLE | BIGINT | VARCHAR | BOOLEAN | TIMESTAMP \nUpdate requires: No interruption" + }, + "MultiMeasureAttributeMapping": { + "type": "object", + "properties": { + "MeasureValue": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "MeasureValueType": { + "$ref": "#/definitions/MeasureValueType" + }, + "MultiMeasureAttributeName": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "MeasureValue", + "MeasureValueType", + "MultiMeasureAttributeName" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MultiMeasureMapping": { + "type": "object", + "properties": { + "MultiMeasureName": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "MultiMeasureAttributeMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/MultiMeasureAttributeMapping" + }, + "maxItems": 256, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "MultiMeasureAttributeMappings", + "MultiMeasureName" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NetworkConfiguration": { "type": "object", "properties": { @@ -1314,6 +1422,9 @@ }, "CloudWatchLogsParameters": { "$ref": "#/definitions/PipeTargetCloudWatchLogsParameters" + }, + "TimestreamParameters": { + "$ref": "#/definitions/PipeTargetTimestreamParameters" } }, "additionalProperties": false, @@ -1422,6 +1533,69 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PipeTargetTimestreamParameters": { + "type": "object", + "properties": { + "TimeValue": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "EpochTimeUnit": { + "$ref": "#/definitions/EpochTimeUnit" + }, + "TimeFieldType": { + "$ref": "#/definitions/TimeFieldType" + }, + "TimestampFormat": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "VersionValue": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "DimensionMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/DimensionMapping" + }, + "maxItems": 128, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "SingleMeasureMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/SingleMeasureMapping" + }, + "maxItems": 8192, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "MultiMeasureMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/MultiMeasureMapping" + }, + "maxItems": 1024, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "DimensionMappings", + "TimeValue", + "VersionValue" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PlacementConstraint": { "type": "object", "properties": { @@ -1666,6 +1840,33 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: TRIM_HORIZON | LATEST \nUpdate requires: No interruption" }, + "SingleMeasureMapping": { + "type": "object", + "properties": { + "MeasureValue": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "MeasureValueType": { + "$ref": "#/definitions/MeasureValueType" + }, + "MeasureName": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "required": [ + "MeasureName", + "MeasureValue", + "MeasureValueType" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Tag": { "type": "object", "properties": { @@ -1703,6 +1904,14 @@ }, "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TimeFieldType": { + "type": "string", + "enum": [ + "EPOCH", + "TIMESTAMP_FORMAT" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: EPOCH | TIMESTAMP_FORMAT \nUpdate requires: No interruption" } }, "properties": { diff --git a/server/schema/resources/aws-qbusiness-application.json b/server/schema/resources/aws-qbusiness-application.json new file mode 100644 index 00000000..d9cfa29e --- /dev/null +++ b/server/schema/resources/aws-qbusiness-application.json @@ -0,0 +1,249 @@ +{ + "typeName": "AWS::QBusiness::Application", + "description": "Definition of AWS::QBusiness::Application Resource Type", + "definitions": { + "ApplicationStatus": { + "type": "string", + "enum": [ + "CREATING", + "ACTIVE", + "DELETING", + "FAILED", + "UPDATING" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | ACTIVE | DELETING | FAILED | UPDATING \nUpdate requires: No interruption" + }, + "AttachmentsConfiguration": { + "type": "object", + "properties": { + "AttachmentsControlMode": { + "$ref": "#/definitions/AttachmentsControlMode" + } + }, + "required": [ + "AttachmentsControlMode" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AttachmentsControlMode": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, + "EncryptionConfiguration": { + "type": "object", + "properties": { + "KmsKeyId": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "QAppsConfiguration": { + "type": "object", + "properties": { + "QAppsControlMode": { + "$ref": "#/definitions/QAppsControlMode" + } + }, + "required": [ + "QAppsControlMode" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "QAppsControlMode": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \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": { + "AttachmentsConfiguration": { + "$ref": "#/definitions/AttachmentsConfiguration" + }, + "Description": { + "type": "string", + "maxLength": 1000, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1000 \nPattern: ^[\\s\\S]*$ \nUpdate requires: No interruption" + }, + "DisplayName": { + "type": "string", + "maxLength": 1000, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nPattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ \nUpdate requires: No interruption" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/EncryptionConfiguration" + }, + "QAppsConfiguration": { + "$ref": "#/definitions/QAppsConfiguration" + }, + "IdentityCenterInstanceArn": { + "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:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$ \nUpdate requires: No interruption" + }, + "RoleArn": { + "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" + }, + "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": [ + "DisplayName" + ], + "readOnlyProperties": [ + "/properties/ApplicationArn", + "/properties/ApplicationId", + "/properties/CreatedAt", + "/properties/IdentityCenterApplicationArn", + "/properties/Status", + "/properties/UpdatedAt" + ], + "writeOnlyProperties": [ + "/properties/IdentityCenterInstanceArn" + ], + "createOnlyProperties": [ + "/properties/EncryptionConfiguration" + ], + "primaryIdentifier": [ + "/properties/ApplicationId" + ], + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "kms:CreateGrant", + "kms:DescribeKey", + "qbusiness:CreateApplication", + "qbusiness:GetApplication", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource", + "sso:CreateApplication", + "sso:DeleteApplication", + "sso:PutApplicationAccessScope", + "sso:PutApplicationAuthenticationMethod", + "sso:PutApplicationGrant" + ] + }, + "read": { + "permissions": [ + "qbusiness:GetApplication", + "qbusiness:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "qbusiness:GetApplication", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource", + "qbusiness:UntagResource", + "qbusiness:UpdateApplication", + "sso:CreateApplication", + "sso:DeleteApplication", + "sso:PutApplicationAccessScope", + "sso:PutApplicationAuthenticationMethod", + "sso:PutApplicationGrant" + ] + }, + "delete": { + "permissions": [ + "kms:RetireGrant", + "qbusiness:DeleteApplication", + "qbusiness:GetApplication", + "sso:DeleteApplication" + ] + }, + "list": { + "permissions": [ + "qbusiness:ListApplications" + ] + } + }, + "tagging": { + "taggable": true + }, + "additionalProperties": false, + "attributes": { + "ApplicationArn": { + "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" + }, + "ApplicationId": { + "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" + }, + "CreatedAt": { + "type": "string", + "format": "date-time", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IdentityCenterApplicationArn": { + "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" + }, + "Status": { + "$ref": "#/definitions/ApplicationStatus" + }, + "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 new file mode 100644 index 00000000..84bc0c14 --- /dev/null +++ b/server/schema/resources/aws-qbusiness-datasource.json @@ -0,0 +1,450 @@ +{ + "typeName": "AWS::QBusiness::DataSource", + "description": "Definition of AWS::QBusiness::DataSource Resource Type", + "definitions": { + "AttributeValueOperator": { + "type": "string", + "enum": [ + "DELETE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DELETE \nUpdate requires: No interruption" + }, + "DataSourceStatus": { + "type": "string", + "enum": [ + "PENDING_CREATION", + "CREATING", + "ACTIVE", + "DELETING", + "FAILED", + "UPDATING" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PENDING_CREATION | CREATING | ACTIVE | DELETING | FAILED | UPDATING \nUpdate requires: No interruption" + }, + "DataSourceVpcConfiguration": { + "type": "object", + "properties": { + "SubnetIds": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "maxLength": 200, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: ^[-0-9a-zA-Z]+$ \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "SecurityGroupIds": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "maxLength": 200, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: ^[-0-9a-zA-Z]+$ \nUpdate requires: No interruption" + }, + "maxItems": 10, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DocumentAttributeCondition": { + "type": "object", + "properties": { + "Key": { + "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" + }, + "Operator": { + "$ref": "#/definitions/DocumentEnrichmentConditionOperator" + }, + "Value": { + "$ref": "#/definitions/DocumentAttributeValue" + } + }, + "required": [ + "Key", + "Operator" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DocumentAttributeTarget": { + "type": "object", + "properties": { + "Key": { + "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" + }, + "AttributeValueOperator": { + "$ref": "#/definitions/AttributeValueOperator" + } + }, + "required": [ + "Key" + ], + "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", + "insertionOrder": true, + "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 + } + ] + }, + "DocumentContentOperator": { + "type": "string", + "enum": [ + "DELETE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DELETE \nUpdate requires: No interruption" + }, + "DocumentEnrichmentConditionOperator": { + "type": "string", + "enum": [ + "GREATER_THAN", + "GREATER_THAN_OR_EQUALS", + "LESS_THAN", + "LESS_THAN_OR_EQUALS", + "EQUALS", + "NOT_EQUALS", + "CONTAINS", + "NOT_CONTAINS", + "EXISTS", + "NOT_EXISTS", + "BEGINS_WITH" + ], + "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" + }, + "DocumentEnrichmentConfiguration": { + "type": "object", + "properties": { + "InlineConfigurations": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InlineDocumentEnrichmentConfiguration" + }, + "maxItems": 100, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "PreExtractionHookConfiguration": { + "$ref": "#/definitions/HookConfiguration" + }, + "PostExtractionHookConfiguration": { + "$ref": "#/definitions/HookConfiguration" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "HookConfiguration": { + "type": "object", + "properties": { + "InvocationCondition": { + "$ref": "#/definitions/DocumentAttributeCondition" + }, + "LambdaArn": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws[a-zA-Z-]*:lambda:[a-z-]*-[0-9]:[0-9]{12}:function:[a-zA-Z0-9-_]+(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})?(:[a-zA-Z0-9-_]+)?$ \nUpdate requires: No interruption" + }, + "S3BucketName": { + "type": "string", + "maxLength": 63, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nPattern: ^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$ \nUpdate requires: No interruption" + }, + "RoleArn": { + "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" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InlineDocumentEnrichmentConfiguration": { + "type": "object", + "properties": { + "Condition": { + "$ref": "#/definitions/DocumentAttributeCondition" + }, + "Target": { + "$ref": "#/definitions/DocumentAttributeTarget" + }, + "DocumentContentOperator": { + "$ref": "#/definitions/DocumentContentOperator" + } + }, + "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": { + "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" + }, + "Configuration": {}, + "Description": { + "type": "string", + "maxLength": 1000, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1000 \nPattern: ^[\\s\\S]*$ \nUpdate requires: No interruption" + }, + "DisplayName": { + "type": "string", + "maxLength": 1000, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nPattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ \nUpdate requires: No interruption" + }, + "DocumentEnrichmentConfiguration": { + "$ref": "#/definitions/DocumentEnrichmentConfiguration" + }, + "IndexId": { + "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" + }, + "RoleArn": { + "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" + }, + "SyncSchedule": { + "type": "string", + "maxLength": 998, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 998 \nPattern: ^[\\s\\S]*$ \nUpdate requires: No interruption" + }, + "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" + }, + "VpcConfiguration": { + "$ref": "#/definitions/DataSourceVpcConfiguration" + } + }, + "required": [ + "ApplicationId", + "IndexId", + "Configuration", + "DisplayName" + ], + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/DataSourceArn", + "/properties/DataSourceId", + "/properties/Status", + "/properties/Type", + "/properties/UpdatedAt" + ], + "createOnlyProperties": [ + "/properties/ApplicationId", + "/properties/IndexId" + ], + "primaryIdentifier": [ + "/properties/ApplicationId", + "/properties/DataSourceId", + "/properties/IndexId" + ], + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "qbusiness:CreateDataSource", + "qbusiness:GetDataSource", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource" + ] + }, + "read": { + "permissions": [ + "qbusiness:GetDataSource", + "qbusiness:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "qbusiness:GetDataSource", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource", + "qbusiness:UntagResource", + "qbusiness:UpdateDataSource" + ] + }, + "delete": { + "permissions": [ + "qbusiness:DeleteDataSource", + "qbusiness:GetDataSource" + ] + }, + "list": { + "permissions": [ + "qbusiness:ListDataSources" + ], + "handlerSchema": { + "properties": { + "IndexId": { + "$ref": "resource-schema.json#/properties/IndexId" + }, + "ApplicationId": { + "$ref": "resource-schema.json#/properties/ApplicationId" + } + }, + "required": [ + "IndexId", + "ApplicationId" + ] + } + } + }, + "tagging": { + "taggable": true + }, + "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" + }, + "DataSourceArn": { + "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" + }, + "DataSourceId": { + "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" + }, + "Status": { + "$ref": "#/definitions/DataSourceStatus" + }, + "Type": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \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-index.json b/server/schema/resources/aws-qbusiness-index.json new file mode 100644 index 00000000..53764a36 --- /dev/null +++ b/server/schema/resources/aws-qbusiness-index.json @@ -0,0 +1,272 @@ +{ + "typeName": "AWS::QBusiness::Index", + "description": "Definition of AWS::QBusiness::Index Resource Type", + "definitions": { + "AttributeType": { + "type": "string", + "enum": [ + "STRING", + "STRING_LIST", + "NUMBER", + "DATE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: STRING | STRING_LIST | NUMBER | DATE \nUpdate requires: No interruption" + }, + "DocumentAttributeConfiguration": { + "type": "object", + "properties": { + "Name": { + "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_][a-zA-Z0-9_-]*$ \nUpdate requires: No interruption" + }, + "Type": { + "$ref": "#/definitions/AttributeType" + }, + "Search": { + "$ref": "#/definitions/Status" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IndexCapacityConfiguration": { + "type": "object", + "properties": { + "Units": { + "type": "number", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IndexStatistics": { + "type": "object", + "properties": { + "TextDocumentStatistics": { + "$ref": "#/definitions/TextDocumentStatistics" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IndexStatus": { + "type": "string", + "enum": [ + "CREATING", + "ACTIVE", + "DELETING", + "FAILED", + "UPDATING" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | ACTIVE | DELETING | FAILED | UPDATING \nUpdate requires: No interruption" + }, + "IndexType": { + "type": "string", + "enum": [ + "ENTERPRISE", + "STARTER" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENTERPRISE | STARTER \nUpdate requires: No interruption" + }, + "Status": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \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" + }, + "TextDocumentStatistics": { + "type": "object", + "properties": { + "IndexedTextBytes": { + "type": "number", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "IndexedTextDocumentCount": { + "type": "number", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "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" + }, + "CapacityConfiguration": { + "$ref": "#/definitions/IndexCapacityConfiguration" + }, + "Description": { + "type": "string", + "maxLength": 1000, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1000 \nPattern: ^[\\s\\S]*$ \nUpdate requires: No interruption" + }, + "DisplayName": { + "type": "string", + "maxLength": 1000, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nPattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ \nUpdate requires: No interruption" + }, + "DocumentAttributeConfigurations": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/DocumentAttributeConfiguration" + }, + "maxItems": 500, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Type": { + "$ref": "#/definitions/IndexType" + }, + "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": [ + "ApplicationId", + "DisplayName" + ], + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/IndexArn", + "/properties/IndexId", + "/properties/IndexStatistics", + "/properties/Status", + "/properties/UpdatedAt" + ], + "createOnlyProperties": [ + "/properties/ApplicationId", + "/properties/Type" + ], + "primaryIdentifier": [ + "/properties/ApplicationId", + "/properties/IndexId" + ], + "handlers": { + "create": { + "permissions": [ + "qbusiness:CreateIndex", + "qbusiness:GetIndex", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource", + "qbusiness:UpdateIndex" + ] + }, + "read": { + "permissions": [ + "qbusiness:GetIndex", + "qbusiness:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "qbusiness:GetIndex", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource", + "qbusiness:UntagResource", + "qbusiness:UpdateIndex" + ] + }, + "delete": { + "permissions": [ + "qbusiness:DeleteIndex", + "qbusiness:GetIndex" + ] + }, + "list": { + "permissions": [ + "qbusiness:ListIndices" + ], + "handlerSchema": { + "properties": { + "ApplicationId": { + "$ref": "resource-schema.json#/properties/ApplicationId" + } + }, + "required": [ + "ApplicationId" + ] + } + } + }, + "tagging": { + "taggable": true + }, + "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" + }, + "IndexArn": { + "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" + }, + "IndexId": { + "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" + }, + "IndexStatistics": { + "$ref": "#/definitions/IndexStatistics" + }, + "Status": { + "$ref": "#/definitions/IndexStatus" + }, + "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-plugin.json b/server/schema/resources/aws-qbusiness-plugin.json new file mode 100644 index 00000000..175b0005 --- /dev/null +++ b/server/schema/resources/aws-qbusiness-plugin.json @@ -0,0 +1,383 @@ +{ + "typeName": "AWS::QBusiness::Plugin", + "description": "Definition of AWS::QBusiness::Plugin Resource Type", + "definitions": { + "APISchema": { + "oneOf": [ + { + "type": "object", + "title": "Payload", + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "S3", + "properties": { + "S3": { + "$ref": "#/definitions/S3" + } + }, + "required": [ + "S3" + ], + "additionalProperties": false + } + ] + }, + "APISchemaType": { + "type": "string", + "enum": [ + "OPEN_API_V3" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: OPEN_API_V3 \nUpdate requires: No interruption" + }, + "BasicAuthConfiguration": { + "type": "object", + "properties": { + "SecretArn": { + "type": "string", + "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" + }, + "RoleArn": { + "type": "string", + "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" + } + }, + "required": [ + "RoleArn", + "SecretArn" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CustomPluginConfiguration": { + "type": "object", + "properties": { + "Description": { + "type": "string", + "maxLength": 200, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nUpdate requires: No interruption" + }, + "ApiSchemaType": { + "$ref": "#/definitions/APISchemaType" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + } + }, + "required": [ + "ApiSchema", + "ApiSchemaType", + "Description" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NoAuthConfiguration": { + "type": "object", + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OAuth2ClientCredentialConfiguration": { + "type": "object", + "properties": { + "SecretArn": { + "type": "string", + "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" + }, + "RoleArn": { + "type": "string", + "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" + } + }, + "required": [ + "RoleArn", + "SecretArn" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PluginAuthConfiguration": { + "oneOf": [ + { + "type": "object", + "title": "BasicAuthConfiguration", + "properties": { + "BasicAuthConfiguration": { + "$ref": "#/definitions/BasicAuthConfiguration" + } + }, + "required": [ + "BasicAuthConfiguration" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "OAuth2ClientCredentialConfiguration", + "properties": { + "OAuth2ClientCredentialConfiguration": { + "$ref": "#/definitions/OAuth2ClientCredentialConfiguration" + } + }, + "required": [ + "OAuth2ClientCredentialConfiguration" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "NoAuthConfiguration", + "properties": { + "NoAuthConfiguration": { + "$ref": "#/definitions/NoAuthConfiguration" + } + }, + "required": [ + "NoAuthConfiguration" + ], + "additionalProperties": false + } + ] + }, + "PluginBuildStatus": { + "type": "string", + "enum": [ + "READY", + "CREATE_IN_PROGRESS", + "CREATE_FAILED", + "UPDATE_IN_PROGRESS", + "UPDATE_FAILED", + "DELETE_IN_PROGRESS", + "DELETE_FAILED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: READY | CREATE_IN_PROGRESS | CREATE_FAILED | UPDATE_IN_PROGRESS | UPDATE_FAILED | DELETE_IN_PROGRESS | DELETE_FAILED \nUpdate requires: No interruption" + }, + "PluginState": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, + "PluginType": { + "type": "string", + "enum": [ + "SERVICE_NOW", + "SALESFORCE", + "JIRA", + "ZENDESK", + "CUSTOM" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SERVICE_NOW | SALESFORCE | JIRA | ZENDESK | CUSTOM \nUpdate requires: No interruption" + }, + "S3": { + "type": "object", + "properties": { + "Bucket": { + "type": "string", + "maxLength": 63, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nPattern: ^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$ \nUpdate requires: No interruption" + }, + "Key": { + "type": "string", + "maxLength": 1024, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "required": [ + "Bucket", + "Key" + ], + "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": { + "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" + }, + "AuthConfiguration": { + "$ref": "#/definitions/PluginAuthConfiguration" + }, + "CustomPluginConfiguration": { + "$ref": "#/definitions/CustomPluginConfiguration" + }, + "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" + }, + "ServerUrl": { + "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" + }, + "State": { + "$ref": "#/definitions/PluginState" + }, + "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" + }, + "Type": { + "$ref": "#/definitions/PluginType" + } + }, + "required": [ + "ApplicationId", + "AuthConfiguration", + "DisplayName", + "Type" + ], + "readOnlyProperties": [ + "/properties/BuildStatus", + "/properties/CreatedAt", + "/properties/PluginArn", + "/properties/PluginId", + "/properties/UpdatedAt" + ], + "createOnlyProperties": [ + "/properties/ApplicationId", + "/properties/Type" + ], + "primaryIdentifier": [ + "/properties/ApplicationId", + "/properties/PluginId" + ], + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "qbusiness:CreatePlugin", + "qbusiness:GetPlugin", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource", + "qbusiness:UpdatePlugin" + ] + }, + "read": { + "permissions": [ + "qbusiness:GetPlugin", + "qbusiness:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "qbusiness:GetPlugin", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource", + "qbusiness:UntagResource", + "qbusiness:UpdatePlugin" + ] + }, + "delete": { + "permissions": [ + "qbusiness:DeletePlugin", + "qbusiness:GetPlugin" + ] + }, + "list": { + "permissions": [ + "qbusiness:ListPlugins" + ], + "handlerSchema": { + "properties": { + "ApplicationId": { + "$ref": "resource-schema.json#/properties/ApplicationId" + } + }, + "required": [ + "ApplicationId" + ] + } + } + }, + "tagging": { + "taggable": true + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-qbusiness", + "additionalProperties": false, + "attributes": { + "BuildStatus": { + "$ref": "#/definitions/PluginBuildStatus" + }, + "CreatedAt": { + "type": "string", + "format": "date-time", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "PluginArn": { + "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" + }, + "PluginId": { + "type": "string", + "maxLength": 36, + "minLength": 36, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 36 \nMaximum Length: 36 \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" + }, + "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-retriever.json b/server/schema/resources/aws-qbusiness-retriever.json new file mode 100644 index 00000000..33e0bbb6 --- /dev/null +++ b/server/schema/resources/aws-qbusiness-retriever.json @@ -0,0 +1,245 @@ +{ + "typeName": "AWS::QBusiness::Retriever", + "description": "Definition of AWS::QBusiness::Retriever Resource Type", + "definitions": { + "KendraIndexConfiguration": { + "type": "object", + "properties": { + "IndexId": { + "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: No interruption" + } + }, + "required": [ + "IndexId" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NativeIndexConfiguration": { + "type": "object", + "properties": { + "IndexId": { + "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: No interruption" + } + }, + "required": [ + "IndexId" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RetrieverConfiguration": { + "oneOf": [ + { + "type": "object", + "title": "NativeIndexConfiguration", + "properties": { + "NativeIndexConfiguration": { + "$ref": "#/definitions/NativeIndexConfiguration" + } + }, + "required": [ + "NativeIndexConfiguration" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "KendraIndexConfiguration", + "properties": { + "KendraIndexConfiguration": { + "$ref": "#/definitions/KendraIndexConfiguration" + } + }, + "required": [ + "KendraIndexConfiguration" + ], + "additionalProperties": false + } + ] + }, + "RetrieverStatus": { + "type": "string", + "enum": [ + "CREATING", + "ACTIVE", + "FAILED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | ACTIVE | FAILED \nUpdate requires: No interruption" + }, + "RetrieverType": { + "type": "string", + "enum": [ + "NATIVE_INDEX", + "KENDRA_INDEX" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: NATIVE_INDEX | KENDRA_INDEX \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": { + "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" + }, + "Configuration": { + "$ref": "#/definitions/RetrieverConfiguration" + }, + "DisplayName": { + "type": "string", + "maxLength": 1000, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nPattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ \nUpdate requires: No interruption" + }, + "RoleArn": { + "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" + }, + "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" + }, + "Type": { + "$ref": "#/definitions/RetrieverType" + } + }, + "required": [ + "ApplicationId", + "Configuration", + "DisplayName", + "Type" + ], + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/RetrieverArn", + "/properties/RetrieverId", + "/properties/Status", + "/properties/UpdatedAt" + ], + "createOnlyProperties": [ + "/properties/ApplicationId", + "/properties/Type" + ], + "primaryIdentifier": [ + "/properties/ApplicationId", + "/properties/RetrieverId" + ], + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "qbusiness:CreateRetriever", + "qbusiness:GetRetriever", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource" + ] + }, + "read": { + "permissions": [ + "qbusiness:GetRetriever", + "qbusiness:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "qbusiness:GetRetriever", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource", + "qbusiness:UntagResource", + "qbusiness:UpdateRetriever" + ] + }, + "delete": { + "permissions": [ + "qbusiness:DeleteRetriever", + "qbusiness:GetRetriever" + ] + }, + "list": { + "permissions": [ + "qbusiness:ListRetrievers" + ], + "handlerSchema": { + "properties": { + "ApplicationId": { + "$ref": "resource-schema.json#/properties/ApplicationId" + } + }, + "required": [ + "ApplicationId" + ] + } + } + }, + "tagging": { + "taggable": true + }, + "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" + }, + "RetrieverArn": { + "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" + }, + "RetrieverId": { + "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" + }, + "Status": { + "$ref": "#/definitions/RetrieverStatus" + }, + "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-webexperience.json b/server/schema/resources/aws-qbusiness-webexperience.json new file mode 100644 index 00000000..386db60f --- /dev/null +++ b/server/schema/resources/aws-qbusiness-webexperience.json @@ -0,0 +1,201 @@ +{ + "typeName": "AWS::QBusiness::WebExperience", + "description": "Definition of AWS::QBusiness::WebExperience 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" + }, + "WebExperienceSamplePromptsControlMode": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, + "WebExperienceStatus": { + "type": "string", + "enum": [ + "CREATING", + "ACTIVE", + "DELETING", + "FAILED", + "PENDING_AUTH_CONFIG" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | ACTIVE | DELETING | FAILED | PENDING_AUTH_CONFIG \nUpdate requires: No interruption" + } + }, + "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" + }, + "RoleArn": { + "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" + }, + "SamplePromptsControlMode": { + "$ref": "#/definitions/WebExperienceSamplePromptsControlMode" + }, + "Subtitle": { + "type": "string", + "maxLength": 500, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 500 \nPattern: ^[\\s\\S]*$ \nUpdate requires: No interruption" + }, + "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" + }, + "Title": { + "type": "string", + "maxLength": 500, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 500 \nPattern: ^[\\s\\S]*$ \nUpdate requires: No interruption" + }, + "WelcomeMessage": { + "type": "string", + "maxLength": 300, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 300 \nUpdate requires: No interruption" + } + }, + "required": [ + "ApplicationId" + ], + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/DefaultEndpoint", + "/properties/Status", + "/properties/UpdatedAt", + "/properties/WebExperienceArn", + "/properties/WebExperienceId" + ], + "createOnlyProperties": [ + "/properties/ApplicationId" + ], + "primaryIdentifier": [ + "/properties/ApplicationId", + "/properties/WebExperienceId" + ], + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "qbusiness:CreateWebExperience", + "qbusiness:GetWebExperience", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource", + "sso:PutApplicationGrant", + "sso:UpdateApplication" + ] + }, + "read": { + "permissions": [ + "qbusiness:GetWebExperience", + "qbusiness:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "qbusiness:GetWebExperience", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource", + "qbusiness:UntagResource", + "qbusiness:UpdateWebExperience", + "sso:PutApplicationGrant", + "sso:UpdateApplication" + ] + }, + "delete": { + "permissions": [ + "qbusiness:DeleteWebExperience", + "qbusiness:GetWebExperience" + ] + }, + "list": { + "permissions": [ + "qbusiness:ListWebExperiences" + ], + "handlerSchema": { + "properties": { + "ApplicationId": { + "$ref": "resource-schema.json#/properties/ApplicationId" + } + }, + "required": [ + "ApplicationId" + ] + } + } + }, + "tagging": { + "taggable": true + }, + "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" + }, + "DefaultEndpoint": { + "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" + }, + "Status": { + "$ref": "#/definitions/WebExperienceStatus" + }, + "UpdatedAt": { + "type": "string", + "format": "date-time", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "WebExperienceArn": { + "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" + }, + "WebExperienceId": { + "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-]*$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-qldb-stream.json b/server/schema/resources/aws-qldb-stream.json index d7a9be52..307e0e1a 100644 --- a/server/schema/resources/aws-qldb-stream.json +++ b/server/schema/resources/aws-qldb-stream.json @@ -50,6 +50,18 @@ "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "qldb:TagResource", + "qldb:UntagResource", + "qldb:ListTagsForResource" + ] + }, "properties": { "LedgerName": { "type": "string", diff --git a/server/schema/resources/aws-quicksight-analysis.json b/server/schema/resources/aws-quicksight-analysis.json index 06df175d..b67c1ffb 100644 --- a/server/schema/resources/aws-quicksight-analysis.json +++ b/server/schema/resources/aws-quicksight-analysis.json @@ -954,7 +954,7 @@ }, "Series": { "minItems": 0, - "maxItems": 10, + "maxItems": 2000, "type": "array", "items": { "$ref": "#/definitions/SeriesItem" @@ -2394,6 +2394,25 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "WaterfallChartGroupColorConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "NegativeBarColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}$ \nUpdate requires: No interruption" + }, + "TotalBarColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}$ \nUpdate requires: No interruption" + }, + "PositiveBarColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}$ \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FunnelChartFieldWells": { "additionalProperties": false, "type": "object", @@ -5868,6 +5887,16 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "WaterfallChartColorConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "GroupColorConfiguration": { + "$ref": "#/definitions/WaterfallChartGroupColorConfiguration" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ParameterListControl": { "additionalProperties": false, "type": "object", @@ -6806,6 +6835,9 @@ "WaterfallChartOptions": { "$ref": "#/definitions/WaterfallChartOptions" }, + "ColorConfiguration": { + "$ref": "#/definitions/WaterfallChartColorConfiguration" + }, "CategoryAxisDisplayOptions": { "$ref": "#/definitions/AxisDisplayOptions" }, @@ -9272,7 +9304,7 @@ "properties": { "ConditionalFormattingOptions": { "minItems": 0, - "maxItems": 100, + "maxItems": 500, "type": "array", "items": { "$ref": "#/definitions/TableConditionalFormattingOption" @@ -9618,7 +9650,7 @@ "properties": { "ConditionalFormattingOptions": { "minItems": 0, - "maxItems": 100, + "maxItems": 500, "type": "array", "items": { "$ref": "#/definitions/PivotTableConditionalFormattingOption" diff --git a/server/schema/resources/aws-quicksight-dashboard.json b/server/schema/resources/aws-quicksight-dashboard.json index f8b14834..701554a2 100644 --- a/server/schema/resources/aws-quicksight-dashboard.json +++ b/server/schema/resources/aws-quicksight-dashboard.json @@ -956,7 +956,7 @@ }, "Series": { "minItems": 0, - "maxItems": 10, + "maxItems": 2000, "type": "array", "items": { "$ref": "#/definitions/SeriesItem" @@ -2413,12 +2413,6 @@ "SheetControlsOption": { "$ref": "#/definitions/SheetControlsOption" }, - "ExportToCSVOption": { - "$ref": "#/definitions/ExportToCSVOption" - }, - "DataPointMenuLabelOption": { - "$ref": "#/definitions/DataPointMenuLabelOption" - }, "DataPointDrillUpDownOption": { "$ref": "#/definitions/DataPointDrillUpDownOption" }, @@ -2428,18 +2422,24 @@ "VisualPublishOptions": { "$ref": "#/definitions/DashboardVisualPublishOptions" }, - "VisualMenuOption": { - "$ref": "#/definitions/VisualMenuOption" - }, - "DataPointTooltipOption": { - "$ref": "#/definitions/DataPointTooltipOption" - }, "VisualAxisSortOption": { "$ref": "#/definitions/VisualAxisSortOption" }, "ExportWithHiddenFieldsOption": { "$ref": "#/definitions/ExportWithHiddenFieldsOption" }, + "ExportToCSVOption": { + "$ref": "#/definitions/ExportToCSVOption" + }, + "DataPointMenuLabelOption": { + "$ref": "#/definitions/DataPointMenuLabelOption" + }, + "VisualMenuOption": { + "$ref": "#/definitions/VisualMenuOption" + }, + "DataPointTooltipOption": { + "$ref": "#/definitions/DataPointTooltipOption" + }, "SheetLayoutElementMaximizationOption": { "$ref": "#/definitions/SheetLayoutElementMaximizationOption" } @@ -2484,6 +2484,25 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "WaterfallChartGroupColorConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "NegativeBarColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}$ \nUpdate requires: No interruption" + }, + "TotalBarColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}$ \nUpdate requires: No interruption" + }, + "PositiveBarColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}$ \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FunnelChartFieldWells": { "additionalProperties": false, "type": "object", @@ -6096,6 +6115,16 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "WaterfallChartColorConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "GroupColorConfiguration": { + "$ref": "#/definitions/WaterfallChartGroupColorConfiguration" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ParameterListControl": { "additionalProperties": false, "type": "object", @@ -7081,6 +7110,9 @@ "WaterfallChartOptions": { "$ref": "#/definitions/WaterfallChartOptions" }, + "ColorConfiguration": { + "$ref": "#/definitions/WaterfallChartColorConfiguration" + }, "CategoryAxisDisplayOptions": { "$ref": "#/definitions/AxisDisplayOptions" }, @@ -9588,7 +9620,7 @@ "properties": { "ConditionalFormattingOptions": { "minItems": 0, - "maxItems": 100, + "maxItems": 500, "type": "array", "items": { "$ref": "#/definitions/TableConditionalFormattingOption" @@ -9934,7 +9966,7 @@ "properties": { "ConditionalFormattingOptions": { "minItems": 0, - "maxItems": 100, + "maxItems": 500, "type": "array", "items": { "$ref": "#/definitions/PivotTableConditionalFormattingOption" diff --git a/server/schema/resources/aws-quicksight-dataset.json b/server/schema/resources/aws-quicksight-dataset.json index da47d7e2..37fb084e 100644 --- a/server/schema/resources/aws-quicksight-dataset.json +++ b/server/schema/resources/aws-quicksight-dataset.json @@ -6,6 +6,13 @@ "type": "object", "description": "

A calculated column for a dataset.

", "properties": { + "ColumnName": { + "type": "string", + "maxLength": 127, + "minLength": 1, + "description": "

Column name.

", + "markdownDescription": "

Column name.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, "ColumnId": { "type": "string", "maxLength": 64, @@ -13,13 +20,6 @@ "description": "

A unique ID to identify a calculated column. During a dataset update, if the column ID\n of a calculated column matches that of an existing calculated column, Amazon QuickSight\n preserves the existing calculated column.

", "markdownDescription": "

A unique ID to identify a calculated column. During a dataset update, if the column ID\n of a calculated column matches that of an existing calculated column, Amazon QuickSight\n preserves the existing calculated column.

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

Column name.

", - "markdownDescription": "

Column name.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, "Expression": { "type": "string", "maxLength": 4096, @@ -42,10 +42,16 @@ "properties": { "ColumnName": { "type": "string", - "maxLength": 128, + "maxLength": 127, "minLength": 1, "description": "

Column name.

", - "markdownDescription": "

Column name.

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

Column name.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "NewColumnType": { + "$ref": "#/definitions/ColumnDataType" + }, + "SubType": { + "$ref": "#/definitions/ColumnDataSubType" }, "Format": { "type": "string", @@ -53,12 +59,6 @@ "minLength": 0, "description": "

When casting a column from string to datetime type, you can supply a string in a\n format supported by Amazon QuickSight to denote the source data format.

", "markdownDescription": "

When casting a column from string to datetime type, you can supply a string in a\n format supported by Amazon QuickSight to denote the source data format.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 32 \nUpdate requires: No interruption" - }, - "NewColumnType": { - "$ref": "#/definitions/ColumnDataType" - }, - "SubType": { - "$ref": "#/definitions/ColumnSubDataType" } }, "required": [ @@ -68,6 +68,14 @@ "additionalProperties": false, "markdownDescription": "

A transform operation that casts a column to a different type.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ColumnDataSubType": { + "type": "string", + "enum": [ + "FLOAT", + "FIXED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: FLOAT | FIXED \nUpdate requires: No interruption" + }, "ColumnDataType": { "type": "string", "enum": [ @@ -78,14 +86,6 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: STRING | INTEGER | DECIMAL | DATETIME \nUpdate requires: No interruption" }, - "ColumnSubDataType": { - "type": "string", - "enum": [ - "FIXED", - "FLOAT" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: FIXED | FLOAT \nUpdate requires: No interruption" - }, "ColumnDescription": { "type": "object", "description": "

Metadata that contains a description for a column.

", @@ -114,33 +114,36 @@ }, "ColumnLevelPermissionRule": { "type": "object", + "description": "

A rule defined to grant access on one or more restricted columns.\n Each dataset can have multiple rules.\n To create a restricted column, you add it to one or more rules.\n Each rule must contain at least one column and at least one user or group.\n To be able to see a restricted column, a user or group needs to be added\n to a rule for that column.

", "properties": { - "ColumnNames": { + "Principals": { "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "maxItems": 100, "minItems": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "

An array of Amazon Resource Names (ARNs) for Amazon QuickSight users or groups.

", + "markdownDescription": "

An array of Amazon Resource Names (ARNs) for Amazon QuickSight users or groups.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Principals": { + "ColumnNames": { "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "maxItems": 100, "minItems": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "

An array of column names.

", + "markdownDescription": "

An array of column names.

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

A rule defined to grant access on one or more restricted columns.\n Each dataset can have multiple rules.\n To create a restricted column, you add it to one or more rules.\n Each rule must contain at least one column and at least one user or group.\n To be able to see a restricted column, a user or group needs to be added\n to a rule for that column.

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

A tag for a column in a TagColumnOperation structure. This is a\n variant type structure. For this structure to be valid, only one of the attributes can\n be non-null.

", + "description": "

A tag for a column in a\n \n TagColumnOperation\n \n structure. This is a\n variant type structure. For this structure to be valid, only one of the attributes can\n be non-null.

", "properties": { "ColumnGeographicRole": { "$ref": "#/definitions/GeoSpatialDataRole" @@ -150,7 +153,15 @@ } }, "additionalProperties": false, - "markdownDescription": "

A tag for a column in a TagColumnOperation structure. This is a\n variant type structure. For this structure to be valid, only one of the attributes can\n be non-null.

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

A tag for a column in a\n \n TagColumnOperation\n \n structure. This is a\n variant type structure. For this structure to be valid, only one of the attributes can\n be non-null.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ColumnTagName": { + "type": "string", + "enum": [ + "COLUMN_GEOGRAPHIC_ROLE", + "COLUMN_DESCRIPTION" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: COLUMN_GEOGRAPHIC_ROLE | COLUMN_DESCRIPTION \nUpdate requires: No interruption" }, "CreateColumnsOperation": { "type": "object", @@ -182,12 +193,19 @@ "description": "

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

", "markdownDescription": "

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

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

A display name for the SQL query result.

", + "markdownDescription": "

A display name for the SQL query result.

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

The SQL query.

", - "markdownDescription": "

The SQL query.

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

The SQL query.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 168000 \nUpdate requires: No interruption" }, "Columns": { "type": "array", @@ -198,13 +216,6 @@ "minItems": 1, "description": "

The column schema from the SQL query result set.

", "markdownDescription": "

The column schema from the SQL query result set.

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

A display name for the SQL query result.

", - "markdownDescription": "

A display name for the SQL query result.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -224,9 +235,43 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SPICE | DIRECT_QUERY \nUpdate requires: No interruption" }, + "DataSetRefreshProperties": { + "type": "object", + "description": "

The refresh properties of a dataset.

", + "properties": { + "RefreshConfiguration": { + "$ref": "#/definitions/RefreshConfiguration" + } + }, + "required": [ + "RefreshConfiguration" + ], + "additionalProperties": false, + "markdownDescription": "

The refresh properties of a dataset.

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

The usage configuration to apply to child datasets that reference this dataset as a source.

", + "properties": { + "DisableUseAsDirectQuerySource": { + "type": "boolean", + "default": false, + "description": "

An option that controls whether a child dataset of a direct query can use this dataset as a source.

", + "markdownDescription": "

An option that controls whether a child dataset of a direct query can use this dataset as a source.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "DisableUseAsImportedSource": { + "type": "boolean", + "default": false, + "description": "

An option that controls whether a child dataset that's stored in QuickSight can use this dataset as a source.

", + "markdownDescription": "

An option that controls whether a child dataset that's stored in QuickSight can use this dataset as a source.

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

The usage configuration to apply to child datasets that reference this dataset as a source.

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

A parameter created in the dataset that could be of any one data type such as string, integer, decimal or datetime.

", + "description": "

A dataset parameter.

", "properties": { "StringDatasetParameter": { "$ref": "#/definitions/StringDatasetParameter" @@ -242,21 +287,7 @@ } }, "additionalProperties": false, - "markdownDescription": "

A parameter created in the dataset that could be of any one data type such as string, integer, decimal or datetime.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "DatasetParameterId": { - "type": "string", - "maxLength": 128, - "minLength": 1, - "description": "

Identifier of the parameter created in the dataset.

", - "markdownDescription": "

Identifier of the parameter created in the dataset.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" - }, - "DatasetParameterName": { - "type": "string", - "maxLength": 2048, - "minLength": 1, - "description": "

Name of the parameter created in the dataset.

", - "markdownDescription": "

Name of the parameter created in the dataset.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[a-zA-Z0-9]+$ \nUpdate requires: No interruption" + "markdownDescription": "

A dataset parameter.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DatasetParameterValueType": { "type": "string", @@ -264,18 +295,25 @@ "MULTI_VALUED", "SINGLE_VALUED" ], - "description": "

Every parameter value could be either a single value or multi value which helps to validate before evaluation.

", - "markdownDescription": "

Every parameter value could be either a single value or multi value which helps to validate before evaluation.

\n\n---\n\nRequired: No \nType: String \nAllowed Values: MULTI_VALUED | SINGLE_VALUED \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: MULTI_VALUED | SINGLE_VALUED \nUpdate requires: No interruption" }, "DateTimeDatasetParameter": { "type": "object", - "description": "

A parameter created in the dataset of date time data type.

", + "description": "

A date time parameter for a dataset.

", "properties": { "Id": { - "$ref": "#/definitions/DatasetParameterId" + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "

An identifier for the parameter that is created in the dataset.

", + "markdownDescription": "

An identifier for the parameter that is created in the dataset.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" }, "Name": { - "$ref": "#/definitions/DatasetParameterName" + "type": "string", + "maxLength": 2048, + "minLength": 1, + "description": "

The name of the date time parameter that is created in the dataset.

", + "markdownDescription": "

The name of the date time parameter that is created in the dataset.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[a-zA-Z0-9]+$ \nUpdate requires: No interruption" }, "ValueType": { "$ref": "#/definitions/DatasetParameterValueType" @@ -293,41 +331,45 @@ "ValueType" ], "additionalProperties": false, - "markdownDescription": "

A parameter created in the dataset of date time data type.

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

A date time parameter for a dataset.

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

List of default values defined for a given string date time parameter type. Currently only static values are supported.

", + "description": "

The default values of a date time parameter.

", "properties": { "StaticValues": { - "$ref": "#/definitions/DateTimeDatasetParameterValueList", - "description": "

List of static default values defined for a given string date time parameter type.

", - "markdownDescription": "

List of static default values defined for a given string date time parameter type.

\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "type": "array", + "items": { + "type": "string", + "description": "

The default value for the date time parameter.

", + "markdownDescription": "

The default value for the date time parameter.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "maxItems": 32, + "minItems": 0, + "description": "

A list of static default values for a given date time parameter.

", + "markdownDescription": "

A list of static default values for a given date time parameter.

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

List of default values defined for a given string date time parameter type. Currently only static values are supported.

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

Default value defined for the dataset parameter of date time type.

", - "markdownDescription": "

Default value defined for the dataset parameter of date time type.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "maxItems": 32, - "minItems": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "

The default values of a date time parameter.

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

A parameter created in the dataset of decimal data type.

", + "description": "

A decimal parameter for a dataset.

", "properties": { "Id": { - "$ref": "#/definitions/DatasetParameterId" + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "

An identifier for the decimal parameter created in the dataset.

", + "markdownDescription": "

An identifier for the decimal parameter created in the dataset.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" }, "Name": { - "$ref": "#/definitions/DatasetParameterName" + "type": "string", + "maxLength": 2048, + "minLength": 1, + "description": "

The name of the decimal parameter that is created in the dataset.

", + "markdownDescription": "

The name of the decimal parameter that is created in the dataset.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[a-zA-Z0-9]+$ \nUpdate requires: No interruption" }, "ValueType": { "$ref": "#/definitions/DatasetParameterValueType" @@ -342,138 +384,39 @@ "ValueType" ], "additionalProperties": false, - "markdownDescription": "

A parameter created in the dataset of decimal data type.

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

A decimal parameter for a dataset.

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

List of default values defined for a given decimal dataset parameter type. Currently only static values are supported.

", + "description": "

The default values of a decimal parameter.

", "properties": { "StaticValues": { - "$ref": "#/definitions/DecimalDatasetParameterValueList", - "description": "

List of static default values defined for a given decimal dataset parameter type.

", - "markdownDescription": "

List of static default values defined for a given decimal dataset parameter type.

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

List of default values defined for a given decimal dataset parameter type. Currently only static values are supported.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "DecimalDatasetParameterValueList": { - "type": "array", - "items": { - "type": "number", - "description": "

Default value defined for the dataset parameter of decimal type.

", - "markdownDescription": "

Default value defined for the dataset parameter of decimal type.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "maxItems": 32, - "minItems": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "IntegerDatasetParameter": { - "type": "object", - "description": "

A parameter created in the dataset of integer data type.

", - "properties": { - "Id": { - "$ref": "#/definitions/DatasetParameterId" - }, - "Name": { - "$ref": "#/definitions/DatasetParameterName" - }, - "ValueType": { - "$ref": "#/definitions/DatasetParameterValueType" - }, - "DefaultValues": { - "$ref": "#/definitions/IntegerDatasetParameterDefaultValues" - } - }, - "required": [ - "Id", - "Name", - "ValueType" - ], - "additionalProperties": false, - "markdownDescription": "

A parameter created in the dataset of integer data type.

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

List of default values defined for a given integer dataset parameter type. Currently only static values are supported.

", - "properties": { - "StaticValues": { - "$ref": "#/definitions/IntegerDatasetParameterValueList", - "description": "

List of static default values defined for a given integer dataset parameter type.

", - "markdownDescription": "

List of static default values defined for a given integer dataset parameter type.

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

List of default values defined for a given integer dataset parameter type. Currently only static values are supported.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "IntegerDatasetParameterValueList": { - "type": "array", - "items": { - "type": "number", - "description": "

Default value defined for the dataset parameter of integer type.

", - "markdownDescription": "

Default value defined for the dataset parameter of integer type.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "maxItems": 32, - "minItems": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "StringDatasetParameter": { - "type": "object", - "description": "

A parameter created in the dataset of string data type.

", - "properties": { - "Id": { - "$ref": "#/definitions/DatasetParameterId" - }, - "Name": { - "$ref": "#/definitions/DatasetParameterName" - }, - "ValueType": { - "$ref": "#/definitions/DatasetParameterValueType" - }, - "DefaultValues": { - "$ref": "#/definitions/StringDatasetParameterDefaultValues" - } - }, - "required": [ - "Id", - "Name", - "ValueType" - ], - "additionalProperties": false, - "markdownDescription": "

A parameter created in the dataset of string data type.

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

List of default values defined for a given string dataset parameter type. Currently only static values are supported.

", - "properties": { - "StaticValues": { - "$ref": "#/definitions/StringDatasetParameterValueList", - "description": "

List of static default values defined for a given string dataset parameter type.

", - "markdownDescription": "

List of static default values defined for a given string dataset parameter type.

\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "type": "array", + "items": { + "type": "number", + "default": 0, + "description": "

The default value for the decimal parameter.

", + "markdownDescription": "

The default value for the decimal parameter.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "maxItems": 32, + "minItems": 0, + "description": "

A list of static default values for a given decimal parameter.

", + "markdownDescription": "

A list of static default values for a given decimal parameter.

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

List of default values defined for a given string dataset parameter type. Currently only static values are supported.

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

Default value defined for the dataset parameter of string type.

", - "markdownDescription": "

Default value defined for the dataset parameter of string type.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "maxItems": 32, - "minItems": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "

The default values of a decimal parameter.

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

A FieldFolder element is a folder that contains fields and nested subfolders.

", "properties": { "Description": { "type": "string", "maxLength": 500, "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 500 \nUpdate requires: No interruption" + "description": "

The description for a field folder.

", + "markdownDescription": "

The description for a field folder.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 500 \nUpdate requires: No interruption" }, "Columns": { "type": "array", @@ -483,11 +426,12 @@ }, "maxItems": 5000, "minItems": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "

A folder has a list of columns. A column can only be in one folder.

", + "markdownDescription": "

A folder has a list of columns. A column can only be in one folder.

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

A FieldFolder element is a folder that contains fields and nested subfolders.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "FieldFolderMap": { "type": "object", @@ -533,28 +477,28 @@ "type": "object", "description": "

Geospatial column group that denotes a hierarchy.

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

A display name for the hierarchy.

", + "markdownDescription": "

A display name for the hierarchy.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + }, + "CountryCode": { + "$ref": "#/definitions/GeoSpatialCountryCode" + }, "Columns": { "type": "array", "items": { "type": "string", - "maxLength": 128, + "maxLength": 127, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" }, "maxItems": 16, "minItems": 1, "description": "

Columns in this hierarchy.

", "markdownDescription": "

Columns in this hierarchy.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "CountryCode": { - "$ref": "#/definitions/GeoSpatialCountryCode" - }, - "Name": { - "type": "string", - "maxLength": 64, - "minLength": 1, - "description": "

A display name for the hierarchy.

", - "markdownDescription": "

A display name for the hierarchy.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" } }, "required": [ @@ -581,26 +525,43 @@ "POSTCODE", "LONGITUDE", "LATITUDE", - "POLITICAL1" + "POLITICAL1", + "CENSUS_TRACT", + "CENSUS_BLOCK_GROUP", + "CENSUS_BLOCK" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: COUNTRY | STATE | COUNTY | CITY | POSTCODE | LONGITUDE | LATITUDE | POLITICAL1 | CENSUS_TRACT | CENSUS_BLOCK_GROUP | CENSUS_BLOCK \nUpdate requires: No interruption" + }, + "IncrementalRefresh": { + "type": "object", + "description": "

The incremental refresh configuration for a dataset.

", + "properties": { + "LookbackWindow": { + "$ref": "#/definitions/LookbackWindow" + } + }, + "required": [ + "LookbackWindow" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: COUNTRY | STATE | COUNTY | CITY | POSTCODE | LONGITUDE | LATITUDE | POLITICAL1 \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

The incremental refresh configuration for a dataset.

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

Metadata for a column that is used as the input of a transform operation.

", "properties": { - "Type": { - "$ref": "#/definitions/InputColumnDataType" - }, - "SubType": { - "$ref": "#/definitions/ColumnSubDataType" - }, "Name": { "type": "string", - "maxLength": 128, + "maxLength": 127, "minLength": 1, "description": "

The name of this column in the underlying data source.

", - "markdownDescription": "

The name of this column in the underlying data source.

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

The name of this column in the underlying data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "Type": { + "$ref": "#/definitions/InputColumnDataType" + }, + "SubType": { + "$ref": "#/definitions/ColumnDataSubType" } }, "required": [ @@ -623,91 +584,93 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: STRING | INTEGER | DECIMAL | DATETIME | BIT | BOOLEAN | JSON \nUpdate requires: No interruption" }, - "RefreshConfiguration": { - "type": "object", - "description": "

Refresh Configuration.

", - "properties": { - "IncrementalRefresh": { - "$ref": "#/definitions/IncrementalRefresh" - } - }, - "additionalProperties": false, - "markdownDescription": "

Refresh Configuration.

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

Incremental Refresh

", + "description": "

An integer parameter for a dataset.

", "properties": { - "LookbackWindow": { - "$ref": "#/definitions/LookbackWindow" + "Id": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "

An identifier for the integer parameter created in the dataset.

", + "markdownDescription": "

An identifier for the integer parameter created in the dataset.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "description": "

The name of the integer parameter that is created in the dataset.

", + "markdownDescription": "

The name of the integer parameter that is created in the dataset.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[a-zA-Z0-9]+$ \nUpdate requires: No interruption" + }, + "ValueType": { + "$ref": "#/definitions/DatasetParameterValueType" + }, + "DefaultValues": { + "$ref": "#/definitions/IntegerDatasetParameterDefaultValues" } }, + "required": [ + "Id", + "Name", + "ValueType" + ], "additionalProperties": false, - "markdownDescription": "

Incremental Refresh

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

An integer parameter for a dataset.

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

The default values of an integer parameter.

", "properties": { - "ColumnName": { - "type": "string", - "description": "

Column Name

", - "markdownDescription": "

Column Name

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

Size

", - "minimum": 1, - "markdownDescription": "

Size

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "SizeUnit": { - "$ref": "#/definitions/SizeUnit" + "StaticValues": { + "type": "array", + "items": { + "type": "number", + "default": 0, + "description": "

The default value for the integer parameter.

", + "markdownDescription": "

The default value for the integer parameter.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "maxItems": 32, + "minItems": 0, + "description": "

A list of static default values for a given integer parameter.

", + "markdownDescription": "

A list of static default values for a given integer parameter.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "SizeUnit": { - "type": "string", - "enum": [ - "HOUR", - "DAY", - "WEEK" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: HOUR | DAY | WEEK \nUpdate requires: No interruption" + "markdownDescription": "

The default values of an integer parameter.

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

Join instruction.

", + "description": "

The instructions associated with a join.

", "properties": { - "OnClause": { - "type": "string", - "maxLength": 512, - "minLength": 1, - "description": "

On Clause.

", - "markdownDescription": "

On Clause.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" - }, - "Type": { - "$ref": "#/definitions/JoinType" - }, - "LeftJoinKeyProperties": { - "$ref": "#/definitions/JoinKeyProperties" - }, "LeftOperand": { "type": "string", "maxLength": 64, "minLength": 1, - "description": "

Left operand.

", - "markdownDescription": "

Left operand.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: [0-9a-zA-Z-]* \nUpdate requires: No interruption" + "description": "

The operand on the left side of a join.

", + "markdownDescription": "

The operand on the left side of a join.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[0-9a-zA-Z-]*$ \nUpdate requires: No interruption" }, "RightOperand": { "type": "string", "maxLength": 64, "minLength": 1, - "description": "

Right operand.

", - "markdownDescription": "

Right operand.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: [0-9a-zA-Z-]* \nUpdate requires: No interruption" + "description": "

The operand on the right side of a join.

", + "markdownDescription": "

The operand on the right side of a join.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[0-9a-zA-Z-]*$ \nUpdate requires: No interruption" + }, + "LeftJoinKeyProperties": { + "$ref": "#/definitions/JoinKeyProperties" }, "RightJoinKeyProperties": { "$ref": "#/definitions/JoinKeyProperties" + }, + "Type": { + "$ref": "#/definitions/JoinType" + }, + "OnClause": { + "type": "string", + "maxLength": 512, + "minLength": 1, + "description": "

The join instructions provided in the ON clause of a join.

", + "markdownDescription": "

The join instructions provided in the ON clause of a join.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" } }, "required": [ @@ -717,18 +680,20 @@ "Type" ], "additionalProperties": false, - "markdownDescription": "

Join instruction.

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

The instructions associated with a join.

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

Properties associated with the columns participating in a join.

", "properties": { "UniqueKey": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "

A value that indicates that a row in a table is uniquely identified by the columns in\n a join key. This is used by Amazon QuickSight to optimize query performance.

", + "markdownDescription": "

A value that indicates that a row in a table is uniquely identified by the columns in\n a join key. This is used by Amazon QuickSight to optimize query performance.

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

Properties associated with the columns participating in a join.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "JoinType": { "type": "string", @@ -758,8 +723,8 @@ }, "maxItems": 2048, "minItems": 1, - "description": "

Transform operations that act on this logical table.

", - "markdownDescription": "

Transform operations that act on this logical table.

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

Transform operations that act on this logical table. For this structure to be valid, only one of the attributes can be non-null.

", + "markdownDescription": "

Transform operations that act on this logical table. For this structure to be valid, only one of the attributes can be non-null.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Source": { "$ref": "#/definitions/LogicalTableSource" @@ -777,7 +742,7 @@ "maxProperties": 64, "minProperties": 1, "patternProperties": { - "[0-9a-zA-Z-]*": { + "^[0-9a-zA-Z-]*$": { "$ref": "#/definitions/LogicalTable" } }, @@ -788,53 +753,132 @@ "type": "object", "description": "

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

", "properties": { + "JoinInstruction": { + "$ref": "#/definitions/JoinInstruction" + }, "PhysicalTableId": { "type": "string", "maxLength": 64, "minLength": 1, "description": "

Physical table ID.

", - "markdownDescription": "

Physical table ID.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: [0-9a-zA-Z-]* \nUpdate requires: No interruption" - }, - "JoinInstruction": { - "$ref": "#/definitions/JoinInstruction" + "markdownDescription": "

Physical table ID.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[0-9a-zA-Z-]*$ \nUpdate requires: No interruption" }, "DataSetArn": { "type": "string", - "description": "

The Amazon Resource Name (ARN) for the dataset.

", - "markdownDescription": "

The Amazon Resource Name (ARN) for the dataset.

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

The Amazon Resource Number (ARN) of the parent dataset.

", + "markdownDescription": "

The Amazon Resource Number (ARN) of the parent dataset.

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

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

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

The lookback window setup of an incremental refresh configuration.

", + "properties": { + "ColumnName": { + "type": "string", + "description": "

The name of the lookback window column.

", + "markdownDescription": "

The name of the lookback window column.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Size": { + "type": "number", + "default": 0, + "minimum": 1, + "description": "

The lookback window column size.

", + "markdownDescription": "

The lookback window column size.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "SizeUnit": { + "$ref": "#/definitions/LookbackWindowSizeUnit" + } + }, + "required": [ + "ColumnName", + "Size", + "SizeUnit" + ], + "additionalProperties": false, + "markdownDescription": "

The lookback window setup of an incremental refresh configuration.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LookbackWindowSizeUnit": { + "type": "string", + "enum": [ + "HOUR", + "DAY", + "WEEK" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: HOUR | DAY | WEEK \nUpdate requires: No interruption" + }, "NewDefaultValues": { "type": "object", + "description": "

The configuration that overrides the existing default values for a dataset parameter that is inherited from another dataset.

", "properties": { "StringStaticValues": { - "$ref": "#/definitions/StringDatasetParameterValueList" + "type": "array", + "items": { + "type": "string", + "maxLength": 512, + "minLength": 0, + "description": "

The default value for the string parameter.

", + "markdownDescription": "

The default value for the string parameter.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 512 \nUpdate requires: No interruption" + }, + "maxItems": 32, + "minItems": 0, + "description": "

A list of static default values for a given string parameter.

", + "markdownDescription": "

A list of static default values for a given string parameter.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "DecimalStaticValues": { - "$ref": "#/definitions/DecimalDatasetParameterValueList" + "type": "array", + "items": { + "type": "number", + "default": 0, + "description": "

The default value for the decimal parameter.

", + "markdownDescription": "

The default value for the decimal parameter.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "maxItems": 32, + "minItems": 0, + "description": "

A list of static default values for a given decimal parameter.

", + "markdownDescription": "

A list of static default values for a given decimal parameter.

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

The default value for the date time parameter.

", + "markdownDescription": "

The default value for the date time parameter.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "maxItems": 32, + "minItems": 0, + "description": "

A list of static default values for a given date time parameter.

", + "markdownDescription": "

A list of static default values for a given date time parameter.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "IntegerStaticValues": { - "$ref": "#/definitions/IntegerDatasetParameterValueList" + "type": "array", + "items": { + "type": "number", + "default": 0, + "description": "

The default value for the integer parameter.

", + "markdownDescription": "

The default value for the integer parameter.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "maxItems": 32, + "minItems": 0, + "description": "

A list of static default values for a given integer parameter.

", + "markdownDescription": "

A list of static default values for a given integer parameter.

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

The configuration that overrides the existing default values for a dataset parameter that is inherited from another dataset.

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

Output column.

", "properties": { - "Type": { - "$ref": "#/definitions/ColumnDataType" - }, - "SubType": { - "$ref": "#/definitions/ColumnSubDataType" + "Name": { + "type": "string", + "maxLength": 127, + "minLength": 1, + "description": "

The display name of the column..

", + "markdownDescription": "

The display name of the column..

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" }, "Description": { "type": "string", @@ -843,12 +887,11 @@ "description": "

A description for a column.

", "markdownDescription": "

A description for a column.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 500 \nUpdate requires: No interruption" }, - "Name": { - "type": "string", - "maxLength": 128, - "minLength": 1, - "description": "

A display name for the dataset.

", - "markdownDescription": "

A display name for the dataset.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "Type": { + "$ref": "#/definitions/ColumnDataType" + }, + "SubType": { + "$ref": "#/definitions/ColumnDataSubType" } }, "additionalProperties": false, @@ -856,29 +899,31 @@ }, "OverrideDatasetParameterOperation": { "type": "object", - "description": "

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

", + "description": "

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

", "properties": { "ParameterName": { - "$ref": "#/definitions/DatasetParameterName", + "type": "string", + "maxLength": 2048, + "minLength": 1, "description": "

The name of the parameter to be overridden with different values.

", - "markdownDescription": "

The name of the parameter to be overridden with different values.

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

The name of the parameter to be overridden with different values.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[a-zA-Z0-9]+$ \nUpdate requires: No interruption" }, "NewParameterName": { - "$ref": "#/definitions/DatasetParameterName", + "type": "string", + "maxLength": 2048, + "minLength": 1, "description": "

The new name for the parameter.

", - "markdownDescription": "

The new name for the parameter.

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

The new name for the parameter.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[a-zA-Z0-9]+$ \nUpdate requires: No interruption" }, "NewDefaultValues": { - "$ref": "#/definitions/NewDefaultValues", - "description": "

The new default values for the parameter.

", - "markdownDescription": "

The new default values for the parameter.

\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "$ref": "#/definitions/NewDefaultValues" } }, "required": [ "ParameterName" ], "additionalProperties": false, - "markdownDescription": "

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

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "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" }, "PhysicalTable": { "type": "object", @@ -902,7 +947,7 @@ "maxProperties": 32, "minProperties": 0, "patternProperties": { - "[0-9a-zA-Z-]*": { + "^[0-9a-zA-Z-]*$": { "$ref": "#/definitions/PhysicalTable" } }, @@ -931,45 +976,59 @@ "additionalProperties": false, "markdownDescription": "

A transform operation that projects columns. Operations that come after a projection\n can only refer to projected columns.

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

The refresh configuration of a dataset.

", + "properties": { + "IncrementalRefresh": { + "$ref": "#/definitions/IncrementalRefresh" + } + }, + "required": [ + "IncrementalRefresh" + ], + "additionalProperties": false, + "markdownDescription": "

The refresh configuration of a dataset.

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

A physical table type for relational data sources.

", "properties": { "DataSourceArn": { "type": "string", - "description": "

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

", - "markdownDescription": "

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

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "InputColumns": { - "type": "array", - "items": { - "$ref": "#/definitions/InputColumn" - }, - "maxItems": 2048, - "minItems": 1, - "description": "

The column schema of the table.

", - "markdownDescription": "

The column schema of the table.

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

The schema name. This name applies to certain relational database engines.

", - "markdownDescription": "

The schema name. This name applies to certain relational database engines.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 64 \nUpdate requires: No interruption" + "description": "

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

", + "markdownDescription": "

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

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

The catalog associated with a table.

", "maxLength": 256, "minLength": 0, + "description": "

The catalog associated with a table.

", "markdownDescription": "

The catalog associated with a table.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" }, + "Schema": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "description": "

The schema name. This name applies to certain relational database engines.

", + "markdownDescription": "

The schema name. This name applies to certain relational database engines.

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

The name of the relational table.

", - "markdownDescription": "

The name of the relational table.

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

The name of the relational table.

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

The column schema of the table.

", + "markdownDescription": "

The column schema of the table.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -984,19 +1043,19 @@ "type": "object", "description": "

A transform operation that renames a column.

", "properties": { - "NewColumnName": { + "ColumnName": { "type": "string", - "maxLength": 128, + "maxLength": 127, "minLength": 1, - "description": "

The new name for the column.

", - "markdownDescription": "

The new name for the column.

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

The name of the column to be renamed.

", + "markdownDescription": "

The name of the column to be renamed.

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

The name of the column to be renamed.

", - "markdownDescription": "

The name of the column to be renamed.

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

The new name for the column.

", + "markdownDescription": "

The new name for the column.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" } }, "required": [ @@ -1010,6 +1069,13 @@ "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" + }, "Actions": { "type": "array", "items": { @@ -1020,13 +1086,6 @@ "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" - }, - "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 AWS account root: This is an IAM ARN rather than a QuickSight\n ARN. Use this option only to share resources (templates) across AWS 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 AWS account root: This is an IAM ARN rather than a QuickSight\n ARN. Use this option only to share resources (templates) across AWS 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" } }, "required": [ @@ -1038,19 +1097,19 @@ }, "RowLevelPermissionDataSet": { "type": "object", - "description": "

The row-level security configuration for the dataset.

", + "description": "

Information about a dataset that contains permissions for row-level security (RLS).\n The permissions dataset maps fields to users or groups. For more information, see\n Using Row-Level Security (RLS) to Restrict Access to a Dataset in the Amazon QuickSight User\n Guide.

\n

The option to deny permissions by setting PermissionPolicy to DENY_ACCESS is\n not supported for new RLS datasets.

", "properties": { - "Arn": { - "type": "string", - "description": "

The Amazon Resource Name (ARN) of the permission dataset.

", - "markdownDescription": "

The Amazon Resource Name (ARN) of the permission dataset.

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

The namespace associated with the row-level permissions dataset.

", - "markdownDescription": "

The namespace associated with the row-level permissions dataset.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9._-]*$ \nUpdate requires: No interruption" + "description": "

The namespace associated with the dataset that contains permissions for RLS.

", + "markdownDescription": "

The namespace associated with the dataset that contains permissions for RLS.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9._-]*$ \nUpdate requires: No interruption" + }, + "Arn": { + "type": "string", + "description": "

The Amazon Resource Name (ARN) of the dataset that contains permissions for RLS.

", + "markdownDescription": "

The Amazon Resource Name (ARN) of the dataset that contains permissions for RLS.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "PermissionPolicy": { "$ref": "#/definitions/RowLevelPermissionPolicy" @@ -1067,15 +1126,7 @@ "PermissionPolicy" ], "additionalProperties": false, - "markdownDescription": "

The row-level security configuration for the dataset.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "RowLevelPermissionPolicy": { - "type": "string", - "enum": [ - "GRANT_ACCESS", - "DENY_ACCESS" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GRANT_ACCESS | DENY_ACCESS \nUpdate requires: No interruption" + "markdownDescription": "

Information about a dataset that contains permissions for row-level security (RLS).\n The permissions dataset maps fields to users or groups. For more information, see\n Using Row-Level Security (RLS) to Restrict Access to a Dataset in the Amazon QuickSight User\n Guide.

\n

The option to deny permissions by setting PermissionPolicy to DENY_ACCESS is\n not supported for new RLS datasets.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RowLevelPermissionFormatVersion": { "type": "string", @@ -1085,9 +1136,17 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VERSION_1 | VERSION_2 \nUpdate requires: No interruption" }, + "RowLevelPermissionPolicy": { + "type": "string", + "enum": [ + "GRANT_ACCESS", + "DENY_ACCESS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GRANT_ACCESS | DENY_ACCESS \nUpdate requires: No interruption" + }, "RowLevelPermissionTagConfiguration": { "type": "object", - "description": "

The configuration of tags on a dataset to set row-level security.

", + "description": "

The configuration of tags on a dataset to set row-level security.

", "properties": { "Status": { "$ref": "#/definitions/Status" @@ -1105,7 +1164,16 @@ "TagRuleConfigurations": { "type": "array", "items": { - "$ref": "#/definitions/RowLevelPermissionTagRuleConfiguration" + "type": "array", + "items": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "maxItems": 50, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "maxItems": 50, "minItems": 1, @@ -1117,25 +1185,12 @@ "TagRules" ], "additionalProperties": false, - "markdownDescription": "

The configuration of tags on a dataset to set row-level security.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Status": { - "type": "string", - "enum": [ - "ENABLED", - "DISABLED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + "markdownDescription": "

The configuration of tags on a dataset to set row-level security.

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

Permission for the resource.

", + "description": "

A set of rules associated with a tag.

", "properties": { - "ColumnName": { - "type": "string", - "description": "

The column name that a tag key is assigned to.

", - "markdownDescription": "

The column name that a tag key is assigned to.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, "TagKey": { "type": "string", "maxLength": 128, @@ -1143,18 +1198,24 @@ "description": "

The unique key for a tag.

", "markdownDescription": "

The unique key for a tag.

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

A string that you want to use to filter by all the values in a column in the dataset and don\u2019t want to list the values one by one. For example, you can use an asterisk as your match all value.

", - "markdownDescription": "

A string that you want to use to filter by all the values in a column in the dataset and don\u2019t want to list the values one by one. For example, you can use an asterisk as your match all value.

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

The column name that a tag key is assigned to.

", + "markdownDescription": "

The column name that a tag key is assigned to.

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

A string that you want to use to delimit the values when you pass the values at run time. For example, you can delimit the values with a comma.

", "markdownDescription": "

A string that you want to use to delimit the values when you pass the values at run time. For example, you can delimit the values with a comma.

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

A string that you want to use to filter by all the values in a column in the dataset and don\u2019t want to list the values one by one. For example, you can use an asterisk as your match all value.

", + "markdownDescription": "

A string that you want to use to filter by all the values in a column in the dataset and don\u2019t want to list the values one by one. For example, you can use an asterisk as your match all value.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ @@ -1162,28 +1223,19 @@ "TagKey" ], "additionalProperties": false, - "markdownDescription": "

Permission for the resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "RowLevelPermissionTagRuleConfiguration": { - "type": "array", - "items": { - "type": "string", - "maxLength": 128, - "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "maxItems": 50, - "minItems": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "

A set of rules associated with a tag.

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

A physical table type for as S3 data source.

", + "description": "

A physical table type for an S3 data source.

", "properties": { "DataSourceArn": { "type": "string", - "description": "

The amazon Resource Name (ARN) for the data source.

", - "markdownDescription": "

The amazon Resource Name (ARN) for the data source.

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

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

", + "markdownDescription": "

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

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "UploadSettings": { + "$ref": "#/definitions/UploadSettings" }, "InputColumns": { "type": "array", @@ -1192,11 +1244,8 @@ }, "maxItems": 2048, "minItems": 1, - "description": "

A physical table type for as S3 data source.

", - "markdownDescription": "

A physical table type for as S3 data source.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "UploadSettings": { - "$ref": "#/definitions/UploadSettings" + "description": "

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
", + "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" } }, "required": [ @@ -1204,25 +1253,88 @@ "InputColumns" ], "additionalProperties": false, - "markdownDescription": "

A physical table type for as S3 data source.

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

A physical table type for an S3 data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tag": { + "Status": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, + "StringDatasetParameter": { "type": "object", - "description": "

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

", + "description": "

A string parameter for a dataset.

", "properties": { - "Value": { + "Id": { "type": "string", - "maxLength": 256, + "maxLength": 128, "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" + "description": "

An identifier for the string parameter that is created in the dataset.

", + "markdownDescription": "

An identifier for the string parameter that is created in the dataset.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" }, + "Name": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "description": "

The name of the string parameter that is created in the dataset.

", + "markdownDescription": "

The name of the string parameter that is created in the dataset.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[a-zA-Z0-9]+$ \nUpdate requires: No interruption" + }, + "ValueType": { + "$ref": "#/definitions/DatasetParameterValueType" + }, + "DefaultValues": { + "$ref": "#/definitions/StringDatasetParameterDefaultValues" + } + }, + "required": [ + "Id", + "Name", + "ValueType" + ], + "additionalProperties": false, + "markdownDescription": "

A string parameter for a dataset.

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

The default values of a string parameter.

", + "properties": { + "StaticValues": { + "type": "array", + "items": { + "type": "string", + "maxLength": 512, + "minLength": 0, + "description": "

The default value for the string parameter.

", + "markdownDescription": "

The default value for the string parameter.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 512 \nUpdate requires: No interruption" + }, + "maxItems": 32, + "minItems": 0, + "description": "

A list of static default values for a given string parameter.

", + "markdownDescription": "

A list of static default values for a given string parameter.

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

The default values of a string parameter.

\n\n---\n\nRequired: No \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": [ @@ -1238,10 +1350,10 @@ "properties": { "ColumnName": { "type": "string", - "maxLength": 128, + "maxLength": 127, "minLength": 1, "description": "

The column that this operation acts on.

", - "markdownDescription": "

The column that this operation acts on.

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

The column that this operation acts on.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" }, "Tags": { "type": "array", @@ -1250,8 +1362,8 @@ }, "maxItems": 16, "minItems": 1, - "description": "

The dataset column tag, currently only used for geospatial type tagging. .

\n \n

This is not tags for the AWS tagging feature. .

\n
", - "markdownDescription": "

The dataset column tag, currently only used for geospatial type tagging. .

\n \n

This is not tags for the AWS tagging feature. .

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

The dataset column tag, currently only used for geospatial type tagging.

\n \n

This is not tags for the Amazon Web Services tagging feature.

\n
", + "markdownDescription": "

The dataset column tag, currently only used for geospatial type tagging.

\n \n

This is not tags for the Amazon Web Services tagging feature.

\n
\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -1288,23 +1400,26 @@ "type": "object", "description": "

A data transformation on a logical table. This is a variant type structure. For this\n structure to be valid, only one of the attributes can be non-null.

", "properties": { - "TagColumnOperation": { - "$ref": "#/definitions/TagColumnOperation" + "ProjectOperation": { + "$ref": "#/definitions/ProjectOperation" }, "FilterOperation": { "$ref": "#/definitions/FilterOperation" }, - "CastColumnTypeOperation": { - "$ref": "#/definitions/CastColumnTypeOperation" - }, "CreateColumnsOperation": { "$ref": "#/definitions/CreateColumnsOperation" }, "RenameColumnOperation": { "$ref": "#/definitions/RenameColumnOperation" }, - "ProjectOperation": { - "$ref": "#/definitions/ProjectOperation" + "CastColumnTypeOperation": { + "$ref": "#/definitions/CastColumnTypeOperation" + }, + "TagColumnOperation": { + "$ref": "#/definitions/TagColumnOperation" + }, + "UntagColumnOperation": { + "$ref": "#/definitions/UntagColumnOperation" }, "OverrideDatasetParameterOperation": { "$ref": "#/definitions/OverrideDatasetParameterOperation" @@ -1313,18 +1428,37 @@ "additionalProperties": false, "markdownDescription": "

A data transformation on a logical table. This is a variant type structure. For this\n structure to be valid, only one of the attributes can be non-null.

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

A transform operation that removes tags associated with a column.

", + "properties": { + "ColumnName": { + "type": "string", + "maxLength": 127, + "minLength": 1, + "description": "

The column that this operation acts on.

", + "markdownDescription": "

The column that this operation acts on.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "TagNames": { + "type": "array", + "items": { + "$ref": "#/definitions/ColumnTagName" + }, + "description": "

The column tags to remove from this column.

", + "markdownDescription": "

The column tags to remove from this column.

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

A transform operation that removes tags associated with a column.

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

Information about the format for a source file or files.

", "properties": { - "ContainsHeader": { - "type": "boolean", - "description": "

Whether the file has a header row, or the files each have a header row.

", - "markdownDescription": "

Whether the file has a header row, or the files each have a header row.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "TextQualifier": { - "$ref": "#/definitions/TextQualifier" - }, "Format": { "$ref": "#/definitions/FileFormat" }, @@ -1334,6 +1468,14 @@ "description": "

A row number to start reading data from.

", "markdownDescription": "

A row number to start reading data from.

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

Whether the file has a header row, or the files each have a header row.

", + "markdownDescription": "

Whether the file has a header row, or the files each have a header row.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "TextQualifier": { + "$ref": "#/definitions/TextQualifier" + }, "Delimiter": { "type": "string", "maxLength": 1, @@ -1366,33 +1508,6 @@ }, "additionalProperties": false, "markdownDescription": "

Wait policy to use when creating/updating dataset. Default is to wait for SPICE ingestion to finish with timeout of 36 hours.

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

The dataset usage configuration for the dataset.

", - "properties": { - "DisableUseAsDirectQuerySource": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "DisableUseAsImportedSource": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "markdownDescription": "

The dataset usage configuration for the dataset.

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

The dataset refresh properties for the dataset.

", - "properties": { - "RefreshConfiguration": { - "$ref": "#/definitions/RefreshConfiguration" - } - }, - "additionalProperties": false, - "markdownDescription": "

The dataset refresh properties for the dataset.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -1409,8 +1524,8 @@ }, "maxItems": 8, "minItems": 1, - "description": "

Groupings of columns that work together in certain QuickSight features. Currently, only geospatial hierarchy is supported.

", - "markdownDescription": "

Groupings of columns that work together in certain QuickSight features. Currently, only geospatial hierarchy is supported.

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

Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported.

", + "markdownDescription": "

Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "ColumnLevelPermissionRules": { "type": "array", @@ -1418,21 +1533,28 @@ "$ref": "#/definitions/ColumnLevelPermissionRule" }, "minItems": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "

A set of one or more definitions of a \n ColumnLevelPermissionRule\n .

", + "markdownDescription": "

A set of one or more definitions of a \n ColumnLevelPermissionRule\n .

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "DataSetId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, + "DataSetRefreshProperties": { + "$ref": "#/definitions/DataSetRefreshProperties" + }, + "DataSetUsageConfiguration": { + "$ref": "#/definitions/DataSetUsageConfiguration" + }, "DatasetParameters": { "type": "array", "items": { "$ref": "#/definitions/DatasetParameter" }, "maxItems": 32, - "minItems": 1, - "description": "

The parameters declared in the dataset.

", - "markdownDescription": "

The parameters declared in the dataset.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "minItems": 0, + "description": "

The parameter declarations of the dataset.

", + "markdownDescription": "

The parameter declarations of the dataset.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "FieldFolders": { "$ref": "#/definitions/FieldFolderMap" @@ -1481,12 +1603,6 @@ }, "IngestionWaitPolicy": { "$ref": "#/definitions/IngestionWaitPolicy" - }, - "DataSetUsageConfiguration": { - "$ref": "#/definitions/DataSetUsageConfiguration" - }, - "DataSetRefreshProperties": { - "$ref": "#/definitions/DataSetRefreshProperties" } }, "readOnlyProperties": [ @@ -1508,7 +1624,6 @@ "/properties/AwsAccountId", "/properties/DataSetId" ], - "additionalProperties": false, "handlers": { "create": { "permissions": [ @@ -1569,6 +1684,14 @@ ] } }, + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags" + }, "attributes": { "Arn": { "type": "string", @@ -1577,6 +1700,7 @@ }, "ConsumedSpiceCapacityInBytes": { "type": "number", + "default": 0, "description": "

The amount of SPICE capacity used by this dataset. This is 0 if the dataset isn't\n imported into SPICE.

", "markdownDescription": "

The amount of SPICE capacity used by this dataset. This is 0 if the dataset isn't\n imported into SPICE.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, diff --git a/server/schema/resources/aws-quicksight-datasource.json b/server/schema/resources/aws-quicksight-datasource.json index 3b6f34e9..33ff8ed7 100644 --- a/server/schema/resources/aws-quicksight-datasource.json +++ b/server/schema/resources/aws-quicksight-datasource.json @@ -4,41 +4,43 @@ "definitions": { "AmazonElasticsearchParameters": { "type": "object", - "description": "

Amazon Elasticsearch Service parameters.

", + "description": "

The parameters for OpenSearch.

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

The Amazon Elasticsearch Service domain.

", - "markdownDescription": "

The Amazon Elasticsearch Service domain.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + "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" ], - "markdownDescription": "

Amazon Elasticsearch Service parameters.

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

The parameters for OpenSearch.

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

Amazon OpenSearch Service parameters.

", + "description": "

The parameters for OpenSearch.

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

The Amazon OpenSearch Service domain.

", - "markdownDescription": "

The Amazon OpenSearch Service domain.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + "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" ], - "markdownDescription": "

Amazon OpenSearch Service parameters.

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

The parameters for OpenSearch.

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

Amazon Athena parameters.

", + "description": "

Parameters for Amazon Athena.

", "properties": { "WorkGroup": { "type": "string", @@ -55,14 +57,23 @@ "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": "

Amazon Athena parameters.

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

Parameters for Amazon Athena.

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

Amazon Aurora parameters.

", + "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, "minimum": 1, "description": "

Port.

", @@ -74,13 +85,6 @@ "minLength": 1, "description": "

Database.

", "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \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" } }, "required": [ @@ -88,32 +92,34 @@ "Host", "Port" ], - "markdownDescription": "

Amazon Aurora parameters.

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

Parameters for Amazon Aurora.

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

Amazon Aurora with PostgreSQL compatibility parameters.

", + "description": "

Parameters for Amazon Aurora PostgreSQL-Compatible Edition.

", "properties": { + "Host": { + "type": "string", + "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" + }, "Port": { "type": "number", + "default": 0, "maximum": 65535, "minimum": 1, - "description": "

Port.

", - "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "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" }, "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" - }, - "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" + "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" } }, "required": [ @@ -121,11 +127,12 @@ "Host", "Port" ], - "markdownDescription": "

Amazon Aurora with PostgreSQL compatibility parameters.

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

Parameters for Amazon Aurora PostgreSQL-Compatible Edition.

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

AWS IoT Analytics parameters.

", + "description": "

The parameters for IoT Analytics.

", "properties": { "DataSetName": { "type": "string", @@ -138,22 +145,13 @@ "required": [ "DataSetName" ], - "markdownDescription": "

AWS IoT Analytics parameters.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "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": { - "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" - }, "Username": { "type": "string", "maxLength": 64, @@ -167,67 +165,46 @@ "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": [ "Password", "Username" ], + "additionalProperties": false, "markdownDescription": "

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

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

Databricks parameters.

", - "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", - "maximum": 65535, - "minimum": 1, - "description": "

Port.

", - "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" - }, - "SqlEndpointPath": { - "type": "string", - "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": [ - "Host", - "Port", - "SqlEndpointPath" - ], - "markdownDescription": "

Databricks parameters.

\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": { + "CredentialPair": { + "$ref": "#/definitions/CredentialPair" + }, "CopySourceArn": { "type": "string", "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" - }, - "CredentialPair": { - "$ref": "#/definitions/CredentialPair" + "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" }, "SecretArn": { "type": "string", "maxLength": 2048, "minLength": 1, "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" + "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" } }, + "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": { @@ -243,6 +220,7 @@ "markdownDescription": "

Error message.

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

Error information for the data source creation or update.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DataSourceErrorInfoType": { @@ -263,56 +241,56 @@ "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": { - "AuroraPostgreSqlParameters": { - "$ref": "#/definitions/AuroraPostgreSqlParameters" - }, - "TeradataParameters": { - "$ref": "#/definitions/TeradataParameters" - }, - "RdsParameters": { - "$ref": "#/definitions/RdsParameters" + "AmazonElasticsearchParameters": { + "$ref": "#/definitions/AmazonElasticsearchParameters" }, "AthenaParameters": { "$ref": "#/definitions/AthenaParameters" }, - "SparkParameters": { - "$ref": "#/definitions/SparkParameters" + "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" }, - "MySqlParameters": { - "$ref": "#/definitions/MySqlParameters" - }, - "SqlServerParameters": { - "$ref": "#/definitions/SqlServerParameters" + "S3Parameters": { + "$ref": "#/definitions/S3Parameters" }, "SnowflakeParameters": { "$ref": "#/definitions/SnowflakeParameters" }, - "AmazonElasticsearchParameters": { - "$ref": "#/definitions/AmazonElasticsearchParameters" - }, - "AmazonOpenSearchParameters": { - "$ref": "#/definitions/AmazonOpenSearchParameters" + "SparkParameters": { + "$ref": "#/definitions/SparkParameters" }, - "PostgreSqlParameters": { - "$ref": "#/definitions/PostgreSqlParameters" + "SqlServerParameters": { + "$ref": "#/definitions/SqlServerParameters" }, - "AuroraParameters": { - "$ref": "#/definitions/AuroraParameters" + "TeradataParameters": { + "$ref": "#/definitions/TeradataParameters" }, - "S3Parameters": { - "$ref": "#/definitions/S3Parameters" + "AmazonOpenSearchParameters": { + "$ref": "#/definitions/AmazonOpenSearchParameters" }, "DatabricksParameters": { "$ref": "#/definitions/DatabricksParameters" @@ -324,6 +302,7 @@ "$ref": "#/definitions/TrinoParameters" } }, + "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": { @@ -337,6 +316,13 @@ "AURORA_POSTGRESQL", "AWS_IOT_ANALYTICS", "DATABRICKS", + "DENODO", + "DREMIO", + "DYNAMODB", + "SAPHANA", + "DB2_AS400", + "EXASOL", + "FILE", "GITHUB", "JIRA", "MARIADB", @@ -352,12 +338,67 @@ "SPARK", "SQLSERVER", "TERADATA", - "TWITTER", "TIMESTREAM", + "TWITTER", + "BIGQUERY", + "GOOGLE_ANALYTICS", + "TRINO", "STARBURST", - "TRINO" + "MONGO", + "MONGO_ATLAS", + "DOCUMENTDB", + "APPFLOW" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ADOBE_ANALYTICS | AMAZON_ELASTICSEARCH | AMAZON_OPENSEARCH | ATHENA | AURORA | AURORA_POSTGRESQL | AWS_IOT_ANALYTICS | DATABRICKS | GITHUB | JIRA | MARIADB | MYSQL | ORACLE | POSTGRESQL | PRESTO | REDSHIFT | S3 | SALESFORCE | SERVICENOW | SNOWFLAKE | SPARK | SQLSERVER | TERADATA | TWITTER | TIMESTREAM | STARBURST | TRINO \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 | SALESFORCE | SERVICENOW | SNOWFLAKE | SPARK | SQLSERVER | TERADATA | TIMESTREAM | TWITTER | BIGQUERY | GOOGLE_ANALYTICS | TRINO | STARBURST | MONGO | MONGO_ATLAS | DOCUMENTDB | APPFLOW \nUpdate requires: No interruption" + }, + "DatabricksParameters": { + "type": "object", + "description": "

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

", + "properties": { + "Host": { + "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" + }, + "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": 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": [ + "Host", + "Port", + "SqlEndpointPath" + ], + "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": { + "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.

", + "markdownDescription": "

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

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

The parameters for an IAM Identity Center configuration.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ManifestFileLocation": { "type": "object", @@ -382,14 +423,23 @@ "Bucket", "Key" ], + "additionalProperties": false, "markdownDescription": "

Amazon S3 manifest file location.

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

MariaDB parameters.

", + "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, "minimum": 1, "description": "

Port.

", @@ -401,13 +451,6 @@ "minLength": 1, "description": "

Database.

", "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \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" } }, "required": [ @@ -415,14 +458,23 @@ "Host", "Port" ], - "markdownDescription": "

MariaDB parameters.

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

The parameters for MariaDB.

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

MySQL parameters.

", + "description": "

The parameters for MySQL.

", "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, "minimum": 1, "description": "

Port.

", @@ -434,13 +486,6 @@ "minLength": 1, "description": "

Database.

", "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \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" } }, "required": [ @@ -448,28 +493,34 @@ "Host", "Port" ], - "markdownDescription": "

MySQL parameters.

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

The parameters for MySQL.

\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, "minimum": 1, - "markdownDescription": "\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": { "type": "string", "maxLength": 128, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Host": { - "type": "string", - "maxLength": 256, - "minLength": 1, - "markdownDescription": "\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": [ @@ -477,14 +528,23 @@ "Host", "Port" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

The parameters for Oracle.

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

PostgreSQL parameters.

", + "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, "minimum": 1, "description": "

Port.

", @@ -496,13 +556,6 @@ "minLength": 1, "description": "

Database.

", "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \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" } }, "required": [ @@ -510,19 +563,13 @@ "Host", "Port" ], - "markdownDescription": "

PostgreSQL parameters.

\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": { "type": "object", - "description": "

Presto parameters.

", + "description": "

The parameters for Presto.

", "properties": { - "Port": { - "type": "number", - "maximum": 65535, - "minimum": 1, - "description": "

Port.

", - "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" - }, "Host": { "type": "string", "maxLength": 256, @@ -530,6 +577,14 @@ "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" + }, "Catalog": { "type": "string", "maxLength": 128, @@ -543,11 +598,12 @@ "Host", "Port" ], - "markdownDescription": "

Presto parameters.

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

The parameters for Presto.

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

Amazon RDS parameters.

", + "description": "

The parameters for Amazon RDS.

", "properties": { "InstanceId": { "type": "string", @@ -568,21 +624,67 @@ "Database", "InstanceId" ], - "markdownDescription": "

Amazon RDS parameters.

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

The parameters for Amazon RDS.

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

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

", + "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": { - "ClusterId": { + "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" + }, + "DatabaseUser": { "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" + "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" + }, + "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" + }, + "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" }, "Port": { "type": "number", + "default": 0, "maximum": 65535, "minimum": 0, "description": "

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

", @@ -595,23 +697,41 @@ "description": "

Database.

", "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "Host": { + "ClusterId": { "type": "string", - "maxLength": 256, + "maxLength": 64, "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" + "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" + }, + "IAMParameters": { + "$ref": "#/definitions/RedshiftIAMParameters" + }, + "IdentityCenterConfiguration": { + "$ref": "#/definitions/IdentityCenterConfiguration" } }, "required": [ "Database" ], - "markdownDescription": "

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

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "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" + }, + "Resource": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "Actions": { "type": "array", "items": { @@ -622,19 +742,13 @@ "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" - }, - "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 AWS account root: This is an IAM ARN rather than a QuickSight\n ARN. Use this option only to share resources (templates) across AWS 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 AWS account root: This is an IAM ARN rather than a QuickSight\n ARN. Use this option only to share resources (templates) across AWS 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" } }, "required": [ "Actions", "Principal" ], + "additionalProperties": false, "markdownDescription": "

Permission for the resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ResourceStatus": { @@ -652,7 +766,7 @@ }, "S3Parameters": { "type": "object", - "description": "

S3 parameters.

", + "description": "

The parameters for S3.

", "properties": { "ManifestFileLocation": { "$ref": "#/definitions/ManifestFileLocation" @@ -668,18 +782,19 @@ "required": [ "ManifestFileLocation" ], - "markdownDescription": "

S3 parameters.

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

The parameters for S3.

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

Snowflake parameters.

", + "description": "

The parameters for Snowflake.

", "properties": { - "Warehouse": { + "Host": { "type": "string", - "maxLength": 128, - "minLength": 0, - "description": "

Warehouse.

", - "markdownDescription": "

Warehouse.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \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" }, "Database": { "type": "string", @@ -688,12 +803,12 @@ "description": "

Database.

", "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "Host": { + "Warehouse": { "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" + "maxLength": 128, + "minLength": 0, + "description": "

Warehouse.

", + "markdownDescription": "

Warehouse.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -701,11 +816,12 @@ "Host", "Warehouse" ], - "markdownDescription": "

Snowflake parameters.

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

The parameters for Snowflake.

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

Starburst parameters.

", + "description": "

The parameters for Spark.

", "properties": { "Host": { "type": "string", @@ -716,40 +832,23 @@ }, "Port": { "type": "number", + "default": 0, "maximum": 65535, "minimum": 1, "description": "

Port.

", "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" - }, - "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" - }, - "ProductType": { - "$ref": "#/definitions/StarburstProductType" } }, "required": [ "Host", - "Port", - "Catalog" - ], - "markdownDescription": "

Starburst parameters.

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

The parameters for Spark.

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

Trino parameters.

", + "description": "

The parameters for SQL Server.

", "properties": { "Host": { "type": "string", @@ -760,127 +859,128 @@ }, "Port": { "type": "number", + "default": 0, "maximum": 65535, "minimum": 1, "description": "

Port.

", "markdownDescription": "

Port.

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

Catalog.

", - "markdownDescription": "

Catalog.

\n\n---\n\nRequired: Yes \nType: String \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": [ + "Database", "Host", - "Port", - "Catalog" + "Port" ], - "markdownDescription": "

Trino parameters.

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

The parameters for SQL Server.

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

Spark parameters.

", + "description": "

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

", "properties": { - "Port": { - "type": "number", - "maximum": 65535, - "minimum": 1, - "description": "

Port.

", - "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" + "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": [ - "Host", - "Port" - ], - "markdownDescription": "

Spark parameters.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "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" }, - "SqlServerParameters": { + "StarburstParameters": { "type": "object", - "description": "

SQL Server parameters.

", + "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, "minimum": 1, - "description": "

Port.

", - "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": { + "Catalog": { "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" + "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": { - "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" + "ProductType": { + "$ref": "#/definitions/StarburstProductType" } }, "required": [ - "Database", + "Catalog", "Host", "Port" ], - "markdownDescription": "

SQL Server parameters.

\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" }, - "SslProperties": { - "type": "object", - "description": "

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

", - "properties": { - "DisableSsl": { - "type": "boolean", - "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" - } - }, - "markdownDescription": "

Secure Socket Layer (SSL) properties that apply when QuickSight connects to your\n underlying 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": { "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": { - "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" - }, "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" }, "TeradataParameters": { "type": "object", - "description": "

Teradata parameters.

", + "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, "minimum": 1, "description": "

Port.

", @@ -892,21 +992,50 @@ "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", + "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": "

Host.

", - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "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": { + "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" } }, "required": [ - "Database", + "Catalog", "Host", "Port" ], - "markdownDescription": "

Teradata parameters.

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

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

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "VpcConnectionProperties": { "type": "object", @@ -921,6 +1050,7 @@ "required": [ "VpcConnectionArn" ], + "additionalProperties": false, "markdownDescription": "

VPC connection properties.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, @@ -958,8 +1088,7 @@ "type": "string", "maxLength": 128, "minLength": 1, - "description": "

A display name for the data source.

", - "markdownDescription": "

A display name for the data source.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Permissions": { "type": "array", @@ -968,8 +1097,7 @@ }, "maxItems": 64, "minItems": 1, - "description": "

A list of resource permissions on the data source.

", - "markdownDescription": "

A list of resource permissions on the data source.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "SslProperties": { "$ref": "#/definitions/SslProperties" @@ -981,8 +1109,7 @@ }, "maxItems": 200, "minItems": 1, - "description": "

Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.

", - "markdownDescription": "

Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Type": { "$ref": "#/definitions/DataSourceType" @@ -991,6 +1118,10 @@ "$ref": "#/definitions/VpcConnectionProperties" } }, + "required": [ + "Name", + "Type" + ], "readOnlyProperties": [ "/properties/Arn", "/properties/CreatedTime", @@ -1009,21 +1140,20 @@ "/properties/AwsAccountId", "/properties/DataSourceId" ], - "additionalProperties": false, "handlers": { - "create": { + "read": { "permissions": [ - "quicksight:CreateDataSource", "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", - "quicksight:TagResource", "quicksight:ListTagsForResource" ] }, - "read": { + "create": { "permissions": [ + "quicksight:CreateDataSource", "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", + "quicksight:TagResource", "quicksight:ListTagsForResource" ] }, @@ -1053,6 +1183,8 @@ ] } }, + "additionalProperties": false, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-quicksight", "attributes": { "Arn": { "type": "string", diff --git a/server/schema/resources/aws-quicksight-refreshschedule.json b/server/schema/resources/aws-quicksight-refreshschedule.json index 3cd14d2a..cdeca0f7 100644 --- a/server/schema/resources/aws-quicksight-refreshschedule.json +++ b/server/schema/resources/aws-quicksight-refreshschedule.json @@ -1,4 +1,5 @@ { + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-quicksight", "typeName": "AWS::QuickSight::RefreshSchedule", "description": "Definition of the AWS::QuickSight::RefreshSchedule Resource Type.", "definitions": { @@ -155,7 +156,21 @@ "list": { "permissions": [ "quicksight:ListRefreshSchedules" - ] + ], + "handlerSchema": { + "properties": { + "AwsAccountId": { + "$ref": "resource-schema.json#/properties/AwsAccountId" + }, + "DataSetId": { + "$ref": "resource-schema.json#/properties/DataSetId" + } + }, + "required": [ + "AwsAccountId", + "DataSetId" + ] + } }, "read": { "permissions": [ diff --git a/server/schema/resources/aws-quicksight-template.json b/server/schema/resources/aws-quicksight-template.json index 6f8ed278..0adca2d9 100644 --- a/server/schema/resources/aws-quicksight-template.json +++ b/server/schema/resources/aws-quicksight-template.json @@ -848,7 +848,7 @@ }, "Series": { "minItems": 0, - "maxItems": 10, + "maxItems": 2000, "type": "array", "items": { "$ref": "#/definitions/SeriesItem" @@ -2235,6 +2235,25 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "WaterfallChartGroupColorConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "NegativeBarColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}$ \nUpdate requires: No interruption" + }, + "TotalBarColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}$ \nUpdate requires: No interruption" + }, + "PositiveBarColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}$ \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FunnelChartFieldWells": { "additionalProperties": false, "type": "object", @@ -5884,6 +5903,16 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "WaterfallChartColorConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "GroupColorConfiguration": { + "$ref": "#/definitions/WaterfallChartGroupColorConfiguration" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ParameterListControl": { "additionalProperties": false, "type": "object", @@ -6798,6 +6827,9 @@ "WaterfallChartOptions": { "$ref": "#/definitions/WaterfallChartOptions" }, + "ColorConfiguration": { + "$ref": "#/definitions/WaterfallChartColorConfiguration" + }, "CategoryAxisDisplayOptions": { "$ref": "#/definitions/AxisDisplayOptions" }, @@ -9313,7 +9345,7 @@ "properties": { "ConditionalFormattingOptions": { "minItems": 0, - "maxItems": 100, + "maxItems": 500, "type": "array", "items": { "$ref": "#/definitions/TableConditionalFormattingOption" @@ -9659,7 +9691,7 @@ "properties": { "ConditionalFormattingOptions": { "minItems": 0, - "maxItems": 100, + "maxItems": 500, "type": "array", "items": { "$ref": "#/definitions/PivotTableConditionalFormattingOption" diff --git a/server/schema/resources/aws-quicksight-topic.json b/server/schema/resources/aws-quicksight-topic.json index c2e76318..701c6a94 100644 --- a/server/schema/resources/aws-quicksight-topic.json +++ b/server/schema/resources/aws-quicksight-topic.json @@ -584,6 +584,10 @@ "default": false, "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, + "DisableIndexing": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "ColumnDataRole": { "$ref": "#/definitions/ColumnDataRole" }, @@ -621,17 +625,17 @@ "default": false, "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "NonAdditive": { - "type": "boolean", - "default": false, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, "CellValueSynonyms": { "type": "array", "items": { "$ref": "#/definitions/CellValueSynonym" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "NonAdditive": { + "type": "boolean", + "default": false, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ @@ -723,6 +727,10 @@ "default": false, "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, + "DisableIndexing": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "ComparativeOrder": { "$ref": "#/definitions/ComparativeOrder" }, @@ -754,17 +762,17 @@ "default": false, "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "NonAdditive": { - "type": "boolean", - "default": false, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, "CellValueSynonyms": { "type": "array", "items": { "$ref": "#/definitions/CellValueSynonym" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "NonAdditive": { + "type": "boolean", + "default": false, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ @@ -803,15 +811,15 @@ "minLength": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" }, + "UserExperienceVersion": { + "$ref": "#/definitions/TopicUserExperienceVersion" + }, "DataSets": { "type": "array", "items": { "$ref": "#/definitions/DatasetMetadata" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "UserExperienceVersion": { - "$ref": "#/definitions/TopicUserExperienceVersion" } }, "additionalProperties": false, @@ -1105,12 +1113,6 @@ "/properties/AwsAccountId", "/properties/TopicId" ], - "tagging": { - "taggable": false, - "tagOnCreate": false, - "tagUpdatable": false, - "cloudFormationSystemTags": false - }, "handlers": { "create": { "permissions": [ @@ -1143,6 +1145,12 @@ } }, "additionalProperties": false, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "attributes": { "Arn": { "type": "string", diff --git a/server/schema/resources/aws-quicksight-vpcconnection.json b/server/schema/resources/aws-quicksight-vpcconnection.json index 962087c8..f3a96cb3 100644 --- a/server/schema/resources/aws-quicksight-vpcconnection.json +++ b/server/schema/resources/aws-quicksight-vpcconnection.json @@ -2,149 +2,91 @@ "typeName": "AWS::QuickSight::VPCConnection", "description": "Definition of the AWS::QuickSight::VPCConnection Resource Type.", "definitions": { - "Arn": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "DnsResolvers": { - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "insertionOrder": false, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "NetworkInterfaces": { - "type": "array", - "items": { - "$ref": "#/definitions/NetworkInterface" - }, - "maxItems": 15, - "insertionOrder": false, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "NetworkInterface": { "type": "object", + "description": "

The structure that contains information about a network interface.

", "properties": { "SubnetId": { - "$ref": "#/definitions/SubnetId" + "type": "string", + "maxLength": 255, + "minLength": 1, + "description": "

The subnet ID associated with the network interface.

", + "markdownDescription": "

The subnet ID associated with the network interface.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^subnet-[0-9a-z]*$ \nUpdate requires: No interruption" }, "AvailabilityZone": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "

The availability zone that the network interface resides in.

", + "markdownDescription": "

The availability zone that the network interface resides in.

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

An error message.

", + "markdownDescription": "

An error message.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Status": { - "type": "string", - "enum": [ - "CREATING", - "AVAILABLE", - "CREATION_FAILED", - "UPDATING", - "UPDATE_FAILED", - "DELETING", - "DELETED", - "DELETION_FAILED", - "DELETION_SCHEDULED", - "ATTACHMENT_FAILED_ROLLBACK_FAILED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | AVAILABLE | CREATION_FAILED | UPDATING | UPDATE_FAILED | DELETING | DELETED | DELETION_FAILED | DELETION_SCHEDULED | ATTACHMENT_FAILED_ROLLBACK_FAILED \nUpdate requires: No interruption" + "$ref": "#/definitions/NetworkInterfaceStatus" }, "NetworkInterfaceId": { - "$ref": "#/definitions/NetworkInterfaceId" + "type": "string", + "maxLength": 255, + "minLength": 0, + "description": "

The network interface ID.

", + "markdownDescription": "

The network interface ID.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nPattern: ^eni-[0-9a-z]*$ \nUpdate requires: No interruption" } }, "additionalProperties": false, - "required": [], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "NetworkInterfaceId": { - "type": "string", - "maxLength": 255, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nPattern: ^eni-[0-9a-z]*$ \nUpdate requires: No interruption" - }, - "RoleArn": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SecurityGroupIds": { - "type": "array", - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 16, - "minItems": 1, - "insertionOrder": false, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "SecurityGroupId": { - "type": "string", - "maxItems": 255, - "minItems": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^sg-[0-9a-z]*$ \nUpdate requires: No interruption" - }, - "SubnetIds": { - "type": "array", - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 15, - "minItems": 2, - "insertionOrder": false, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "

The structure that contains information about a network interface.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SubnetId": { + "NetworkInterfaceStatus": { "type": "string", - "maxLength": 255, - "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^subnet-[0-9a-z]*$ \nUpdate requires: No interruption" - }, - "Tags": { - "type": "array", - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 1, - "insertionOrder": false, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "enum": [ + "CREATING", + "AVAILABLE", + "CREATION_FAILED", + "UPDATING", + "UPDATE_FAILED", + "DELETING", + "DELETED", + "DELETION_FAILED", + "DELETION_SCHEDULED", + "ATTACHMENT_FAILED_ROLLBACK_FAILED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | AVAILABLE | CREATION_FAILED | UPDATING | UPDATE_FAILED | DELETING | DELETED | DELETION_FAILED | DELETION_SCHEDULED | ATTACHMENT_FAILED_ROLLBACK_FAILED \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": { - "Value": { + "Key": { "type": "string", - "maxLength": 256, + "maxLength": 128, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "description": "

Tag key.

", + "markdownDescription": "

Tag key.

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

Tag value.

", + "markdownDescription": "

Tag value.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" } }, - "additionalProperties": false, "required": [ "Key", "Value" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "VPCConnectionId": { - "type": "string", - "maxLength": 1000, - "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nPattern: [\\w\\-]+ \nUpdate requires: No interruption" + "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" }, - "VPCId": { + "VPCConnectionAvailabilityStatus": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "enum": [ + "AVAILABLE", + "UNAVAILABLE", + "PARTIALLY_AVAILABLE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AVAILABLE | UNAVAILABLE | PARTIALLY_AVAILABLE \nUpdate requires: No interruption" }, "VPCConnectionResourceStatus": { "type": "string", @@ -160,67 +102,80 @@ "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 | DELETION_IN_PROGRESS | DELETION_FAILED | DELETED \nUpdate requires: No interruption" - }, - "VPCConnectionAvailabilityStatus": { - "type": "string", - "enum": [ - "AVAILABLE", - "UNAVAILABLE", - "PARTIALLY_AVAILABLE" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AVAILABLE | UNAVAILABLE | PARTIALLY_AVAILABLE \nUpdate requires: No interruption" } }, "properties": { + "AvailabilityStatus": { + "$ref": "#/definitions/VPCConnectionAvailabilityStatus" + }, "AwsAccountId": { "type": "string", "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" }, + "DnsResolvers": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "Name": { "type": "string", "maxLength": 128, "minLength": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "VPCConnectionId": { - "$ref": "#/definitions/VPCConnectionId" + "RoleArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SecurityGroupIds": { - "$ref": "#/definitions/SecurityGroupIds" + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^sg-[0-9a-z]*$ \nUpdate requires: No interruption" + }, + "maxItems": 16, + "minItems": 1, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "SubnetIds": { - "$ref": "#/definitions/SubnetIds" - }, - "DnsResolvers": { - "$ref": "#/definitions/DnsResolvers" - }, - "AvailabilityStatus": { - "$ref": "#/definitions/VPCConnectionAvailabilityStatus" - }, - "RoleArn": { - "$ref": "#/definitions/RoleArn" + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^subnet-[0-9a-z]*$ \nUpdate requires: No interruption" + }, + "maxItems": 15, + "minItems": 2, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Tags": { - "$ref": "#/definitions/Tags" + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "VPCConnectionId": { + "type": "string", + "maxLength": 1000, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nPattern: [\\w\\-]+ \nUpdate requires: Replacement" } }, - "additionalProperties": false, - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" - }, - "createOnlyProperties": [ - "/properties/AwsAccountId", - "/properties/VPCConnectionId" - ], - "writeOnlyProperties": [ - "/properties/SubnetIds" - ], "readOnlyProperties": [ "/properties/Arn", "/properties/CreatedTime", @@ -229,6 +184,13 @@ "/properties/Status", "/properties/VPCId" ], + "writeOnlyProperties": [ + "/properties/SubnetIds" + ], + "createOnlyProperties": [ + "/properties/AwsAccountId", + "/properties/VPCConnectionId" + ], "primaryIdentifier": [ "/properties/AwsAccountId", "/properties/VPCConnectionId" @@ -273,28 +235,50 @@ ] } }, + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags" + }, "attributes": { "Arn": { - "$ref": "#/definitions/Arn" - }, - "VPCId": { - "$ref": "#/definitions/VPCId" - }, - "Status": { - "$ref": "#/definitions/VPCConnectionResourceStatus" - }, - "NetworkInterfaces": { - "$ref": "#/definitions/NetworkInterfaces" + "type": "string", + "description": "

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

", + "markdownDescription": "

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

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

The time that the VPC connection was created.

", "format": "date-time", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "

The time that the VPC connection was created.

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

The time that the VPC connection was last updated.

", "format": "date-time", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "

The time that the VPC connection was last updated.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "NetworkInterfaces": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterface" + }, + "maxItems": 15, + "minItems": 0, + "description": "

A list of network interfaces.

", + "insertionOrder": false, + "markdownDescription": "

A list of network interfaces.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Status": { + "$ref": "#/definitions/VPCConnectionResourceStatus" + }, + "VPCId": { + "type": "string", + "description": "

The Amazon EC2 VPC ID associated with the VPC connection.

", + "markdownDescription": "

The Amazon EC2 VPC ID associated with the VPC connection.

\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 2b99f862..d0b957aa 100644 --- a/server/schema/resources/aws-rds-dbcluster.json +++ b/server/schema/resources/aws-rds-dbcluster.json @@ -1,659 +1,631 @@ { "typeName": "AWS::RDS::DBCluster", - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "description": "The AWS::RDS::DBCluster resource creates an Amazon Aurora DB cluster.", - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], + "description": "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).", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "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])", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)", - "/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/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/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/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/Engine": "$lowercase(Engine)" - }, - "handlers": { - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] + "properties": { + "ReadEndpoint": { + "$ref": "#/definitions/ReadEndpoint", + "description": "This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions:\n + ``CreateDBInstance`` \n + ``DescribeDBInstances`` \n + ``DeleteDBInstance`` \n \n For the data structure that represents Amazon Aurora DB cluster endpoints, see ``DBClusterEndpoint``.", + "markdownDescription": "This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions:\n + ``CreateDBInstance`` \n + ``DescribeDBInstances`` \n + ``DeleteDBInstance`` \n \n For the data structure that represents Amazon Aurora DB cluster endpoints, see ``DBClusterEndpoint``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - } - }, - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ], - "additionalProperties": false, - "definitions": { - "MasterUserSecret": { - "additionalProperties": false, - "type": "object", - "properties": { - "SecretArn": { - "description": "The Amazon Resource Name (ARN) of the secret.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the secret.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "KmsKeyId": { - "description": "The AWS KMS key identifier that is used to encrypt the secret.", - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/KeyId" - } - }, - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/Arn" - } - } - ], - "type": "string", - "markdownDescription": "The AWS KMS key identifier that is used to encrypt the secret.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "AllocatedStorage": { + "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n Valid for Cluster Type: Multi-AZ DB clusters only\n This setting is required to create a Multi-AZ DB cluster.", + "type": "integer", + "markdownDescription": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n Valid for Cluster Type: Multi-AZ DB clusters only\n This setting is required to create a Multi-AZ DB cluster.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "Endpoint": { - "additionalProperties": false, - "type": "object", - "properties": { - "Address": { - "description": "The connection endpoint for the DB cluster.", - "type": "string", - "markdownDescription": "The connection endpoint for the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Port": { - "description": "The port number that will accept connections on this DB cluster.", - "type": "string", - "markdownDescription": "The port number that will accept connections on this DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } + "AssociatedRoles": { + "description": "Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other Amazon Web Services on your behalf.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/DBClusterRole" }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other Amazon Web Services on your behalf.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "ServerlessV2ScalingConfiguration": { - "description": "Contains the scaling configuration of an Aurora Serverless v2 DB cluster.", - "additionalProperties": false, - "type": "object", - "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.", - "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" - }, - "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.", - "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\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - } + "AvailabilityZones": { + "description": "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", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "Contains the scaling configuration of an Aurora Serverless v2 DB cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "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" }, - "ScalingConfiguration": { - "description": "The ScalingConfiguration property type specifies the scaling configuration of an Aurora Serverless DB cluster.", - "additionalProperties": false, - "type": "object", - "properties": { - "TimeoutAction": { - "description": "The action to take when the timeout is reached, either ForceApplyCapacityChange or RollbackCapacityChange.\nForceApplyCapacityChange sets the capacity to the specified value as soon as possible.\nRollbackCapacityChange, the default, ignores the capacity change if a scaling point isn't found in the timeout period.\n\nFor more information, see Autoscaling for Aurora Serverless v1 in the Amazon Aurora User Guide.", - "type": "string", - "markdownDescription": "The action to take when the timeout is reached, either ForceApplyCapacityChange or RollbackCapacityChange.\nForceApplyCapacityChange sets the capacity to the specified value as soon as possible.\nRollbackCapacityChange, the default, ignores the capacity change if a scaling point isn't found in the timeout period.\n\nFor more information, see Autoscaling for Aurora Serverless v1 in the Amazon Aurora User Guide.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SecondsBeforeTimeout": { - "description": "The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action.\nThe default is 300.", - "type": "integer", - "markdownDescription": "The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action.\nThe default is 300.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "SecondsUntilAutoPause": { - "description": "The time, in seconds, before an Aurora DB cluster in serverless mode is paused.", - "type": "integer", - "markdownDescription": "The time, in seconds, before an Aurora DB cluster in serverless mode is paused.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "AutoPause": { - "description": "A value that indicates whether to allow or disallow automatic pause for an Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).", - "type": "boolean", - "markdownDescription": "A value that indicates whether to allow or disallow automatic pause for an Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "MinCapacity": { - "description": "The minimum capacity for an Aurora DB cluster in serverless DB engine mode.\nFor Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128, and 256.\nFor Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192, and 384.\nThe minimum capacity must be less than or equal to the maximum capacity.", - "type": "integer", - "markdownDescription": "The minimum capacity for an Aurora DB cluster in serverless DB engine mode.\nFor Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128, and 256.\nFor Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192, and 384.\nThe minimum capacity must be less than or equal to the maximum capacity.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaxCapacity": { - "description": "The maximum capacity for an Aurora DB cluster in serverless DB engine mode.\nFor Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128, and 256.\nFor Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192, and 384.\nThe maximum capacity must be greater than or equal to the minimum capacity.", - "type": "integer", - "markdownDescription": "The maximum capacity for an Aurora DB cluster in serverless DB engine mode.\nFor Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128, and 256.\nFor Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192, and 384.\nThe maximum capacity must be greater than or equal to the minimum capacity.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "The ScalingConfiguration property type specifies the scaling configuration of an Aurora Serverless DB cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "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", + "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" }, - "ReadEndpoint": { - "additionalProperties": false, - "type": "object", - "properties": { - "Address": { - "description": "The reader endpoint for the DB cluster.", - "type": "string", - "markdownDescription": "The reader endpoint for the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "BacktrackWindow": { + "description": "The target backtrack window, in seconds. To disable backtracking, set this value to 0. \n Currently, Backtrack is only supported for Aurora MySQL DB clusters.\n Default: 0\n Constraints:\n + If specified, this value must be set to a number from 0 to 259,200 (72 hours).\n \n Valid for: Aurora MySQL DB clusters only", + "minimum": 0, + "type": "integer", + "markdownDescription": "The target backtrack window, in seconds. To disable backtracking, set this value to 0. \n Currently, Backtrack is only supported for Aurora MySQL DB clusters.\n Default: 0\n Constraints:\n + If specified, this value must be set to a number from 0 to 259,200 (72 hours).\n \n Valid for: Aurora MySQL DB clusters only\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "DBClusterRole": { - "description": "Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.", - "additionalProperties": false, - "type": "object", - "properties": { - "RoleArn": { - "relationshipRef": { - "typeName": "AWS::IAM::Role", - "propertyPath": "/properties/Arn" - }, - "description": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "FeatureName": { - "description": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. For the list of supported feature names, see DBEngineVersion in the Amazon RDS API Reference.", - "type": "string", - "markdownDescription": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. For the list of supported feature names, see DBEngineVersion in the Amazon RDS API Reference.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "RoleArn" - ], - "markdownDescription": "Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "BackupRetentionPeriod": { + "description": "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", + "default": 1, + "minimum": 1, + "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" }, - "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 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: No \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", - "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" - } - }, - "required": [ - "Key" - ], - "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "properties": { - "StorageEncrypted": { - "description": "Indicates whether the DB instance is encrypted.\nIf you specify the DBClusterIdentifier, SnapshotIdentifier, or SourceDBInstanceIdentifier property, don't specify this property. The value is inherited from the cluster, snapshot, or source DB instance.", + "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": "Indicates whether the DB instance is encrypted.\nIf you specify the DBClusterIdentifier, SnapshotIdentifier, or SourceDBInstanceIdentifier property, don't specify this property. The value is inherited from the cluster, snapshot, or source DB instance.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "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" + }, + "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", + "markdownDescription": "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\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "DBClusterInstanceClass": { + "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example ``db.m6gd.xlarge``. Not all DB instance classes are available in all AWS-Regions, or for all database engines.\n For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide*.\n This setting is required to create a Multi-AZ DB cluster.\n Valid for Cluster Type: Multi-AZ DB clusters only", + "type": "string", + "markdownDescription": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example ``db.m6gd.xlarge``. Not all DB instance classes are available in all AWS-Regions, or for all database engines.\n For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide*.\n This setting is required to create a Multi-AZ DB cluster.\n Valid for Cluster Type: Multi-AZ DB clusters only\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DBInstanceParameterGroupName": { + "description": "The name of the DB parameter group to apply to all instances of the DB cluster.\n When you apply a parameter group using the ``DBInstanceParameterGroupName`` parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window.\n Valid for Cluster Type: Aurora DB clusters only\n Default: The existing name setting\n Constraints:\n + The DB parameter group must be in the same DB parameter group family as this DB cluster.\n + The ``DBInstanceParameterGroupName`` parameter is valid in combination with the ``AllowMajorVersionUpgrade`` parameter for a major version upgrade only.", + "type": "string", + "markdownDescription": "The name of the DB parameter group to apply to all instances of the DB cluster.\n When you apply a parameter group using the ``DBInstanceParameterGroupName`` parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window.\n Valid for Cluster Type: Aurora DB clusters only\n Default: The existing name setting\n Constraints:\n + The DB parameter group must be in the same DB parameter group family as this DB cluster.\n + The ``DBInstanceParameterGroupName`` parameter is valid in combination with the ``AllowMajorVersionUpgrade`` parameter for a major version upgrade only.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DBSystemId": { "description": "Reserved for future use.", "type": "string", "markdownDescription": "Reserved for future use.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "RestoreToTime": { - "description": "The date and time to restore the DB cluster to. Value must be a time in Universal Coordinated Time (UTC) format. An example: 2015-03-07T23:45:00Z", + "GlobalClusterIdentifier": { + "description": "If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. To define the primary database cluster of the global cluster, use the [AWS::RDS::GlobalCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html) resource. \n If you aren't configuring a global database cluster, don't specify this property. \n To remove the DB cluster from a global database cluster, specify an empty value for the ``GlobalClusterIdentifier`` property.\n For information about Aurora global databases, see [Working with Amazon Aurora Global Databases](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) in the *Amazon Aurora User Guide*.\n Valid for: Aurora DB clusters only", "type": "string", - "markdownDescription": "The date and time to restore the DB cluster to. Value must be a time in Universal Coordinated Time (UTC) format. An example: 2015-03-07T23:45:00Z\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "minLength": 0, + "maxLength": 63, + "markdownDescription": "If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. To define the primary database cluster of the global cluster, use the [AWS::RDS::GlobalCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html) resource. \n If you aren't configuring a global database cluster, don't specify this property. \n To remove the DB cluster from a global database cluster, specify an empty value for the ``GlobalClusterIdentifier`` property.\n For information about Aurora global databases, see [Working with Amazon Aurora Global Databases](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) in the *Amazon Aurora User Guide*.\n Valid for: Aurora DB clusters only\n\n---\n\nRequired: No \nType: String \nMaximum Length: 63 \nPattern: ^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$ \nUpdate requires: Some interruptions" }, - "EngineMode": { - "description": "The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, global, or multimaster.", + "DBClusterIdentifier": { + "description": "The DB cluster identifier. This parameter is stored as a lowercase string.\n Constraints:\n + Must contain from 1 to 63 letters, numbers, or hyphens.\n + First character must be a letter.\n + Can't end with a hyphen or contain two consecutive hyphens.\n \n Example: ``my-cluster1`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type": "string", - "markdownDescription": "The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, global, or multimaster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "minLength": 1, + "maxLength": 63, + "markdownDescription": "The DB cluster identifier. This parameter is stored as a lowercase string.\n Constraints:\n + Must contain from 1 to 63 letters, numbers, or hyphens.\n + First character must be a letter.\n + Can't end with a hyphen or contain two consecutive hyphens.\n \n Example: ``my-cluster1`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nPattern: ^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$ \nUpdate requires: Replacement" }, - "Port": { - "description": "The port number on which the instances in the DB cluster accept connections. Default: 3306 if engine is set as aurora or 5432 if set to aurora-postgresql.", - "type": "integer", - "markdownDescription": "The port number on which the instances in the DB cluster accept connections. Default: 3306 if engine is set as aurora or 5432 if set to aurora-postgresql.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "DBClusterParameterGroupName": { + "description": "The name of the DB cluster parameter group to associate with this DB cluster.\n If you apply a parameter group to an existing 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 update stack waits until the DB cluster is started.\n To list all of the available DB cluster parameter group names, use the following command:\n ``aws rds describe-db-cluster-parameter-groups --query \"DBClusterParameterGroups[].DBClusterParameterGroupName\" --output text`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type": "string", + "default": "default.aurora5.6", + "markdownDescription": "The name of the DB cluster parameter group to associate with this DB cluster.\n If you apply a parameter group to an existing 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 update stack waits until the DB cluster is started.\n To list all of the available DB cluster parameter group names, use the following command:\n ``aws rds describe-db-cluster-parameter-groups --query \"DBClusterParameterGroups[].DBClusterParameterGroupName\" --output text`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DBClusterIdentifier": { - "minLength": 1, - "description": "The DB cluster identifier. This parameter is stored as a lowercase string.", + "DBSubnetGroupName": { + "description": "A DB subnet group that you want to associate with this DB cluster. \n If you are restoring a DB cluster to a point in time with ``RestoreType`` set to ``copy-on-write``, and don't specify a DB subnet group name, then the DB cluster is restored with a default DB subnet group.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type": "string", - "maxLength": 63, - "markdownDescription": "The DB cluster identifier. This parameter is stored as a lowercase string.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nPattern: ^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$ \nUpdate requires: Replacement" + "markdownDescription": "A DB subnet group that you want to associate with this DB cluster. \n If you are restoring a DB cluster to a point in time with ``RestoreType`` set to ``copy-on-write``, and don't specify a DB subnet group name, then the DB cluster is restored with a default DB subnet group.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "MonitoringInterval": { - "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. The default is 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. The default is 0.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "DeletionProtection": { + "description": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type": "boolean", + "markdownDescription": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "ReplicationSourceIdentifier": { - "description": "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.", + "Domain": { + "description": "Indicates the directory ID of the Active Directory to create the DB cluster.\n For Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB cluster.\n For more information, see [Kerberos authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html) in the *Amazon Aurora User Guide*.\n Valid for: Aurora DB clusters only", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Indicates the directory ID of the Active Directory to create the DB cluster.\n For Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB cluster.\n For more information, see [Kerberos authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.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" }, - "Engine": { - "description": "The name of the database engine to be used for this DB cluster. Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for MySQL 5.7-compatible Aurora), and aurora-postgresql", + "DomainIAMRoleName": { + "description": "Specifies the name of the IAM role to use when making API calls to the Directory Service.\n Valid for: Aurora DB clusters only", "type": "string", - "markdownDescription": "The name of the database engine to be used for this DB cluster. Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for MySQL 5.7-compatible Aurora), and aurora-postgresql\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + "markdownDescription": "Specifies the name of the IAM role to use when making API calls to the Directory Service.\n Valid for: Aurora DB clusters only\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Tags": { - "maxItems": 50, - "uniqueItems": true, - "description": "An array of key-value pairs to apply to this resource.", - "insertionOrder": false, + "EnableCloudwatchLogsExports": { + "description": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Aurora User Guide*.\n *Aurora MySQL* \n Valid values: ``audit``, ``error``, ``general``, ``slowquery`` \n *Aurora PostgreSQL* \n Valid values: ``postgresql`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type": "array", + "uniqueItems": true, "items": { - "$ref": "#/definitions/Tag" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \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: No interruption" + "markdownDescription": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Aurora User Guide*.\n *Aurora MySQL* \n Valid values: ``audit``, ``error``, ``general``, ``slowquery`` \n *Aurora PostgreSQL* \n Valid values: ``postgresql`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "EngineVersion": { - "description": "The version number of the database engine to use.", - "type": "string", - "markdownDescription": "The version number of the database engine to use.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "EnableGlobalWriteForwarding": { + "description": "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", + "type": "boolean", + "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" }, - "StorageType": { - "description": "Specifies the storage type to be associated with the DB cluster.", - "type": "string", - "markdownDescription": "Specifies the storage type to be associated with the DB cluster.\n\n---\n\nRequired: No \nType: String \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", + "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" }, - "KmsKeyId": { - "description": "The Amazon Resource Name (ARN) of the AWS Key Management Service master key that is used to encrypt the database instances in the DB cluster, such as arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. If you enable the StorageEncrypted property but don't specify this property, the default master key is used. If you specify this property, you must set the StorageEncrypted property to true.", - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/Arn" - } - }, - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/KeyId" - } - } - ], - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service master key that is used to encrypt the database instances in the DB cluster, such as arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. If you enable the StorageEncrypted property but don't specify this property, the default master key is used. If you specify this property, you must set the StorageEncrypted property to true.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "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", + "type": "boolean", + "markdownDescription": "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\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "ServerlessV2ScalingConfiguration": { - "description": "Contains the scaling configuration of an Aurora Serverless v2 DB cluster.", - "$ref": "#/definitions/ServerlessV2ScalingConfiguration", - "markdownDescription": "Contains the scaling configuration of an Aurora Serverless v2 DB cluster.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "EnableLocalWriteForwarding": { + "description": "Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.\n Valid for: Aurora DB clusters only", + "type": "boolean", + "markdownDescription": "Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.\n Valid for: Aurora DB clusters only\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "PerformanceInsightsRetentionPeriod": { - "description": "The amount of time, in days, to retain Performance Insights data.", - "type": "integer", - "markdownDescription": "The amount of time, in days, to retain Performance Insights data.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Engine": { + "description": "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", + "type": "string", + "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" }, - "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 in the Amazon RDS User Guide.", + "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``", "type": "string", - "markdownDescription": "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 in the Amazon RDS User Guide.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "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" }, - "AutoMinorVersionUpgrade": { - "description": "A value that indicates whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.", - "type": "boolean", - "markdownDescription": "A value that indicates whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.\n\n---\n\nRequired: No \nType: Boolean \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", + "type": "string", + "markdownDescription": "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\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "DBSubnetGroupName": { - "description": "A DB subnet group that you want to associate with this DB cluster.", + "EngineVersion": { + "description": "The version number of the database engine to use.\n To list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible) and version 3 (8.0-compatible), use the following command:\n ``aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"`` \n You can supply either ``5.7`` or ``8.0`` to use the default engine version for Aurora MySQL version 2 or version 3, respectively.\n To list all of the available engine versions for Aurora PostgreSQL, use the following command:\n ``aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"`` \n To list all of the available engine versions for RDS for MySQL, use the following command:\n ``aws rds describe-db-engine-versions --engine mysql --query \"DBEngineVersions[].EngineVersion\"`` \n To list all of the available engine versions for RDS for PostgreSQL, use the following command:\n ``aws rds describe-db-engine-versions --engine postgres --query \"DBEngineVersions[].EngineVersion\"`` \n *Aurora MySQL* \n For information, see [Database engine updates for Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) in the *Amazon Aurora User Guide*.\n *Aurora PostgreSQL* \n For information, see [Amazon Aurora PostgreSQL releases and engine versions](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) in the *Amazon Aurora User Guide*.\n *MySQL* \n For information, see [Amazon RDS for MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide*.\n *PostgreSQL* \n For information, see [Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) in the *Amazon RDS User Guide*.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type": "string", - "markdownDescription": "A DB subnet group that you want to associate with this DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The version number of the database engine to use.\n To list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible) and version 3 (8.0-compatible), use the following command:\n ``aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"`` \n You can supply either ``5.7`` or ``8.0`` to use the default engine version for Aurora MySQL version 2 or version 3, respectively.\n To list all of the available engine versions for Aurora PostgreSQL, use the following command:\n ``aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"`` \n To list all of the available engine versions for RDS for MySQL, use the following command:\n ``aws rds describe-db-engine-versions --engine mysql --query \"DBEngineVersions[].EngineVersion\"`` \n To list all of the available engine versions for RDS for PostgreSQL, use the following command:\n ``aws rds describe-db-engine-versions --engine postgres --query \"DBEngineVersions[].EngineVersion\"`` \n *Aurora MySQL* \n For information, see [Database engine updates for Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) in the *Amazon Aurora User Guide*.\n *Aurora PostgreSQL* \n For information, see [Amazon Aurora PostgreSQL releases and engine versions](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) in the *Amazon Aurora User Guide*.\n *MySQL* \n For information, see [Amazon RDS for MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide*.\n *PostgreSQL* \n For information, see [Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) in the *Amazon RDS User Guide*.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DeletionProtection": { - "description": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.", + "ManageMasterUserPassword": { + "description": "Specifies whether to manage the master user password with AWS Secrets Manager.\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 Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Constraints:\n + Can't manage the master user password with AWS Secrets Manager if ``MasterUserPassword`` is specified.", "type": "boolean", - "markdownDescription": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Specifies whether to manage the master user password with AWS Secrets Manager.\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 Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Constraints:\n + Can't manage the master user password with AWS Secrets Manager if ``MasterUserPassword`` is specified.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "AllocatedStorage": { - "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.", + "Iops": { + "description": "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.\n For information about valid IOPS values, see [Provisioned IOPS storage](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide*.\n This setting is required to create a Multi-AZ DB cluster.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Constraints:\n + Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", "type": "integer", - "markdownDescription": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.\n For information about valid IOPS values, see [Provisioned IOPS storage](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide*.\n This setting is required to create a Multi-AZ DB cluster.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Constraints:\n + Must be a multiple between .5 and 50 of the storage amount for the DB cluster.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "KmsKeyId": { + "description": "The Amazon Resource Name (ARN) of the AWS KMS key that is used to encrypt the database instances in the DB cluster, such as ``arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef``. If you enable the ``StorageEncrypted`` property but don't specify this property, the default KMS key is used. If you specify this property, you must set the ``StorageEncrypted`` property to ``true``.\n If you specify the ``SnapshotIdentifier`` property, the ``StorageEncrypted`` property value is inherited from the snapshot, and if the DB cluster is encrypted, the specified ``KmsKeyId`` property is used.\n If you create a read replica of an encrypted DB cluster in another AWS Region, make sure to set ``KmsKeyId`` to a KMS key identifier that is valid in the destination AWS Region. This KMS key is used to encrypt the read replica in that AWS Region.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key that is used to encrypt the database instances in the DB cluster, such as ``arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef``. If you enable the ``StorageEncrypted`` property but don't specify this property, the default KMS key is used. If you specify this property, you must set the ``StorageEncrypted`` property to ``true``.\n If you specify the ``SnapshotIdentifier`` property, the ``StorageEncrypted`` property value is inherited from the snapshot, and if the DB cluster is encrypted, the specified ``KmsKeyId`` property is used.\n If you create a read replica of an encrypted DB cluster in another AWS Region, make sure to set ``KmsKeyId`` to a KMS key identifier that is valid in the destination AWS Region. This KMS key is used to encrypt the read replica in that AWS Region.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "MasterUsername": { + "description": "The name of the master user for the DB cluster.\n If you specify the ``SourceDBClusterIdentifier``, ``SnapshotIdentifier``, or ``GlobalClusterIdentifier`` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type": "string", + "minLength": 1, + "markdownDescription": "The name of the master user for the DB cluster.\n If you specify the ``SourceDBClusterIdentifier``, ``SnapshotIdentifier``, or ``GlobalClusterIdentifier`` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nPattern: ^[a-zA-Z]{1}[a-zA-Z0-9_]*$ \nUpdate requires: Some interruptions" }, "MasterUserPassword": { - "description": "The master password for the DB instance.", + "description": "The master password for the DB instance.\n If you specify the ``SourceDBClusterIdentifier``, ``SnapshotIdentifier``, or ``GlobalClusterIdentifier`` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type": "string", - "markdownDescription": "The master password for the DB instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The master password for the DB instance.\n If you specify the ``SourceDBClusterIdentifier``, ``SnapshotIdentifier``, or ``GlobalClusterIdentifier`` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MasterUserSecret": { - "description": "Contains the secret managed by RDS in AWS Secrets Manager for the master user password.", "$ref": "#/definitions/MasterUserSecret", - "markdownDescription": "Contains the secret managed by RDS in AWS Secrets Manager for the master user password.\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 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" }, - "SourceDBClusterIdentifier": { - "description": "The identifier of the source DB cluster from which to restore.", - "type": "string", - "markdownDescription": "The identifier of the source DB cluster from which to restore.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "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``", + "type": "integer", + "default": 0, + "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" }, - "MasterUsername": { - "minLength": 1, - "description": "The name of the master user for the DB cluster. You must specify MasterUsername, unless you specify SnapshotIdentifier. In that case, don't specify MasterUsername.", + "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", "type": "string", - "markdownDescription": "The name of the master user for the DB cluster. You must specify MasterUsername, unless you specify SnapshotIdentifier. In that case, don't specify MasterUsername.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nPattern: ^[a-zA-Z]{1}[a-zA-Z0-9_]*$ \nUpdate requires: Some interruptions" - }, - "ScalingConfiguration": { - "description": "The ScalingConfiguration property type specifies the scaling configuration of an Aurora Serverless DB cluster.", - "$ref": "#/definitions/ScalingConfiguration", - "markdownDescription": "The ScalingConfiguration property type specifies the scaling configuration of an Aurora Serverless DB cluster.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" + "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" }, - "PerformanceInsightsKmsKeyId": { - "description": "The Amazon Web Services KMS key identifier for encryption of Performance Insights data.", + "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", "type": "string", - "markdownDescription": "The Amazon Web Services KMS key identifier for encryption of Performance Insights data.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "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" }, - "PubliclyAccessible": { - "description": "A value that indicates whether the DB cluster is publicly accessible.", + "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", "type": "boolean", - "markdownDescription": "A value that indicates whether the DB cluster is publicly accessible.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "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" }, - "Domain": { - "description": "The Active Directory directory ID to create the DB cluster in.", + "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", "type": "string", - "markdownDescription": "The Active Directory directory ID to create the DB cluster in.\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: Multi-AZ DB clusters only\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "BacktrackWindow": { - "default": 0, - "description": "The target backtrack window, in seconds. To disable backtracking, set this value to 0.", + "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.", "type": "integer", - "minimum": 0, - "markdownDescription": "The target backtrack window, in seconds. To disable backtracking, set this value to 0.\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: 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" }, - "DBInstanceParameterGroupName": { - "description": "The name of the DB parameter group to apply to all instances of the DB cluster.", - "type": "string", - "markdownDescription": "The name of the DB parameter group to apply to all instances of the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "EnableGlobalWriteForwarding": { - "description": "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.", - "type": "boolean", - "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\n---\n\nRequired: No \nType: Boolean \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", + "type": "integer", + "markdownDescription": "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\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.", + "PreferredBackupWindow": { + "description": "The daily time range during which automated backups are created. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow) in the *Amazon Aurora User Guide.* \n Constraints:\n + Must be in the format ``hh24:mi-hh24:mi``.\n + Must be in Universal Coordinated Time (UTC).\n + Must not conflict with the preferred maintenance window.\n + Must be at least 30 minutes.\n \n Valid for: 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.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The daily time range during which automated backups are created. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow) in the *Amazon Aurora User Guide.* \n Constraints:\n + Must be in the format ``hh24:mi-hh24:mi``.\n + Must be in Universal Coordinated Time (UTC).\n + Must not conflict with the preferred maintenance window.\n + Must be at least 30 minutes.\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "AssociatedRoles": { - "uniqueItems": true, - "description": "Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.", - "type": "array", - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "markdownDescription": "Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "PreferredMaintenanceWindow": { + "description": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n Format: ``ddd:hh24:mi-ddd:hh24:mi`` \n The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see [Adjusting the Preferred DB Cluster Maintenance Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora) in the *Amazon Aurora User Guide.* \n Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.\n Constraints: Minimum 30-minute window.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type": "string", + "markdownDescription": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n Format: ``ddd:hh24:mi-ddd:hh24:mi`` \n The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see [Adjusting the Preferred DB Cluster Maintenance Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora) in the *Amazon Aurora User Guide.* \n Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.\n Constraints: Minimum 30-minute window.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "EnableHttpEndpoint": { - "description": "A value that indicates whether to enable the HTTP endpoint for DB cluster. By default, the HTTP endpoint is disabled.", + "PubliclyAccessible": { + "description": "Specifies whether the DB cluster is publicly accessible.\n When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.\n When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Default: The default behavior varies depending on whether ``DBSubnetGroupName`` is specified.\n If ``DBSubnetGroupName`` isn't specified, and ``PubliclyAccessible`` isn't specified, the following applies:\n + If the default VPC in the target Region doesn\u2019t have an internet gateway attached to it, the DB cluster is private.\n + If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.\n \n If ``DBSubnetGroupName`` is specified, and ``PubliclyAccessible`` isn't specified, the following applies:\n + If the subnets are part of a VPC that doesn\u2019t have an internet gateway attached to it, the DB cluster is private.\n + If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.", "type": "boolean", - "markdownDescription": "A value that indicates whether to enable the HTTP endpoint for DB cluster. By default, the HTTP endpoint is disabled.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Specifies whether the DB cluster is publicly accessible.\n When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.\n When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Default: The default behavior varies depending on whether ``DBSubnetGroupName`` is specified.\n If ``DBSubnetGroupName`` isn't specified, and ``PubliclyAccessible`` isn't specified, the following applies:\n + If the default VPC in the target Region doesn\u2019t have an internet gateway attached to it, the DB cluster is private.\n + If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.\n \n If ``DBSubnetGroupName`` is specified, and ``PubliclyAccessible`` isn't specified, the following applies:\n + If the subnets are part of a VPC that doesn\u2019t have an internet gateway attached to it, the DB cluster is private.\n + If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" }, - "SnapshotIdentifier": { - "description": "The identifier for the DB snapshot or DB cluster snapshot to restore from.\nYou can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.\nAfter 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 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, the DB cluster is restored from the specified SnapshotIdentifier property, and the original DB cluster is deleted.", + "ReplicationSourceIdentifier": { + "description": "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.\n Valid for: Aurora DB clusters only", "type": "string", - "markdownDescription": "The identifier for the DB snapshot or DB cluster snapshot to restore from.\nYou can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.\nAfter 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 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, the DB cluster is restored from the specified SnapshotIdentifier property, and the original DB cluster is deleted.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.\n Valid for: Aurora DB clusters only\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "PreferredBackupWindow": { - "description": "The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.", + "RestoreToTime": { + "description": "The date and time to restore the DB cluster to.\n Valid Values: Value must be a time in Universal Coordinated Time (UTC) format\n Constraints:\n + Must be before the latest restorable time for the DB instance\n + Must be specified if ``UseLatestRestorableTime`` parameter isn't provided\n + Can't be specified if the ``UseLatestRestorableTime`` parameter is enabled\n + Can't be specified if the ``RestoreType`` parameter is ``copy-on-write`` \n \n This property must be used with ``SourceDBClusterIdentifier`` property. The resulting cluster will have the identifier that matches the value of the ``DBclusterIdentifier`` property.\n Example: ``2015-03-07T23:45:00Z`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type": "string", - "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The date and time to restore the DB cluster to.\n Valid Values: Value must be a time in Universal Coordinated Time (UTC) format\n Constraints:\n + Must be before the latest restorable time for the DB instance\n + Must be specified if ``UseLatestRestorableTime`` parameter isn't provided\n + Can't be specified if the ``UseLatestRestorableTime`` parameter is enabled\n + Can't be specified if the ``RestoreType`` parameter is ``copy-on-write`` \n \n This property must be used with ``SourceDBClusterIdentifier`` property. The resulting cluster will have the identifier that matches the value of the ``DBclusterIdentifier`` property.\n Example: ``2015-03-07T23:45:00Z`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "NetworkType": { - "description": "The network type of the DB cluster.", + "RestoreType": { + "description": "The type of restore to be performed. You can specify one of the following values:\n + ``full-copy`` - The new DB cluster is restored as a full copy of the source DB cluster.\n + ``copy-on-write`` - The new DB cluster is restored as a clone of the source DB cluster.\n \n If you don't specify a ``RestoreType`` value, then the new DB cluster is restored as a full copy of the source DB cluster.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type": "string", - "markdownDescription": "The network type of the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "default": "full-copy", + "markdownDescription": "The type of restore to be performed. You can specify one of the following values:\n + ``full-copy`` - The new DB cluster is restored as a full copy of the source DB cluster.\n + ``copy-on-write`` - The new DB cluster is restored as a clone of the source DB cluster.\n \n If you don't specify a ``RestoreType`` value, then the new DB cluster is restored as a full copy of the source DB cluster.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "VpcSecurityGroupIds": { - "uniqueItems": true, - "description": "A list of EC2 VPC security groups to associate with this DB cluster.", - "type": "array", - "items": { - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::EC2::SecurityGroup", - "propertyPath": "/properties/GroupId" - } - }, - { - "relationshipRef": { - "typeName": "AWS::EC2::SecurityGroup", - "propertyPath": "/properties/Id" - } - } - ], - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "A list of EC2 VPC security groups to associate with this DB cluster.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "ServerlessV2ScalingConfiguration": { + "description": "The scaling configuration of an Aurora Serverless V2 DB cluster. \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 only", + "$ref": "#/definitions/ServerlessV2ScalingConfiguration", + "markdownDescription": "The scaling configuration of an Aurora Serverless V2 DB cluster. \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 only\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "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.", - "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\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "ScalingConfiguration": { + "description": "The scaling configuration of an Aurora Serverless v1 DB cluster.\n This property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the ``ServerlessV2ScalingConfiguration`` property.\n Valid for: Aurora Serverless v1 DB clusters only", + "$ref": "#/definitions/ScalingConfiguration", + "markdownDescription": "The scaling configuration of an Aurora Serverless v1 DB cluster.\n This property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the ``ServerlessV2ScalingConfiguration`` property.\n Valid for: Aurora Serverless v1 DB clusters only\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "GlobalClusterIdentifier": { - "minLength": 0, - "description": "If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. To define the primary database cluster of the global cluster, use the AWS::RDS::GlobalCluster resource.\n\nIf you aren't configuring a global database cluster, don't specify this property.", + "SnapshotIdentifier": { + "description": "The identifier for the DB snapshot or DB cluster snapshot to restore from.\n You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.\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 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 If you specify the ``SnapshotIdentifier`` property to restore a DB cluster (as opposed to specifying it for DB cluster updates), then don't specify the following properties:\n + ``GlobalClusterIdentifier`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``ReplicationSourceIdentifier`` \n + ``RestoreType`` \n + ``SourceDBClusterIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an encrypted snapshot)\n + ``UseLatestRestorableTime`` \n \n Constraints:\n + Must match the identifier of an existing Snapshot.\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type": "string", - "maxLength": 63, - "markdownDescription": "If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. To define the primary database cluster of the global cluster, use the AWS::RDS::GlobalCluster resource.\n\nIf you aren't configuring a global database cluster, don't specify this property.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 63 \nPattern: ^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$ \nUpdate requires: Some interruptions" + "markdownDescription": "The identifier for the DB snapshot or DB cluster snapshot to restore from.\n You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.\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 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 If you specify the ``SnapshotIdentifier`` property to restore a DB cluster (as opposed to specifying it for DB cluster updates), then don't specify the following properties:\n + ``GlobalClusterIdentifier`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``ReplicationSourceIdentifier`` \n + ``RestoreType`` \n + ``SourceDBClusterIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an encrypted snapshot)\n + ``UseLatestRestorableTime`` \n \n Constraints:\n + Must match the identifier of an existing Snapshot.\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "RestoreType": { - "default": "full-copy", - "description": "The type of restore to be performed. You can specify one of the following values:\nfull-copy - The new DB cluster is restored as a full copy of the source DB cluster.\ncopy-on-write - The new DB cluster is restored as a clone of the source DB cluster.", + "SourceDBClusterIdentifier": { + "description": "When restoring a DB cluster to a point in time, the identifier of the source DB cluster from which to restore.\n Constraints:\n + Must match the identifier of an existing DBCluster.\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type": "string", - "markdownDescription": "The type of restore to be performed. You can specify one of the following values:\nfull-copy - The new DB cluster is restored as a full copy of the source DB cluster.\ncopy-on-write - The new DB cluster is restored as a clone of the source DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "When restoring a DB cluster to a point in time, the identifier of the source DB cluster from which to restore.\n Constraints:\n + Must match the identifier of an existing DBCluster.\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "DomainIAMRoleName": { - "description": "Specify the name of the IAM role to be used when making API calls to the Directory Service.", + "SourceRegion": { + "description": "The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, ``us-east-1``. \n Valid for: Aurora DB clusters only", "type": "string", - "markdownDescription": "Specify the name of the IAM role to be used when making API calls to the Directory Service.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, ``us-east-1``. \n Valid for: Aurora DB clusters only\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "DBClusterInstanceClass": { - "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge.", + "StorageEncrypted": { + "description": "Indicates whether the DB cluster is encrypted.\n If you specify the ``KmsKeyId`` property, then you must enable encryption.\n If you specify the ``SourceDBClusterIdentifier`` property, don't specify this property. The value is inherited from the source DB cluster, and if the DB cluster is encrypted, the specified ``KmsKeyId`` property is used.\n If you specify the ``SnapshotIdentifier`` and the specified snapshot is encrypted, don't specify this property. The value is inherited from the snapshot, and the specified ``KmsKeyId`` property is used.\n If you specify the ``SnapshotIdentifier`` and the specified snapshot isn't encrypted, you can use this property to specify that the restored DB cluster is encrypted. Specify the ``KmsKeyId`` property for the KMS key to use for encryption. If you don't want the restored DB cluster to be encrypted, then don't set this property or set it to ``false``.\n If you specify both the ``StorageEncrypted`` and ``SnapshotIdentifier`` properties without specifying the ``KmsKeyId`` property, then the restored DB cluster inherits the encryption settings from the DB snapshot that provide.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type": "boolean", + "markdownDescription": "Indicates whether the DB cluster is encrypted.\n If you specify the ``KmsKeyId`` property, then you must enable encryption.\n If you specify the ``SourceDBClusterIdentifier`` property, don't specify this property. The value is inherited from the source DB cluster, and if the DB cluster is encrypted, the specified ``KmsKeyId`` property is used.\n If you specify the ``SnapshotIdentifier`` and the specified snapshot is encrypted, don't specify this property. The value is inherited from the snapshot, and the specified ``KmsKeyId`` property is used.\n If you specify the ``SnapshotIdentifier`` and the specified snapshot isn't encrypted, you can use this property to specify that the restored DB cluster is encrypted. Specify the ``KmsKeyId`` property for the KMS key to use for encryption. If you don't want the restored DB cluster to be encrypted, then don't set this property or set it to ``false``.\n If you specify both the ``StorageEncrypted`` and ``SnapshotIdentifier`` properties without specifying the ``KmsKeyId`` property, then the restored DB cluster inherits the encryption settings from the DB snapshot that provide.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, + "StorageType": { + "description": "The storage type to associate with the DB cluster.\n For information on storage types for Aurora DB clusters, see [Storage configurations for Amazon Aurora DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html#aurora-storage-type). For information on storage types for Multi-AZ DB clusters, see [Settings for creating Multi-AZ DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html#create-multi-az-db-cluster-settings).\n This setting is required to create a Multi-AZ DB cluster.\n When specified for a Multi-AZ DB cluster, a value for the ``Iops`` parameter is required.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + Aurora DB clusters - ``aurora | aurora-iopt1`` \n + Multi-AZ DB clusters - ``io1 | io2 | gp3`` \n \n Default:\n + Aurora DB clusters - ``aurora`` \n + Multi-AZ DB clusters - ``io1`` \n \n When you create an Aurora DB cluster with the storage type set to ``aurora-iopt1``, the storage type is returned in the response. The storage type isn't returned when you set it to ``aurora``.", "type": "string", - "markdownDescription": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The storage type to associate with the DB cluster.\n For information on storage types for Aurora DB clusters, see [Storage configurations for Amazon Aurora DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html#aurora-storage-type). For information on storage types for Multi-AZ DB clusters, see [Settings for creating Multi-AZ DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html#create-multi-az-db-cluster-settings).\n This setting is required to create a Multi-AZ DB cluster.\n When specified for a Multi-AZ DB cluster, a value for the ``Iops`` parameter is required.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + Aurora DB clusters - ``aurora | aurora-iopt1`` \n + Multi-AZ DB clusters - ``io1 | io2 | gp3`` \n \n Default:\n + Aurora DB clusters - ``aurora`` \n + Multi-AZ DB clusters - ``io1`` \n \n When you create an Aurora DB cluster with the storage type set to ``aurora-iopt1``, the storage type is returned in the response. The storage type isn't returned when you set it to ``aurora``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "AvailabilityZones": { - "uniqueItems": true, - "description": "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 in the Amazon Aurora User Guide.", + "Tags": { "type": "array", + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "description": "An optional array of key-value pairs to apply to this DB cluster.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional array of key-value pairs to apply to this DB cluster.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "UseLatestRestorableTime": { + "description": "A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster is not restored to the latest restorable backup time. \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type": "boolean", + "markdownDescription": "A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster is not restored to the latest restorable backup time. \n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, + "VpcSecurityGroupIds": { + "description": "A list of EC2 VPC security groups to associate with this DB cluster.\n If you plan to update the resource, don't specify VPC security groups in a shared VPC.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "uniqueItems": true, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "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 in the Amazon Aurora User Guide.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "type": "array", + "markdownDescription": "A list of EC2 VPC security groups to associate with this DB cluster.\n If you plan to update the resource, don't specify VPC security groups in a shared VPC.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "definitions": { + "Endpoint": { + "type": "object", + "additionalProperties": false, + "properties": { + "Address": { + "description": "Specifies the connection endpoint for the primary instance of the DB cluster.", + "type": "string", + "markdownDescription": "Specifies the connection endpoint for the primary instance of the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Port": { + "description": "Specifies the port that the database engine is listening on.", + "type": "string", + "markdownDescription": "Specifies the port that the database engine is listening on.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "description": "The ``Endpoint`` return value specifies the connection endpoint for the primary instance of the DB cluster.", + "markdownDescription": "The ``Endpoint`` return value specifies the connection endpoint for the primary instance of the DB cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "PreferredMaintenanceWindow": { - "description": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.", - "type": "string", - "markdownDescription": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "ReadEndpoint": { + "type": "object", + "additionalProperties": false, + "properties": { + "Address": { + "description": "The host address of the reader endpoint.", + "type": "string", + "markdownDescription": "The host address of the reader endpoint.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "description": "The ``ReadEndpoint`` return value specifies the reader endpoint for the DB cluster.\n The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.\n If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then reconnect to the reader endpoint.\n For more information about Aurora endpoints, see [Amazon Aurora connection management](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html) in the *Amazon Aurora User Guide*.", + "markdownDescription": "The ``ReadEndpoint`` return value specifies the reader endpoint for the DB cluster.\n The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.\n If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then reconnect to the reader endpoint.\n For more information about Aurora endpoints, see [Amazon Aurora connection management](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html) in the *Amazon Aurora User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Iops": { - "description": "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.", - "type": "integer", - "markdownDescription": "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "DBClusterRole": { + "description": "Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.", + "type": "object", + "additionalProperties": false, + "properties": { + "FeatureName": { + "description": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf. For the list of supported feature names, see the ``SupportedFeatureNames`` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference*.", + "type": "string", + "markdownDescription": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf. For the list of supported feature names, see the ``SupportedFeatureNames`` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RoleArn": { + "description": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "RoleArn" + ], + "markdownDescription": "Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SourceRegion": { - "description": "The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, us-east-1.", - "type": "string", - "markdownDescription": "The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, us-east-1.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "ServerlessV2ScalingConfiguration": { + "description": "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", + "type": "object", + "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.", + "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" + }, + "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" + } + }, + "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" }, - "UseLatestRestorableTime": { - "description": "A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster is not restored to the latest restorable backup time.", - "type": "boolean", - "markdownDescription": "A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster is not restored to the latest restorable backup time.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "ScalingConfiguration": { + "description": "The ``ScalingConfiguration`` property type specifies the scaling configuration of an Aurora Serverless v1 DB cluster. \n For more information, see [Using Amazon Aurora Serverless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html) in the *Amazon Aurora User Guide*.\n This property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the ``ServerlessV2ScalingConfiguration`` property.\n Valid for: Aurora Serverless v1 DB clusters only", + "type": "object", + "additionalProperties": false, + "properties": { + "AutoPause": { + "description": "Indicates whether to allow or disallow automatic pause for an Aurora DB cluster in ``serverless`` DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).\n If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it.", + "type": "boolean", + "markdownDescription": "Indicates whether to allow or disallow automatic pause for an Aurora DB cluster in ``serverless`` DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).\n If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "MaxCapacity": { + "description": "The maximum capacity for an Aurora DB cluster in ``serverless`` DB engine mode.\n For Aurora MySQL, valid capacity values are ``1``, ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``128``, and ``256``.\n For Aurora PostgreSQL, valid capacity values are ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``192``, and ``384``.\n The maximum capacity must be greater than or equal to the minimum capacity.", + "type": "integer", + "markdownDescription": "The maximum capacity for an Aurora DB cluster in ``serverless`` DB engine mode.\n For Aurora MySQL, valid capacity values are ``1``, ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``128``, and ``256``.\n For Aurora PostgreSQL, valid capacity values are ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``192``, and ``384``.\n The maximum capacity must be greater than or equal to the minimum capacity.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MinCapacity": { + "description": "The minimum capacity for an Aurora DB cluster in ``serverless`` DB engine mode.\n For Aurora MySQL, valid capacity values are ``1``, ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``128``, and ``256``.\n For Aurora PostgreSQL, valid capacity values are ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``192``, and ``384``.\n The minimum capacity must be less than or equal to the maximum capacity.", + "type": "integer", + "markdownDescription": "The minimum capacity for an Aurora DB cluster in ``serverless`` DB engine mode.\n For Aurora MySQL, valid capacity values are ``1``, ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``128``, and ``256``.\n For Aurora PostgreSQL, valid capacity values are ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``192``, and ``384``.\n The minimum capacity must be less than or equal to the maximum capacity.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SecondsBeforeTimeout": { + "description": "The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. The default is 300.\n Specify a value between 60 and 600 seconds.", + "type": "integer", + "markdownDescription": "The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. The default is 300.\n Specify a value between 60 and 600 seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SecondsUntilAutoPause": { + "description": "The time, in seconds, before an Aurora DB cluster in ``serverless`` mode is paused.\n Specify a value between 300 and 86,400 seconds.", + "type": "integer", + "markdownDescription": "The time, in seconds, before an Aurora DB cluster in ``serverless`` mode is paused.\n Specify a value between 300 and 86,400 seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "TimeoutAction": { + "description": "The action to take when the timeout is reached, either ``ForceApplyCapacityChange`` or ``RollbackCapacityChange``.\n ``ForceApplyCapacityChange`` sets the capacity to the specified value as soon as possible.\n ``RollbackCapacityChange``, the default, ignores the capacity change if a scaling point isn't found in the timeout period.\n If you specify ``ForceApplyCapacityChange``, connections that prevent Aurora Serverless v1 from finding a scaling point might be dropped.\n For more information, see [Autoscaling for Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling) in the *Amazon Aurora User Guide*.", + "type": "string", + "markdownDescription": "The action to take when the timeout is reached, either ``ForceApplyCapacityChange`` or ``RollbackCapacityChange``.\n ``ForceApplyCapacityChange`` sets the capacity to the specified value as soon as possible.\n ``RollbackCapacityChange``, the default, ignores the capacity change if a scaling point isn't found in the timeout period.\n If you specify ``ForceApplyCapacityChange``, connections that prevent Aurora Serverless v1 from finding a scaling point might be dropped.\n For more information, see [Autoscaling for Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling) in the *Amazon Aurora User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The ``ScalingConfiguration`` property type specifies the scaling configuration of an Aurora Serverless v1 DB cluster. \n For more information, see [Using Amazon Aurora Serverless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html) in the *Amazon Aurora User Guide*.\n This property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the ``ServerlessV2ScalingConfiguration`` property.\n Valid for: Aurora Serverless v1 DB clusters only\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ManageMasterUserPassword": { - "description": "A value that indicates whether to manage the master user password with AWS Secrets Manager.", - "type": "boolean", - "markdownDescription": "A value that indicates whether to manage the master user password with AWS Secrets Manager.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "Tag": { + "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", + "additionalProperties": false, + "properties": { + "Key": { + "type": "string", + "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": "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": "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": "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" + ], + "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" }, - "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.", - "type": "boolean", - "markdownDescription": "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\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "MasterUserSecret": { + "type": "object", + "additionalProperties": false, + "properties": { + "SecretArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the secret.", + "markdownDescription": "The Amazon Resource Name (ARN) of the secret.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "KmsKeyId": { + "type": "string", + "description": "The AWS KMS key identifier that is used to encrypt the secret.", + "markdownDescription": "The AWS KMS key identifier that is used to encrypt the secret.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "description": "The ``MasterUserSecret`` return value specifies 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 ``MasterUserSecret`` return value specifies 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 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "propertyTransform": { + "/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/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/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/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", + "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", + "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", + "/properties/StorageType": "$lowercase(StorageType)" + }, + "readOnlyProperties": [ + "/properties/DBClusterArn", + "/properties/DBClusterResourceId", + "/properties/Endpoint", + "/properties/Endpoint/Address", + "/properties/Endpoint/Port", + "/properties/ReadEndpoint/Port", + "/properties/ReadEndpoint/Address", + "/properties/MasterUserSecret/SecretArn", + "/properties/StorageThroughput" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "writeOnlyProperties": [ + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ], + "handlers": { + "create": { + "permissions": [ + "iam:CreateServiceLinkedRole", + "iam:PassRole", + "rds:AddRoleToDBCluster", + "rds:AddTagsToResource", + "rds:CreateDBCluster", + "rds:CreateDBInstance", + "rds:DescribeDBClusters", + "rds:DescribeDBClusterSnapshots", + "rds:DescribeDBSnapshots", + "rds:DescribeEvents", + "rds:EnableHttpEndpoint", + "rds:ModifyDBCluster", + "rds:RestoreDBClusterFromSnapshot", + "rds:RestoreDBClusterToPointInTime", + "secretsmanager:CreateSecret", + "secretsmanager:TagResource" + ], + "timeoutInMinutes": 2160 }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "description": "The name of the DB cluster parameter group to associate with this DB cluster.", - "type": "string", - "markdownDescription": "The name of the DB cluster parameter group to associate with this DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "read": { + "permissions": [ + "rds:DescribeDBClusters" + ] }, - "PerformanceInsightsEnabled": { - "description": "A value that indicates whether to turn on Performance Insights for the DB cluster.", - "type": "boolean", - "markdownDescription": "A value that indicates whether to turn on Performance Insights for the DB cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "update": { + "permissions": [ + "ec2:DescribeSecurityGroups", + "iam:PassRole", + "rds:AddRoleToDBCluster", + "rds:AddTagsToResource", + "rds:DescribeDBClusters", + "rds:DescribeDBSubnetGroups", + "rds:DescribeEvents", + "rds:DescribeGlobalClusters", + "rds:DisableHttpEndpoint", + "rds:EnableHttpEndpoint", + "rds:ModifyDBCluster", + "rds:ModifyDBInstance", + "rds:RemoveFromGlobalCluster", + "rds:RemoveRoleFromDBCluster", + "rds:RemoveTagsFromResource", + "secretsmanager:CreateSecret", + "secretsmanager:TagResource" + ], + "timeoutInMinutes": 2160 }, - "BackupRetentionPeriod": { - "default": 1, - "description": "The number of days for which automated backups are retained.", - "type": "integer", - "minimum": 1, - "markdownDescription": "The number of days for which automated backups are retained.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "delete": { + "permissions": [ + "rds:CreateDBClusterSnapshot", + "rds:DeleteDBCluster", + "rds:DeleteDBInstance", + "rds:DescribeDBClusters", + "rds:DescribeGlobalClusters", + "rds:RemoveFromGlobalCluster" + ] }, - "EnableCloudwatchLogsExports": { - "uniqueItems": true, - "description": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.", - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "list": { + "permissions": [ + "rds:DescribeDBClusters" + ] } }, "attributes": { - "StorageThroughput": { - "description": "Specifies the storage throughput value for the DB cluster. This setting applies only to the gp3 storage type.", - "type": "integer", - "markdownDescription": "Specifies the storage throughput value for the DB cluster. This setting applies only to the gp3 storage type.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, "Endpoint": { - "$ref": "#/definitions/Endpoint" + "$ref": "#/definitions/Endpoint", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "DBClusterResourceId": { - "description": "The AWS Region-unique, immutable identifier for the DB cluster.", + "DBClusterArn": { "type": "string", - "markdownDescription": "The AWS Region-unique, immutable identifier for the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DBClusterArn": { - "description": "The Amazon Resource Name (ARN) for the DB cluster.", + "DBClusterResourceId": { + "description": "", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) for the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "StorageThroughput": { + "description": "", + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-rds-dbclusterparametergroup.json b/server/schema/resources/aws-rds-dbclusterparametergroup.json index 337b43e2..538b40ac 100644 --- a/server/schema/resources/aws-rds-dbclusterparametergroup.json +++ b/server/schema/resources/aws-rds-dbclusterparametergroup.json @@ -1,32 +1,32 @@ { "typeName": "AWS::RDS::DBClusterParameterGroup", - "description": "The AWS::RDS::DBClusterParameterGroup resource creates a new Amazon RDS DB cluster parameter group. For more information, see Managing an Amazon Aurora DB Cluster in the Amazon Aurora User Guide.", + "description": "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 update stack waits until the DB cluster is started.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", "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": { @@ -36,28 +36,29 @@ "markdownDescription": "A friendly description for this DB cluster parameter group.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "Family": { - "description": "The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a DB engine and engine version compatible with that DB cluster parameter group family.", + "description": "The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a DB engine and engine version compatible with that DB cluster parameter group family.\n The DB cluster parameter group family can't be changed when updating a DB cluster parameter group.\n To list all of the available parameter group families, use the following command:\n ``aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\"`` \n The output contains duplicates.\n For more information, see ``CreateDBClusterParameterGroup``.", "type": "string", - "markdownDescription": "The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a DB engine and engine version compatible with that DB cluster parameter group family.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a DB engine and engine version compatible with that DB cluster parameter group family.\n The DB cluster parameter group family can't be changed when updating a DB cluster parameter group.\n To list all of the available parameter group families, use the following command:\n ``aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\"`` \n The output contains duplicates.\n For more information, see ``CreateDBClusterParameterGroup``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "Parameters": { - "description": "An array of parameters to be modified. A maximum of 20 parameters can be modified in a single request.", + "description": "Provides a list of parameters for the DB cluster parameter group.", "type": "object", - "markdownDescription": "An array of parameters to be modified. A maximum of 20 parameters can be modified in a single request.\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + "markdownDescription": "Provides a list of parameters for the DB cluster parameter group.\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" }, "DBClusterParameterGroupName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$ \nUpdate requires: Replacement" + "description": "The name of the DB cluster parameter group.\n Constraints:\n + Must not match the name of an existing DB cluster parameter group.\n \n If you don't specify a value for ``DBClusterParameterGroupName`` property, a name is automatically created for the DB cluster parameter group.\n This value is stored as a lowercase string.", + "markdownDescription": "The name of the DB cluster parameter group.\n Constraints:\n + Must not match the name of an existing DB cluster parameter group.\n \n If you don't specify a value for ``DBClusterParameterGroupName`` property, a name is automatically created for the DB cluster parameter group.\n This value is stored as a lowercase string.\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$ \nUpdate requires: Replacement" }, "Tags": { - "description": "The list of tags for the cluster parameter group.", + "description": "An optional array of key-value pairs to apply to this DB cluster parameter group.", "type": "array", "maxItems": 50, "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The list of tags for the cluster parameter group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An optional array of key-value pairs to apply to this DB cluster parameter group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-rds-dbinstance.json b/server/schema/resources/aws-rds-dbinstance.json index eeab5a42..a81638bc 100644 --- a/server/schema/resources/aws-rds-dbinstance.json +++ b/server/schema/resources/aws-rds-dbinstance.json @@ -1,809 +1,770 @@ { - "deprecatedProperties": [ - "/properties/TdeCredentialArn", - "/properties/TdeCredentialPassword" - ], "typeName": "AWS::RDS::DBInstance", - "readOnlyProperties": [ - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/Endpoint/HostedZoneId", - "/properties/DbiResourceId", - "/properties/DBInstanceArn", - "/properties/DBSystemId", - "/properties/MasterUserSecret/SecretArn", - "/properties/CertificateDetails/CAIdentifier", - "/properties/CertificateDetails/ValidTill" - ], "description": "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).", - "createOnlyProperties": [ - "/properties/CharacterSetName", - "/properties/CustomIAMInstanceProfile", - "/properties/DBClusterIdentifier", - "/properties/DBInstanceIdentifier", - "/properties/DBName", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/MasterUsername", - "/properties/NcharCharacterSetName", - "/properties/Port", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/Timezone" - ], - "primaryIdentifier": [ - "/properties/DBInstanceIdentifier" - ], - "conditionalCreateOnlyProperties": [ - "/properties/AutoMinorVersionUpgrade", - "/properties/AvailabilityZone", - "/properties/BackupRetentionPeriod", - "/properties/DBClusterSnapshotIdentifier", - "/properties/DBParameterGroupName", - "/properties/DBSnapshotIdentifier", - "/properties/Engine", - "/properties/MultiAZ", - "/properties/PerformanceInsightsKMSKeyId", - "/properties/PreferredMaintenanceWindow", - "/properties/RestoreTime", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceDBInstanceAutomatedBackupsArn", - "/properties/SourceDBInstanceIdentifier", - "/properties/SourceDbiResourceId", - "/properties/StorageType", - "/properties/UseLatestRestorableTime" - ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.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])", - "/properties/StorageType": "$lowercase(StorageType)", - "/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/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)", - "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", - "/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/DBParameterGroupName": "$lowercase(DBParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", - "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", - "/properties/OptionGroupName": "$lowercase(OptionGroupName)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", - "/properties/Engine": "$lowercase(Engine)" - }, - "handlers": { - "read": { - "permissions": [ - "ec2:DescribeAccountAttributes", - "ec2:DescribeAvailabilityZones", - "ec2:DescribeInternetGateways", - "ec2:DescribeSecurityGroups", - "ec2:DescribeSubnets", - "ec2:DescribeVpcAttribute", - "ec2:DescribeVpcs", - "rds:DescribeDBInstances" - ] - }, - "create": { - "permissions": [ - "ec2:DescribeAccountAttributes", - "ec2:DescribeAvailabilityZones", - "ec2:DescribeInternetGateways", - "ec2:DescribeSecurityGroups", - "ec2:DescribeSubnets", - "ec2:DescribeVpcAttribute", - "ec2:DescribeVpcs", - "iam:CreateServiceLinkedRole", - "iam:GetRole", - "iam:ListRoles", - "iam:PassRole", - "kms:CreateGrant", - "kms:DescribeKey", - "rds:AddRoleToDBInstance", - "rds:AddTagsToResource", - "rds:CreateDBInstance", - "rds:CreateDBInstanceReadReplica", - "rds:DescribeDBInstances", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBInstanceAutomatedBackups", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:ModifyDBInstance", - "rds:RebootDBInstance", - "rds:RestoreDBInstanceFromDBSnapshot", - "rds:RestoreDBInstanceToPointInTime", - "rds:StartDBInstanceAutomatedBackupsReplication", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeAccountAttributes", - "ec2:DescribeAvailabilityZones", - "ec2:DescribeInternetGateways", - "ec2:DescribeSecurityGroups", - "ec2:DescribeSubnets", - "ec2:DescribeVpcAttribute", - "ec2:DescribeVpcs", - "iam:CreateServiceLinkedRole", - "iam:GetRole", - "iam:ListRoles", - "iam:PassRole", - "kms:CreateGrant", - "kms:DescribeKey", - "rds:AddRoleToDBInstance", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBEngineVersions", - "rds:DescribeDBInstances", - "rds:DescribeDBParameterGroups", - "rds:DescribeEvents", - "rds:ModifyDBInstance", - "rds:PromoteReadReplica", - "rds:RebootDBInstance", - "rds:RemoveRoleFromDBInstance", - "rds:RemoveTagsFromResource", - "rds:StartDBInstanceAutomatedBackupsReplication", - "rds:StopDBInstanceAutomatedBackupsReplication", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBInstances" - ] - }, - "delete": { - "permissions": [ - "rds:CreateDBSnapshot", - "rds:DeleteDBInstance", - "rds:DescribeDBInstances" - ], - "timeoutInMinutes": 2160 - } - }, - "writeOnlyProperties": [ - "/properties/AllowMajorVersionUpgrade", - "/properties/CertificateRotationRestart", - "/properties/DBSnapshotIdentifier", - "/properties/DeleteAutomatedBackups", - "/properties/MasterUserPassword", - "/properties/Port", - "/properties/RestoreTime", - "/properties/SourceDBInstanceAutomatedBackupsArn", - "/properties/SourceDBInstanceIdentifier", - "/properties/SourceDbiResourceId", - "/properties/SourceRegion", - "/properties/TdeCredentialPassword", - "/properties/UseDefaultProcessorFeatures", - "/properties/UseLatestRestorableTime" - ], - "additionalProperties": false, "definitions": { - "MasterUserSecret": { - "description": "The ``MasterUserSecret`` return value specifies 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.*", - "additionalProperties": false, + "CertificateDetails": { "type": "object", + "additionalProperties": false, "properties": { - "SecretArn": { - "description": "The Amazon Resource Name (ARN) of the secret.", + "CAIdentifier": { "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the secret.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The CA identifier of the CA certificate used for the DB instance's server certificate.", + "markdownDescription": "The CA identifier of the CA certificate used for the DB instance's server certificate.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "KmsKeyId": { - "description": "The AWS KMS key identifier that is used to encrypt the secret.", - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/KeyId" - } - }, - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/Arn" - } - } - ], + "ValidTill": { "type": "string", - "markdownDescription": "The AWS KMS key identifier that is used to encrypt the secret.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "format": "date-time", + "description": "The expiration date of the DB instance\u2019s server certificate.", + "markdownDescription": "The expiration date of the DB instance\u2019s server certificate.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "The ``MasterUserSecret`` return value specifies 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 \nUpdate requires: No interruption" + "description": "The details of the DB instance\u2019s server certificate.\n For more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide*.", + "markdownDescription": "The details of the DB instance\u2019s server certificate.\n For more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Endpoint": { - "description": "This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions:\n + ``CreateDBInstance`` \n + ``DescribeDBInstances`` \n + ``DeleteDBInstance`` \n \n For the data structure that represents Amazon Aurora DB cluster endpoints, see ``DBClusterEndpoint``.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { "Address": { - "description": "Specifies the DNS address of the DB instance.", "type": "string", + "description": "Specifies the DNS address of the DB instance.", "markdownDescription": "Specifies the DNS address of the DB instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Port": { - "description": "Specifies the port that the database engine is listening on.", "type": "string", + "description": "Specifies the port that the database engine is listening on.", "markdownDescription": "Specifies the port that the database engine is listening on.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "HostedZoneId": { - "description": "Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.", "type": "string", + "description": "Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.", "markdownDescription": "Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "description": "This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions:\n + ``CreateDBInstance`` \n + ``DescribeDBInstances`` \n + ``DeleteDBInstance`` \n \n For the data structure that represents Amazon Aurora DB cluster endpoints, see ``DBClusterEndpoint``.", "markdownDescription": "This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions:\n + ``CreateDBInstance`` \n + ``DescribeDBInstances`` \n + ``DeleteDBInstance`` \n \n For the data structure that represents Amazon Aurora DB cluster endpoints, see ``DBClusterEndpoint``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "CertificateDetails": { - "description": "Returns the details of the DB instance\u2019s server certificate.\n For more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide*.", - "additionalProperties": false, + "DBInstanceRole": { "type": "object", + "additionalProperties": false, "properties": { - "ValidTill": { - "format": "date-time", - "description": "The expiration date of the DB instance\u2019s server certificate.", + "FeatureName": { "type": "string", - "markdownDescription": "The expiration date of the DB instance\u2019s server certificate.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB instance grant permission for the DB instance to access other AWS services on your behalf. For the list of supported feature names, see the ``SupportedFeatureNames`` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference*.", + "markdownDescription": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB instance grant permission for the DB instance to access other AWS services on your behalf. For the list of supported feature names, see the ``SupportedFeatureNames`` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "CAIdentifier": { - "description": "The CA identifier of the CA certificate used for the DB instance's server certificate.", - "type": "string", - "markdownDescription": "The CA identifier of the CA certificate used for the DB instance's server certificate.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "Returns the details of the DB instance\u2019s server certificate.\n For more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "DBInstanceRole": { - "description": "Information about an AWS Identity and Access Management (IAM) role that is associated with a DB instance.", - "additionalProperties": false, - "type": "object", - "properties": { "RoleArn": { - "description": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance.", "type": "string", + "description": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance.", "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "FeatureName": { - "description": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB instance grant permission for the DB instance to access other AWS services on your behalf. For the list of supported feature names, see the ``SupportedFeatureNames`` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference*.", - "type": "string", - "markdownDescription": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB instance grant permission for the DB instance to access other AWS services on your behalf. For the list of supported feature names, see the ``SupportedFeatureNames`` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "FeatureName", "RoleArn" ], + "description": "Information about an AWS Identity and Access Management (IAM) role that is associated with a DB instance.", "markdownDescription": "Information about an AWS Identity and Access Management (IAM) role that is associated with a DB instance.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ProcessorFeature": { - "description": "The ``ProcessorFeature`` property type specifies the processor features of a DB instance class status.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { - "Value": { - "description": "The value of a processor feature name.", - "type": "string", - "markdownDescription": "The value of a processor feature name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "Name": { - "description": "The name of the processor feature. Valid names are ``coreCount`` and ``threadsPerCore``.", "type": "string", "enum": [ "coreCount", "threadsPerCore" ], + "description": "The name of the processor feature. Valid names are ``coreCount`` and ``threadsPerCore``.", "markdownDescription": "The name of the processor feature. Valid names are ``coreCount`` and ``threadsPerCore``.\n\n---\n\nRequired: No \nType: String \nAllowed Values: coreCount | threadsPerCore \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value of a processor feature.", + "markdownDescription": "The value of a processor feature.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "description": "The ``ProcessorFeature`` property type specifies the processor features of a DB instance class status.", "markdownDescription": "The ``ProcessorFeature`` property type specifies the processor features of a DB instance class status.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { - "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.*", - "additionalProperties": false, + "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", + "additionalProperties": false, "properties": { - "Value": { - "minLength": 0, - "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}_.:/=+\\\\-@]*)$\").", - "type": "string", - "maxLength": 256, - "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" - }, "Key": { - "minLength": 1, - "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}_.:/=+\\\\-@]*)$\").", "type": "string", + "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": "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": "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": "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" ], - "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.*\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" + }, + "MasterUserSecret": { + "type": "object", + "additionalProperties": false, + "properties": { + "SecretArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the secret.", + "markdownDescription": "The Amazon Resource Name (ARN) of the secret.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "KmsKeyId": { + "type": "string", + "description": "The AWS KMS key identifier that is used to encrypt the secret.", + "markdownDescription": "The AWS KMS key identifier that is used to encrypt the secret.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "description": "The ``MasterUserSecret`` return value specifies 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 ``MasterUserSecret`` return value specifies 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 \nUpdate requires: No interruption" } }, "properties": { - "StorageEncrypted": { - "description": "A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.\n If you specify the ``KmsKeyId`` property, then you must enable encryption.\n If you specify the ``SourceDBInstanceIdentifier`` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified ``KmsKeyId`` property is used.\n If you specify the ``DBSnapshotIdentifier`` and the specified snapshot is encrypted, don't specify this property. The value is inherited from the snapshot, and the specified ``KmsKeyId`` property is used.\n If you specify the ``DBSnapshotIdentifier`` and the specified snapshot isn't encrypted, you can use this property to specify that the restored DB instance is encrypted. Specify the ``KmsKeyId`` property for the KMS key to use for encryption. If you don't want the restored DB instance to be encrypted, then don't set this property or set it to ``false``.\n *Amazon Aurora* \n Not applicable. The encryption for DB instances is managed by the DB cluster.", + "AllocatedStorage": { + "type": "string", + "description": "The amount of storage in gibibytes (GiB) to be initially allocated for the database instance.\n If any value is set in the ``Iops`` parameter, ``AllocatedStorage`` must be at least 100 GiB, which corresponds to the minimum Iops value of 1,000. If you increase the ``Iops`` value (in 1,000 IOPS increments), then you must also increase the ``AllocatedStorage`` value (in 100-GiB increments). \n *Amazon Aurora* \n Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.\n *Db2* \n Constraints to the amount of storage for each storage type are the following:\n + General Purpose (SSD) storage (gp3): Must be an integer from 20 to 64000.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 64000.\n \n *MySQL* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 5 to 3072.\n \n *MariaDB* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 5 to 3072.\n \n *PostgreSQL* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 5 to 3072.\n \n *Oracle* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 10 to 3072.\n \n *SQL Server* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2):\n + Enterprise and Standard editions: Must be an integer from 20 to 16384.\n + Web and Express editions: Must be an integer from 20 to 16384.\n \n + Provisioned IOPS storage (io1):\n + Enterprise and Standard editions: Must be an integer from 20 to 16384.\n + Web and Express editions: Must be an integer from 20 to 16384.\n \n + Magnetic storage (standard):\n + Enterprise and Standard editions: Must be an integer from 20 to 1024.\n + Web and Express editions: Must be an integer from 20 to 1024.", + "markdownDescription": "The amount of storage in gibibytes (GiB) to be initially allocated for the database instance.\n If any value is set in the ``Iops`` parameter, ``AllocatedStorage`` must be at least 100 GiB, which corresponds to the minimum Iops value of 1,000. If you increase the ``Iops`` value (in 1,000 IOPS increments), then you must also increase the ``AllocatedStorage`` value (in 100-GiB increments). \n *Amazon Aurora* \n Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.\n *Db2* \n Constraints to the amount of storage for each storage type are the following:\n + General Purpose (SSD) storage (gp3): Must be an integer from 20 to 64000.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 64000.\n \n *MySQL* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 5 to 3072.\n \n *MariaDB* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 5 to 3072.\n \n *PostgreSQL* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 5 to 3072.\n \n *Oracle* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 10 to 3072.\n \n *SQL Server* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2):\n + Enterprise and Standard editions: Must be an integer from 20 to 16384.\n + Web and Express editions: Must be an integer from 20 to 16384.\n \n + Provisioned IOPS storage (io1):\n + Enterprise and Standard editions: Must be an integer from 20 to 16384.\n + Web and Express editions: Must be an integer from 20 to 16384.\n \n + Magnetic storage (standard):\n + Enterprise and Standard editions: Must be an integer from 20 to 1024.\n + Web and Express editions: Must be an integer from 20 to 1024.\n\n---\n\nRequired: No \nType: String \nPattern: ^[0-9]*$ \nUpdate requires: No interruption" + }, + "AllowMajorVersionUpgrade": { "type": "boolean", - "markdownDescription": "A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.\n If you specify the ``KmsKeyId`` property, then you must enable encryption.\n If you specify the ``SourceDBInstanceIdentifier`` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified ``KmsKeyId`` property is used.\n If you specify the ``DBSnapshotIdentifier`` and the specified snapshot is encrypted, don't specify this property. The value is inherited from the snapshot, and the specified ``KmsKeyId`` property is used.\n If you specify the ``DBSnapshotIdentifier`` and the specified snapshot isn't encrypted, you can use this property to specify that the restored DB instance is encrypted. Specify the ``KmsKeyId`` property for the KMS key to use for encryption. If you don't want the restored DB instance to be encrypted, then don't set this property or set it to ``false``.\n *Amazon Aurora* \n Not applicable. The encryption for DB instances is managed by the DB cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "description": "A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.\n Constraints: Major version upgrades must be allowed when specifying a value for the ``EngineVersion`` parameter that is a different major version than the DB instance's current version.", + "markdownDescription": "A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.\n Constraints: Major version upgrades must be allowed when specifying a value for the ``EngineVersion`` parameter that is a different major version than the DB instance's current version.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "Timezone": { - "description": "The time zone of the DB instance. The time zone parameter is currently supported only by [Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone).", - "type": "string", - "markdownDescription": "The time zone of the DB instance. The time zone parameter is currently supported only by [Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone).\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "AssociatedRoles": { + "type": "array", + "items": { + "$ref": "#/definitions/DBInstanceRole" + }, + "description": "The IAMlong (IAM) roles associated with the DB instance. \n *Amazon Aurora* \n Not applicable. The associated roles are managed by the DB cluster.", + "markdownDescription": "The IAMlong (IAM) roles associated with the DB instance. \n *Amazon Aurora* \n Not applicable. The associated roles are managed by the DB cluster.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "CertificateDetails": { - "description": "The details of the DB instance's server certificate.", - "$ref": "#/definitions/CertificateDetails", - "markdownDescription": "The details of the DB instance's server certificate.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "AutoMinorVersionUpgrade": { + "type": "boolean", + "description": "A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.", + "markdownDescription": "A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Some interruptions" }, - "Port": { - "description": "The port number on which the database accepts connections.\n *Amazon Aurora* \n Not applicable. The port number is managed by the DB cluster.\n *Db2* \n Default value: ``50000``", + "AutomaticBackupReplicationRegion": { "type": "string", - "markdownDescription": "The port number on which the database accepts connections.\n *Amazon Aurora* \n Not applicable. The port number is managed by the DB cluster.\n *Db2* \n Default value: ``50000``\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d*$ \nUpdate requires: Replacement" + "description": "The destination region for the backup replication of the DB instance. For more info, see [Replicating automated backups to another Region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html) in the *Amazon RDS User Guide*.", + "markdownDescription": "The destination region for the backup replication of the DB instance. For more info, see [Replicating automated backups to another Region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html) in the *Amazon RDS User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DBClusterIdentifier": { - "description": "The identifier of the DB cluster that the instance will belong to.", + "AutomaticBackupReplicationKmsKeyId": { "type": "string", - "markdownDescription": "The identifier of the DB cluster that the instance will belong to.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS-Region, for example, ``arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE``.", + "markdownDescription": "The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS-Region, for example, ``arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "StorageThroughput": { - "description": "Specifies the storage throughput value for the DB instance. This setting applies only to the ``gp3`` storage type. \n This setting doesn't apply to RDS Custom or Amazon Aurora.", - "type": "integer", - "markdownDescription": "Specifies the storage throughput value for the DB instance. This setting applies only to the ``gp3`` storage type. \n This setting doesn't apply to RDS Custom or Amazon Aurora.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "AvailabilityZone": { + "type": "string", + "description": "The Availability Zone (AZ) where the database will be created. For information on AWS-Regions and Availability Zones, see [Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).\n For Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one.\n Default: A random, system-chosen Availability Zone in the endpoint's AWS-Region.\n Constraints:\n + The ``AvailabilityZone`` parameter can't be specified if the DB instance is a Multi-AZ deployment.\n + The specified Availability Zone must be in the same AWS-Region as the current endpoint.\n \n Example: ``us-east-1d``", + "markdownDescription": "The Availability Zone (AZ) where the database will be created. For information on AWS-Regions and Availability Zones, see [Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).\n For Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one.\n Default: A random, system-chosen Availability Zone in the endpoint's AWS-Region.\n Constraints:\n + The ``AvailabilityZone`` parameter can't be specified if the DB instance is a Multi-AZ deployment.\n + The specified Availability Zone must be in the same AWS-Region as the current endpoint.\n \n Example: ``us-east-1d``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, - "MonitoringInterval": { - "default": 0, - "description": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collection of Enhanced Monitoring metrics, specify 0. The default is 0.\n If ``MonitoringRoleArn`` is specified, then you must set ``MonitoringInterval`` to a value other than 0.\n This setting doesn't apply to RDS Custom.\n Valid Values: ``0, 1, 5, 10, 15, 30, 60``", + "BackupRetentionPeriod": { "type": "integer", - "markdownDescription": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collection of Enhanced Monitoring metrics, specify 0. The default is 0.\n If ``MonitoringRoleArn`` is specified, then you must set ``MonitoringInterval`` to a value other than 0.\n This setting doesn't apply to RDS Custom.\n Valid Values: ``0, 1, 5, 10, 15, 30, 60``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "minimum": 0, + "default": 1, + "description": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.\n *Amazon Aurora* \n Not applicable. The retention period for automated backups is managed by the DB cluster.\n Default: 1\n Constraints:\n + Must be a value from 0 to 35\n + Can't be set to 0 if the DB instance is a source to read replicas", + "markdownDescription": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.\n *Amazon Aurora* \n Not applicable. The retention period for automated backups is managed by the DB cluster.\n Default: 1\n Constraints:\n + Must be a value from 0 to 35\n + Can't be set to 0 if the DB instance is a source to read replicas\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: Some interruptions" }, - "DBParameterGroupName": { - "description": "The name of an existing DB parameter group or a reference to an [AWS::RDS::DBParameterGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html) resource created in the template.\n To list all of the available DB parameter group names, use the following command:\n ``aws rds describe-db-parameter-groups --query \"DBParameterGroups[].DBParameterGroupName\" --output text`` \n If any of the data members of the referenced parameter group are changed during an update, the DB instance might need to be restarted, which causes some interruption. If the parameter group contains static parameters, whether they were changed or not, an update triggers a reboot.\n If you don't specify a value for ``DBParameterGroupName`` property, the default DB parameter group for the specified engine and engine version is used.", + "CACertificateIdentifier": { "type": "string", - "markdownDescription": "The name of an existing DB parameter group or a reference to an [AWS::RDS::DBParameterGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html) resource created in the template.\n To list all of the available DB parameter group names, use the following command:\n ``aws rds describe-db-parameter-groups --query \"DBParameterGroups[].DBParameterGroupName\" --output text`` \n If any of the data members of the referenced parameter group are changed during an update, the DB instance might need to be restarted, which causes some interruption. If the parameter group contains static parameters, whether they were changed or not, an update triggers a reboot.\n If you don't specify a value for ``DBParameterGroupName`` property, the default DB parameter group for the specified engine and engine version is used.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" - }, - "Endpoint": { - "description": "The connection endpoint for the DB instance.\n The endpoint might not be shown for instances with the status of ``creating``.", - "$ref": "#/definitions/Endpoint", - "markdownDescription": "The connection endpoint for the DB instance.\n The endpoint might not be shown for instances with the status of ``creating``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "description": "The identifier of the CA certificate for this DB instance.\n For more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide*.", + "markdownDescription": "The identifier of the CA certificate for this DB instance.\n For more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "TdeCredentialArn": { - "description": "", - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails", + "description": "The details of the DB instance's server certificate.", + "markdownDescription": "The details of the DB instance's server certificate.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "MultiAZ": { - "description": "Specifies whether the database instance is a Multi-AZ DB instance deployment. You can't set the ``AvailabilityZone`` parameter if the ``MultiAZ`` parameter is set to true. \n For more information, see [Multi-AZ deployments for high availability](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) in the *Amazon RDS User Guide*.\n *Amazon Aurora* \n Not applicable. Amazon Aurora storage is replicated across all of the Availability Zones and doesn't require the ``MultiAZ`` option to be set.", + "CertificateRotationRestart": { "type": "boolean", - "markdownDescription": "Specifies whether the database instance is a Multi-AZ DB instance deployment. You can't set the ``AvailabilityZone`` parameter if the ``MultiAZ`` parameter is set to true. \n For more information, see [Multi-AZ deployments for high availability](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) in the *Amazon RDS User Guide*.\n *Amazon Aurora* \n Not applicable. Amazon Aurora storage is replicated across all of the Availability Zones and doesn't require the ``MultiAZ`` option to be set.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Some interruptions" + "description": "Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate.\n By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.\n Set this parameter only if you are *not* using SSL/TLS to connect to the DB instance.\n If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate:\n + For more information about rotating your SSL/TLS certificate for RDS DB engines, see [Rotating Your SSL/TLS Certificate.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon RDS User Guide.* \n + For more information about rotating your SSL/TLS certificate for Aurora DB engines, see [Rotating Your SSL/TLS Certificate](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon Aurora User Guide*.\n \n This setting doesn't apply to RDS Custom DB instances.", + "markdownDescription": "Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate.\n By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.\n Set this parameter only if you are *not* using SSL/TLS to connect to the DB instance.\n If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate:\n + For more information about rotating your SSL/TLS certificate for RDS DB engines, see [Rotating Your SSL/TLS Certificate.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon RDS User Guide.* \n + For more information about rotating your SSL/TLS certificate for Aurora DB engines, see [Rotating Your SSL/TLS Certificate](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon Aurora User Guide*.\n \n This setting doesn't apply to RDS Custom DB instances.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "Engine": { - "description": "The name of the database engine to use for this DB instance. Not every database engine is available in every AWS Region.\n This property is required when creating a DB instance.\n You can change the architecture of an Oracle database from the non-container database (CDB) architecture to the CDB architecture by updating the ``Engine`` value in your templates from ``oracle-ee`` or ``oracle-ee-cdb`` to ``oracle-se2-cdb``. Converting to the CDB architecture requires an interruption.\n Valid Values:\n + ``aurora-mysql`` (for Aurora MySQL DB instances)\n + ``aurora-postgresql`` (for Aurora PostgreSQL DB instances)\n + ``custom-oracle-ee`` (for RDS Custom for Oracle DB instances)\n + ``custom-oracle-ee-cdb`` (for RDS Custom for Oracle DB instances)\n + ``custom-sqlserver-ee`` (for RDS Custom for SQL Server DB instances)\n + ``custom-sqlserver-se`` (for RDS Custom for SQL Server DB instances)\n + ``custom-sqlserver-web`` (for RDS Custom for SQL Server DB instances)\n + ``db2-ae`` \n + ``db2-se`` \n + ``mariadb`` \n + ``mysql`` \n + ``oracle-ee`` \n + ``oracle-ee-cdb`` \n + ``oracle-se2`` \n + ``oracle-se2-cdb`` \n + ``postgres`` \n + ``sqlserver-ee`` \n + ``sqlserver-se`` \n + ``sqlserver-ex`` \n + ``sqlserver-web``", + "CharacterSetName": { "type": "string", - "markdownDescription": "The name of the database engine to use for this DB instance. Not every database engine is available in every AWS Region.\n This property is required when creating a DB instance.\n You can change the architecture of an Oracle database from the non-container database (CDB) architecture to the CDB architecture by updating the ``Engine`` value in your templates from ``oracle-ee`` or ``oracle-ee-cdb`` to ``oracle-se2-cdb``. Converting to the CDB architecture requires an interruption.\n Valid Values:\n + ``aurora-mysql`` (for Aurora MySQL DB instances)\n + ``aurora-postgresql`` (for Aurora PostgreSQL DB instances)\n + ``custom-oracle-ee`` (for RDS Custom for Oracle DB instances)\n + ``custom-oracle-ee-cdb`` (for RDS Custom for Oracle DB instances)\n + ``custom-sqlserver-ee`` (for RDS Custom for SQL Server DB instances)\n + ``custom-sqlserver-se`` (for RDS Custom for SQL Server DB instances)\n + ``custom-sqlserver-web`` (for RDS Custom for SQL Server DB instances)\n + ``db2-ae`` \n + ``db2-se`` \n + ``mariadb`` \n + ``mysql`` \n + ``oracle-ee`` \n + ``oracle-ee-cdb`` \n + ``oracle-se2`` \n + ``oracle-se2-cdb`` \n + ``postgres`` \n + ``sqlserver-ee`` \n + ``sqlserver-se`` \n + ``sqlserver-ex`` \n + ``sqlserver-web``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + "description": "For supported engines, indicates that the DB instance should be associated with the specified character set.\n *Amazon Aurora* \n Not applicable. The character set is managed by the DB cluster. For more information, see [AWS::RDS::DBCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html).", + "markdownDescription": "For supported engines, indicates that the DB instance should be associated with the specified character set.\n *Amazon Aurora* \n Not applicable. The character set is managed by the DB cluster. For more information, see [AWS::RDS::DBCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html).\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "Tags": { - "uniqueItems": false, - "description": "An optional array of key-value pairs to apply to this DB instance.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An optional array of key-value pairs to apply to this DB instance.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "CopyTagsToSnapshot": { + "type": "boolean", + "description": "Specifies whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.\n This setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting.", + "markdownDescription": "Specifies whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.\n This setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting.\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 KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n If you do not 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 For information about enabling Performance Insights, see [EnablePerformanceInsights](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableperformanceinsights).", - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/Arn" - } - }, - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/KeyId" - } - } - ], + "CustomIAMInstanceProfile": { "type": "string", - "markdownDescription": "The AWS KMS key identifier for encryption of Performance Insights data.\n The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n If you do not 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 For information about enabling Performance Insights, see [EnablePerformanceInsights](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableperformanceinsights).\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.\n This setting is required for RDS Custom.\n Constraints:\n + The profile must exist in your account.\n + The profile must have an IAM role that Amazon EC2 has permissions to assume.\n + The instance profile name and the associated IAM role name must start with the prefix ``AWSRDSCustom``.\n \n For the list of permissions required for the IAM role, see [Configure IAM and your VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) in the *Amazon RDS User Guide*.", + "markdownDescription": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.\n This setting is required for RDS Custom.\n Constraints:\n + The profile must exist in your account.\n + The profile must have an IAM role that Amazon EC2 has permissions to assume.\n + The instance profile name and the associated IAM role name must start with the prefix ``AWSRDSCustom``.\n \n For the list of permissions required for the IAM role, see [Configure IAM and your VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) in the *Amazon RDS User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "TdeCredentialPassword": { - "description": "", + "DBClusterIdentifier": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The identifier of the DB cluster that the instance will belong to.", + "markdownDescription": "The identifier of the DB cluster that the instance will belong to.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "SourceDBInstanceIdentifier": { - "description": "If you want to create a read replica DB instance, specify the ID of the source DB instance. Each DB instance can have a limited number of read replicas. For more information, see [Working with Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/USER_ReadRepl.html) in the *Amazon RDS User Guide*.\n For information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide*.\n The ``SourceDBInstanceIdentifier`` property determines whether a DB instance is a read replica. If you remove the ``SourceDBInstanceIdentifier`` property from your template and then update your stack, AWS CloudFormation promotes the Read Replica to a standalone DB instance.\n + If you specify a source DB instance that uses VPC security groups, we recommend that you specify the ``VPCSecurityGroups`` property. If you don't specify the property, the read replica inherits the value of the ``VPCSecurityGroups`` property from the source DB when you create the replica. However, if you update the stack, AWS CloudFormation reverts the replica's ``VPCSecurityGroups`` property to the default value because it's not defined in the stack's template. This change might cause unexpected issues.\n + Read replicas don't support deletion policies. AWS CloudFormation ignores any deletion policy that's associated with a read replica.\n + If you specify ``SourceDBInstanceIdentifier``, don't specify the ``DBSnapshotIdentifier`` property. You can't create a read replica from a snapshot.\n + Don't set the ``BackupRetentionPeriod``, ``DBName``, ``MasterUsername``, ``MasterUserPassword``, and ``PreferredBackupWindow`` properties. The database attributes are inherited from the source DB instance, and backups are disabled for read replicas.\n + If the source DB instance is in a different region than the read replica, specify the source region in ``SourceRegion``, and specify an ARN for a valid DB instance in ``SourceDBInstanceIdentifier``. For more information, see [Constructing a Amazon RDS Amazon Resource Name (ARN)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN) in the *Amazon RDS User Guide*.\n + For DB instances in Amazon Aurora clusters, don't specify this property. Amazon RDS automatically assigns writer and reader DB instances.", + "DBClusterSnapshotIdentifier": { "type": "string", - "markdownDescription": "If you want to create a read replica DB instance, specify the ID of the source DB instance. Each DB instance can have a limited number of read replicas. For more information, see [Working with Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/USER_ReadRepl.html) in the *Amazon RDS User Guide*.\n For information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide*.\n The ``SourceDBInstanceIdentifier`` property determines whether a DB instance is a read replica. If you remove the ``SourceDBInstanceIdentifier`` property from your template and then update your stack, AWS CloudFormation promotes the Read Replica to a standalone DB instance.\n + If you specify a source DB instance that uses VPC security groups, we recommend that you specify the ``VPCSecurityGroups`` property. If you don't specify the property, the read replica inherits the value of the ``VPCSecurityGroups`` property from the source DB when you create the replica. However, if you update the stack, AWS CloudFormation reverts the replica's ``VPCSecurityGroups`` property to the default value because it's not defined in the stack's template. This change might cause unexpected issues.\n + Read replicas don't support deletion policies. AWS CloudFormation ignores any deletion policy that's associated with a read replica.\n + If you specify ``SourceDBInstanceIdentifier``, don't specify the ``DBSnapshotIdentifier`` property. You can't create a read replica from a snapshot.\n + Don't set the ``BackupRetentionPeriod``, ``DBName``, ``MasterUsername``, ``MasterUserPassword``, and ``PreferredBackupWindow`` properties. The database attributes are inherited from the source DB instance, and backups are disabled for read replicas.\n + If the source DB instance is in a different region than the read replica, specify the source region in ``SourceRegion``, and specify an ARN for a valid DB instance in ``SourceDBInstanceIdentifier``. For more information, see [Constructing a Amazon RDS Amazon Resource Name (ARN)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN) in the *Amazon RDS User Guide*.\n + For DB instances in Amazon Aurora clusters, don't specify this property. Amazon RDS automatically assigns writer and reader DB instances.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + "description": "The identifier for the Multi-AZ DB cluster snapshot to restore from.\n For more information on Multi-AZ DB clusters, see [Multi-AZ DB cluster deployments](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html) in the *Amazon RDS User Guide*.\n Constraints:\n + Must match the identifier of an existing Multi-AZ DB cluster snapshot.\n + Can't be specified when ``DBSnapshotIdentifier`` is specified.\n + Must be specified when ``DBSnapshotIdentifier`` isn't specified.\n + If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the ``DBClusterSnapshotIdentifier`` must be the ARN of the shared snapshot.\n + Can't be the identifier of an Aurora DB cluster snapshot.", + "markdownDescription": "The identifier for the Multi-AZ DB cluster snapshot to restore from.\n For more information on Multi-AZ DB clusters, see [Multi-AZ DB cluster deployments](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html) in the *Amazon RDS User Guide*.\n Constraints:\n + Must match the identifier of an existing Multi-AZ DB cluster snapshot.\n + Can't be specified when ``DBSnapshotIdentifier`` is specified.\n + Must be specified when ``DBSnapshotIdentifier`` isn't specified.\n + If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the ``DBClusterSnapshotIdentifier`` must be the ARN of the shared snapshot.\n + Can't be the identifier of an Aurora DB cluster snapshot.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, - "EngineVersion": { - "description": "The version number of the database engine to use.\n For a list of valid engine versions, use the ``DescribeDBEngineVersions`` action.\n The following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.\n *Amazon Aurora* \n Not applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster.\n *Db2* \n See [Amazon RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Db2.html#Db2.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* \n *MariaDB* \n See [MariaDB on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* \n *Microsoft SQL Server* \n See [Microsoft SQL Server Versions on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) in the *Amazon RDS User Guide.* \n *MySQL* \n See [MySQL on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* \n *Oracle* \n See [Oracle Database Engine Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html) in the *Amazon RDS User Guide.* \n *PostgreSQL* \n See [Supported PostgreSQL Database Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions) in the *Amazon RDS User Guide.*", + "DBInstanceClass": { "type": "string", - "markdownDescription": "The version number of the database engine to use.\n For a list of valid engine versions, use the ``DescribeDBEngineVersions`` action.\n The following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.\n *Amazon Aurora* \n Not applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster.\n *Db2* \n See [Amazon RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Db2.html#Db2.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* \n *MariaDB* \n See [MariaDB on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* \n *Microsoft SQL Server* \n See [Microsoft SQL Server Versions on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) in the *Amazon RDS User Guide.* \n *MySQL* \n See [MySQL on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* \n *Oracle* \n See [Oracle Database Engine Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html) in the *Amazon RDS User Guide.* \n *PostgreSQL* \n See [Supported PostgreSQL Database Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions) in the *Amazon RDS User Guide.*\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The compute and memory capacity of the DB instance, for example ``db.m5.large``. Not all DB instance classes are available in all AWS-Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* or [Aurora DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) in the *Amazon Aurora User Guide*.", + "markdownDescription": "The compute and memory capacity of the DB instance, for example ``db.m5.large``. Not all DB instance classes are available in all AWS-Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* or [Aurora DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) in the *Amazon Aurora User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "StorageType": { - "description": "The storage type to associate with the DB instance.\n If you specify ``io1``, ``io2``, or ``gp3``, you must also include a value for the ``Iops`` parameter.\n This setting doesn't apply to Amazon Aurora DB instances. Storage is managed by the DB cluster.\n Valid Values: ``gp2 | gp3 | io1 | io2 | standard`` \n Default: ``io1``, if the ``Iops`` parameter is specified. Otherwise, ``gp2``.", + "DBInstanceIdentifier": { "type": "string", - "markdownDescription": "The storage type to associate with the DB instance.\n If you specify ``io1``, ``io2``, or ``gp3``, you must also include a value for the ``Iops`` parameter.\n This setting doesn't apply to Amazon Aurora DB instances. Storage is managed by the DB cluster.\n Valid Values: ``gp2 | gp3 | io1 | io2 | standard`` \n Default: ``io1``, if the ``Iops`` parameter is specified. Otherwise, ``gp2``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + "minLength": 1, + "maxLength": 63, + "description": "A name for the DB instance. If you specify a name, AWS CloudFormation converts it to lowercase. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the DB instance. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n For information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS 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 DB instance. If you specify a name, AWS CloudFormation converts it to lowercase. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the DB instance. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n For information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS 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 \nMinimum Length: 1 \nMaximum Length: 63 \nPattern: ^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$ \nUpdate requires: Replacement" }, - "KmsKeyId": { - "description": "The ARN of the AWS KMS key that's used to encrypt the DB instance, such as ``arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef``. If you enable the StorageEncrypted property but don't specify this property, AWS CloudFormation uses the default KMS key. If you specify this property, you must set the StorageEncrypted property to true. \n If you specify the ``SourceDBInstanceIdentifier`` property, the value is inherited from the source DB instance if the read replica is created in the same region.\n If you create an encrypted read replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the region that they're created in, and you can't use encryption keys from one region in another region.\n If you specify the ``SnapshotIdentifier`` property, the ``StorageEncrypted`` property value is inherited from the snapshot, and if the DB instance is encrypted, the specified ``KmsKeyId`` property is used.\n If you specify ``DBSecurityGroups``, AWS CloudFormation ignores this property. To specify both a security group and this property, you must use a VPC security group. For more information about Amazon RDS and VPC, see [Using Amazon RDS with Amazon VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide*.\n *Amazon Aurora* \n Not applicable. The KMS key identifier is managed by the DB cluster.", - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/KeyId" - } - }, - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/Arn" - } - } - ], + "DBName": { "type": "string", - "markdownDescription": "The ARN of the AWS KMS key that's used to encrypt the DB instance, such as ``arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef``. If you enable the StorageEncrypted property but don't specify this property, AWS CloudFormation uses the default KMS key. If you specify this property, you must set the StorageEncrypted property to true. \n If you specify the ``SourceDBInstanceIdentifier`` property, the value is inherited from the source DB instance if the read replica is created in the same region.\n If you create an encrypted read replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the region that they're created in, and you can't use encryption keys from one region in another region.\n If you specify the ``SnapshotIdentifier`` property, the ``StorageEncrypted`` property value is inherited from the snapshot, and if the DB instance is encrypted, the specified ``KmsKeyId`` property is used.\n If you specify ``DBSecurityGroups``, AWS CloudFormation ignores this property. To specify both a security group and this property, you must use a VPC security group. For more information about Amazon RDS and VPC, see [Using Amazon RDS with Amazon VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide*.\n *Amazon Aurora* \n Not applicable. The KMS key identifier is managed by the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "The meaning of this parameter differs according to the database engine you use.\n If you specify the ``DBSnapshotIdentifier`` property, this property only applies to RDS for Oracle.\n *Amazon Aurora* \n Not applicable. The database name is managed by the DB cluster.\n *Db2* \n The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.\n Constraints:\n + Must contain 1 to 64 letters or numbers.\n + Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n + Can't be a word reserved by the specified database engine.\n \n *MySQL* \n The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n Constraints:\n + Must contain 1 to 64 letters or numbers.\n + Can't be a word reserved by the specified database engine\n \n *MariaDB* \n The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n Constraints:\n + Must contain 1 to 64 letters or numbers.\n + Can't be a word reserved by the specified database engine\n \n *PostgreSQL* \n The name of the database to create when the DB instance is created. If this parameter is not specified, the default ``postgres`` database is created in the DB instance.\n Constraints:\n + Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n + Must contain 1 to 63 characters.\n + Can't be a word reserved by the specified database engine\n \n *Oracle* \n The Oracle System ID (SID) of the created DB instance. If you specify ``null``, the default value ``ORCL`` is used. You can't specify the string NULL, or any other reserved word, for ``DBName``. \n Default: ``ORCL`` \n Constraints:\n + Can't be longer than 8 characters\n \n *SQL Server* \n Not applicable. Must be null.", + "markdownDescription": "The meaning of this parameter differs according to the database engine you use.\n If you specify the ``DBSnapshotIdentifier`` property, this property only applies to RDS for Oracle.\n *Amazon Aurora* \n Not applicable. The database name is managed by the DB cluster.\n *Db2* \n The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.\n Constraints:\n + Must contain 1 to 64 letters or numbers.\n + Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n + Can't be a word reserved by the specified database engine.\n \n *MySQL* \n The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n Constraints:\n + Must contain 1 to 64 letters or numbers.\n + Can't be a word reserved by the specified database engine\n \n *MariaDB* \n The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n Constraints:\n + Must contain 1 to 64 letters or numbers.\n + Can't be a word reserved by the specified database engine\n \n *PostgreSQL* \n The name of the database to create when the DB instance is created. If this parameter is not specified, the default ``postgres`` database is created in the DB instance.\n Constraints:\n + Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n + Must contain 1 to 63 characters.\n + Can't be a word reserved by the specified database engine\n \n *Oracle* \n The Oracle System ID (SID) of the created DB instance. If you specify ``null``, the default value ``ORCL`` is used. You can't specify the string NULL, or any other reserved word, for ``DBName``. \n Default: ``ORCL`` \n Constraints:\n + Can't be longer than 8 characters\n \n *SQL Server* \n Not applicable. Must be null.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "DBInstanceClass": { - "description": "The compute and memory capacity of the DB instance, for example ``db.m5.large``. Not all DB instance classes are available in all AWS-Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* or [Aurora DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) in the *Amazon Aurora User Guide*.", + "DBParameterGroupName": { "type": "string", - "markdownDescription": "The compute and memory capacity of the DB instance, for example ``db.m5.large``. Not all DB instance classes are available in all AWS-Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* or [Aurora DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) in the *Amazon Aurora User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "DeleteAutomatedBackups": { - "description": "A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.\n *Amazon Aurora* \n Not applicable. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the DB cluster are not deleted.", - "type": "boolean", - "markdownDescription": "A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.\n *Amazon Aurora* \n Not applicable. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the DB cluster are not deleted.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "The name of an existing DB parameter group or a reference to an [AWS::RDS::DBParameterGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html) resource created in the template.\n To list all of the available DB parameter group names, use the following command:\n ``aws rds describe-db-parameter-groups --query \"DBParameterGroups[].DBParameterGroupName\" --output text`` \n If any of the data members of the referenced parameter group are changed during an update, the DB instance might need to be restarted, which causes some interruption. If the parameter group contains static parameters, whether they were changed or not, an update triggers a reboot.\n If you don't specify a value for ``DBParameterGroupName`` property, the default DB parameter group for the specified engine and engine version is used.", + "markdownDescription": "The name of an existing DB parameter group or a reference to an [AWS::RDS::DBParameterGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html) resource created in the template.\n To list all of the available DB parameter group names, use the following command:\n ``aws rds describe-db-parameter-groups --query \"DBParameterGroups[].DBParameterGroupName\" --output text`` \n If any of the data members of the referenced parameter group are changed during an update, the DB instance might need to be restarted, which causes some interruption. If the parameter group contains static parameters, whether they were changed or not, an update triggers a reboot.\n If you don't specify a value for ``DBParameterGroupName`` property, the default DB parameter group for the specified engine and engine version is used.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, - "PerformanceInsightsRetentionPeriod": { - "description": "The number of days to retain Performance Insights data.\n This setting doesn't apply to RDS Custom DB instances.\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 returns an error.", - "type": "integer", - "markdownDescription": "The number of days to retain Performance Insights data.\n This setting doesn't apply to RDS Custom DB instances.\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 returns an error.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "DBSecurityGroups": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "description": "A list of the DB security groups to assign to the DB instance. The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template.\n If you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice versa. Also, note that the DBSecurityGroups property exists only for backwards compatibility with older regions and is no longer recommended for providing security information to an RDS DB instance. Instead, use VPCSecurityGroups.\n If you specify this property, AWS CloudFormation sends only the following properties (if specified) to Amazon RDS during create operations:\n + ``AllocatedStorage`` \n + ``AutoMinorVersionUpgrade`` \n + ``AvailabilityZone`` \n + ``BackupRetentionPeriod`` \n + ``CharacterSetName`` \n + ``DBInstanceClass`` \n + ``DBName`` \n + ``DBParameterGroupName`` \n + ``DBSecurityGroups`` \n + ``DBSubnetGroupName`` \n + ``Engine`` \n + ``EngineVersion`` \n + ``Iops`` \n + ``LicenseModel`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``MultiAZ`` \n + ``OptionGroupName`` \n + ``PreferredBackupWindow`` \n + ``PreferredMaintenanceWindow`` \n \n All other properties are ignored. Specify a virtual private cloud (VPC) security group if you want to submit other properties, such as ``StorageType``, ``StorageEncrypted``, or ``KmsKeyId``. If you're already using the ``DBSecurityGroups`` property, you can't use these other properties by updating your DB instance to use a VPC security group. You must recreate the DB instance.", + "markdownDescription": "A list of the DB security groups to assign to the DB instance. The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template.\n If you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice versa. Also, note that the DBSecurityGroups property exists only for backwards compatibility with older regions and is no longer recommended for providing security information to an RDS DB instance. Instead, use VPCSecurityGroups.\n If you specify this property, AWS CloudFormation sends only the following properties (if specified) to Amazon RDS during create operations:\n + ``AllocatedStorage`` \n + ``AutoMinorVersionUpgrade`` \n + ``AvailabilityZone`` \n + ``BackupRetentionPeriod`` \n + ``CharacterSetName`` \n + ``DBInstanceClass`` \n + ``DBName`` \n + ``DBParameterGroupName`` \n + ``DBSecurityGroups`` \n + ``DBSubnetGroupName`` \n + ``Engine`` \n + ``EngineVersion`` \n + ``Iops`` \n + ``LicenseModel`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``MultiAZ`` \n + ``OptionGroupName`` \n + ``PreferredBackupWindow`` \n + ``PreferredMaintenanceWindow`` \n \n All other properties are ignored. Specify a virtual private cloud (VPC) security group if you want to submit other properties, such as ``StorageType``, ``StorageEncrypted``, or ``KmsKeyId``. If you're already using the ``DBSecurityGroups`` property, you can't use these other properties by updating your DB instance to use a VPC security group. You must recreate the DB instance.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AvailabilityZone": { - "description": "The Availability Zone (AZ) where the database will be created. For information on AWS-Regions and Availability Zones, see [Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).\n For Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one.\n Default: A random, system-chosen Availability Zone in the endpoint's AWS-Region.\n Constraints:\n + The ``AvailabilityZone`` parameter can't be specified if the DB instance is a Multi-AZ deployment.\n + The specified Availability Zone must be in the same AWS-Region as the current endpoint.\n \n Example: ``us-east-1d``", + "DBSnapshotIdentifier": { "type": "string", - "markdownDescription": "The Availability Zone (AZ) where the database will be created. For information on AWS-Regions and Availability Zones, see [Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).\n For Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one.\n Default: A random, system-chosen Availability Zone in the endpoint's AWS-Region.\n Constraints:\n + The ``AvailabilityZone`` parameter can't be specified if the DB instance is a Multi-AZ deployment.\n + The specified Availability Zone must be in the same AWS-Region as the current endpoint.\n \n Example: ``us-east-1d``\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 + ``DeleteAutomatedBackups`` \n + ``EnablePerformanceInsights`` \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 + ``EnablePerformanceInsights`` \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" }, - "OptionGroupName": { - "description": "Indicates that the DB instance should be associated with the specified option group.\n Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance.", + "DBSubnetGroupName": { "type": "string", - "markdownDescription": "Indicates that the DB instance should be associated with the specified option group.\n Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "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 [Using Amazon RDS with Amazon Virtual Private Cloud (VPC)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide*. \n *Amazon Aurora* \n Not applicable. 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 [Using Amazon RDS with Amazon Virtual Private Cloud (VPC)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide*. \n *Amazon Aurora* \n Not applicable. 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" }, - "EnablePerformanceInsights": { - "description": "Specifies whether to enable Performance Insights for the DB instance. 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 This setting doesn't apply to RDS Custom DB instances.", + "DedicatedLogVolume": { "type": "boolean", - "markdownDescription": "Specifies whether to enable Performance Insights for the DB instance. 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 This setting doesn't apply to RDS Custom DB instances.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "Indicates whether the DB instance has a dedicated log volume (DLV) enabled.", + "markdownDescription": "Indicates whether the DB instance has a dedicated log volume (DLV) enabled.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "AutoMinorVersionUpgrade": { - "description": "A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.", + "DeleteAutomatedBackups": { "type": "boolean", - "markdownDescription": "A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Some interruptions" - }, - "DBSubnetGroupName": { - "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 [Using Amazon RDS with Amazon Virtual Private Cloud (VPC)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide*. \n *Amazon Aurora* \n Not applicable. The DB subnet group is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", - "type": "string", - "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 [Using Amazon RDS with Amazon Virtual Private Cloud (VPC)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide*. \n *Amazon Aurora* \n Not applicable. 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" + "description": "A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.\n *Amazon Aurora* \n Not applicable. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the DB cluster are not deleted.", + "markdownDescription": "A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.\n *Amazon Aurora* \n Not applicable. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the DB cluster are not deleted.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "DeletionProtection": { - "description": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see [Deleting a DB Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html). \n *Amazon Aurora* \n Not applicable. You can enable or disable deletion protection for the DB cluster. For more information, see ``CreateDBCluster``. DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster.", "type": "boolean", + "description": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see [Deleting a DB Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html). \n *Amazon Aurora* \n Not applicable. You can enable or disable deletion protection for the DB cluster. For more information, see ``CreateDBCluster``. DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster.", "markdownDescription": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see [Deleting a DB Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html). \n *Amazon Aurora* \n Not applicable. You can enable or disable deletion protection for the DB cluster. For more information, see ``CreateDBCluster``. DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "DBInstanceIdentifier": { - "minLength": 1, - "description": "A name for the DB instance. If you specify a name, AWS CloudFormation converts it to lowercase. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the DB instance. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n For information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS 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.", + "Domain": { "type": "string", - "maxLength": 63, - "markdownDescription": "A name for the DB instance. If you specify a name, AWS CloudFormation converts it to lowercase. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the DB instance. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n For information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS 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 \nMinimum Length: 1 \nMaximum Length: 63 \nPattern: ^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$ \nUpdate requires: Replacement" + "description": "The Active Directory directory ID to create the DB instance in. Currently, only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.\n For more information, see [Kerberos Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) in the *Amazon RDS User Guide*.", + "markdownDescription": "The Active Directory directory ID to create the DB instance in. Currently, only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.\n For more information, see [Kerberos Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) in the *Amazon RDS User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "AllocatedStorage": { - "description": "The amount of storage in gibibytes (GiB) to be initially allocated for the database instance.\n If any value is set in the ``Iops`` parameter, ``AllocatedStorage`` must be at least 100 GiB, which corresponds to the minimum Iops value of 1,000. If you increase the ``Iops`` value (in 1,000 IOPS increments), then you must also increase the ``AllocatedStorage`` value (in 100-GiB increments). \n *Amazon Aurora* \n Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.\n *Db2* \n Constraints to the amount of storage for each storage type are the following:\n + General Purpose (SSD) storage (gp3): Must be an integer from 20 to 64000.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 64000.\n \n *MySQL* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 5 to 3072.\n \n *MariaDB* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 5 to 3072.\n \n *PostgreSQL* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 5 to 3072.\n \n *Oracle* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 10 to 3072.\n \n *SQL Server* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2):\n + Enterprise and Standard editions: Must be an integer from 20 to 16384.\n + Web and Express editions: Must be an integer from 20 to 16384.\n \n + Provisioned IOPS storage (io1):\n + Enterprise and Standard editions: Must be an integer from 20 to 16384.\n + Web and Express editions: Must be an integer from 20 to 16384.\n \n + Magnetic storage (standard):\n + Enterprise and Standard editions: Must be an integer from 20 to 1024.\n + Web and Express editions: Must be an integer from 20 to 1024.", + "DomainAuthSecretArn": { "type": "string", - "markdownDescription": "The amount of storage in gibibytes (GiB) to be initially allocated for the database instance.\n If any value is set in the ``Iops`` parameter, ``AllocatedStorage`` must be at least 100 GiB, which corresponds to the minimum Iops value of 1,000. If you increase the ``Iops`` value (in 1,000 IOPS increments), then you must also increase the ``AllocatedStorage`` value (in 100-GiB increments). \n *Amazon Aurora* \n Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.\n *Db2* \n Constraints to the amount of storage for each storage type are the following:\n + General Purpose (SSD) storage (gp3): Must be an integer from 20 to 64000.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 64000.\n \n *MySQL* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 5 to 3072.\n \n *MariaDB* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 5 to 3072.\n \n *PostgreSQL* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 5 to 3072.\n \n *Oracle* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n + Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n + Magnetic storage (standard): Must be an integer from 10 to 3072.\n \n *SQL Server* \n Constraints to the amount of storage for each storage type are the following: \n + General Purpose (SSD) storage (gp2):\n + Enterprise and Standard editions: Must be an integer from 20 to 16384.\n + Web and Express editions: Must be an integer from 20 to 16384.\n \n + Provisioned IOPS storage (io1):\n + Enterprise and Standard editions: Must be an integer from 20 to 16384.\n + Web and Express editions: Must be an integer from 20 to 16384.\n \n + Magnetic storage (standard):\n + Enterprise and Standard editions: Must be an integer from 20 to 1024.\n + Web and Express editions: Must be an integer from 20 to 1024.\n\n---\n\nRequired: No \nType: String \nPattern: ^[0-9]*$ \nUpdate requires: No interruption" + "description": "The ARN for the Secrets Manager secret with the credentials for the user joining the domain.\n Example: ``arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456``", + "markdownDescription": "The ARN for the Secrets Manager secret with the credentials for the user joining the domain.\n Example: ``arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "MasterUserPassword": { - "description": "The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".\n *Amazon Aurora* \n Not applicable. The password for the master user is managed by the DB cluster.\n *RDS for Db2* \n Must contain from 8 to 255 characters.\n *RDS for MariaDB* \n Constraints: Must contain from 8 to 41 characters.\n *RDS for Microsoft SQL Server* \n Constraints: Must contain from 8 to 128 characters.\n *RDS for MySQL* \n Constraints: Must contain from 8 to 41 characters.\n *RDS for Oracle* \n Constraints: Must contain from 8 to 30 characters.\n *RDS for PostgreSQL* \n Constraints: Must contain from 8 to 128 characters.", + "DomainDnsIps": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "description": "The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.\n Constraints:\n + Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.\n \n Example: ``123.124.125.126,234.235.236.237``", + "markdownDescription": "The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.\n Constraints:\n + Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.\n \n Example: ``123.124.125.126,234.235.236.237``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "DomainFqdn": { "type": "string", - "markdownDescription": "The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".\n *Amazon Aurora* \n Not applicable. The password for the master user is managed by the DB cluster.\n *RDS for Db2* \n Must contain from 8 to 255 characters.\n *RDS for MariaDB* \n Constraints: Must contain from 8 to 41 characters.\n *RDS for Microsoft SQL Server* \n Constraints: Must contain from 8 to 128 characters.\n *RDS for MySQL* \n Constraints: Must contain from 8 to 41 characters.\n *RDS for Oracle* \n Constraints: Must contain from 8 to 30 characters.\n *RDS for PostgreSQL* \n Constraints: Must contain from 8 to 128 characters.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The fully qualified domain name (FQDN) of an Active Directory domain.\n Constraints:\n + Can't be longer than 64 characters.\n \n Example: ``mymanagedADtest.mymanagedAD.mydomain``", + "markdownDescription": "The fully qualified domain name (FQDN) of an Active Directory domain.\n Constraints:\n + Can't be longer than 64 characters.\n \n Example: ``mymanagedADtest.mymanagedAD.mydomain``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "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.*", - "$ref": "#/definitions/MasterUserSecret", - "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.*\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "NcharCharacterSetName": { - "description": "The name of the NCHAR character set for the Oracle DB instance.\n This setting doesn't apply to RDS Custom DB instances.", + "DomainIAMRoleName": { "type": "string", - "markdownDescription": "The name of the NCHAR character set for the Oracle DB instance.\n This setting doesn't apply to RDS Custom DB instances.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "The name of the IAM role to use when making API calls to the Directory Service.\n This setting doesn't apply to the following DB instances:\n + Amazon Aurora (The domain is managed by the DB cluster.)\n + RDS Custom", + "markdownDescription": "The name of the IAM role to use when making API calls to the Directory Service.\n This setting doesn't apply to the following DB instances:\n + Amazon Aurora (The domain is managed by the DB cluster.)\n + RDS Custom\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SourceDBClusterIdentifier": { - "description": "The identifier of the Multi-AZ DB cluster that will act as the source for the read replica. Each DB cluster can have up to 15 read replicas.\n Constraints:\n + Must be the identifier of an existing Multi-AZ DB cluster.\n + Can't be specified if the ``SourceDBInstanceIdentifier`` parameter is also specified.\n + The specified DB cluster must have automatic backups enabled, that is, its backup retention period must be greater than 0.\n + The source DB cluster must be in the same AWS-Region as the read replica. Cross-Region replication isn't supported.", + "DomainOu": { "type": "string", - "markdownDescription": "The identifier of the Multi-AZ DB cluster that will act as the source for the read replica. Each DB cluster can have up to 15 read replicas.\n Constraints:\n + Must be the identifier of an existing Multi-AZ DB cluster.\n + Can't be specified if the ``SourceDBInstanceIdentifier`` parameter is also specified.\n + The specified DB cluster must have automatic backups enabled, that is, its backup retention period must be greater than 0.\n + The source DB cluster must be in the same AWS-Region as the read replica. Cross-Region replication isn't supported.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + "description": "The Active Directory organizational unit for your DB instance to join.\n Constraints:\n + Must be in the distinguished name format.\n + Can't be longer than 64 characters.\n \n Example: ``OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain``", + "markdownDescription": "The Active Directory organizational unit for your DB instance to join.\n Constraints:\n + Must be in the distinguished name format.\n + Can't be longer than 64 characters.\n \n Example: ``OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DBSecurityGroups": { - "uniqueItems": true, - "description": "A list of the DB security groups to assign to the DB instance. The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template.\n If you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice versa. Also, note that the DBSecurityGroups property exists only for backwards compatibility with older regions and is no longer recommended for providing security information to an RDS DB instance. Instead, use VPCSecurityGroups.\n If you specify this property, AWS CloudFormation sends only the following properties (if specified) to Amazon RDS during create operations:\n + ``AllocatedStorage`` \n + ``AutoMinorVersionUpgrade`` \n + ``AvailabilityZone`` \n + ``BackupRetentionPeriod`` \n + ``CharacterSetName`` \n + ``DBInstanceClass`` \n + ``DBName`` \n + ``DBParameterGroupName`` \n + ``DBSecurityGroups`` \n + ``DBSubnetGroupName`` \n + ``Engine`` \n + ``EngineVersion`` \n + ``Iops`` \n + ``LicenseModel`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``MultiAZ`` \n + ``OptionGroupName`` \n + ``PreferredBackupWindow`` \n + ``PreferredMaintenanceWindow`` \n \n All other properties are ignored. Specify a virtual private cloud (VPC) security group if you want to submit other properties, such as ``StorageType``, ``StorageEncrypted``, or ``KmsKeyId``. If you're already using the ``DBSecurityGroups`` property, you can't use these other properties by updating your DB instance to use a VPC security group. You must recreate the DB instance.", + "EnableCloudwatchLogsExports": { "type": "array", "items": { - "relationshipRef": { - "typeName": "AWS::RDS::DBSecurityGroup", - "propertyPath": "/properties/Id" - }, "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of the DB security groups to assign to the DB instance. The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template.\n If you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice versa. Also, note that the DBSecurityGroups property exists only for backwards compatibility with older regions and is no longer recommended for providing security information to an RDS DB instance. Instead, use VPCSecurityGroups.\n If you specify this property, AWS CloudFormation sends only the following properties (if specified) to Amazon RDS during create operations:\n + ``AllocatedStorage`` \n + ``AutoMinorVersionUpgrade`` \n + ``AvailabilityZone`` \n + ``BackupRetentionPeriod`` \n + ``CharacterSetName`` \n + ``DBInstanceClass`` \n + ``DBName`` \n + ``DBParameterGroupName`` \n + ``DBSecurityGroups`` \n + ``DBSubnetGroupName`` \n + ``Engine`` \n + ``EngineVersion`` \n + ``Iops`` \n + ``LicenseModel`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``MultiAZ`` \n + ``OptionGroupName`` \n + ``PreferredBackupWindow`` \n + ``PreferredMaintenanceWindow`` \n \n All other properties are ignored. Specify a virtual private cloud (VPC) security group if you want to submit other properties, such as ``StorageType``, ``StorageEncrypted``, or ``KmsKeyId``. If you're already using the ``DBSecurityGroups`` property, you can't use these other properties by updating your DB instance to use a VPC security group. You must recreate the DB instance.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Relational Database Service User Guide*.\n *Amazon Aurora* \n Not applicable. CloudWatch Logs exports are managed by the DB cluster. \n *Db2* \n Valid values: ``diag.log``, ``notify.log`` \n *MariaDB* \n Valid values: ``audit``, ``error``, ``general``, ``slowquery`` \n *Microsoft SQL Server* \n Valid values: ``agent``, ``error`` \n *MySQL* \n Valid values: ``audit``, ``error``, ``general``, ``slowquery`` \n *Oracle* \n Valid values: ``alert``, ``audit``, ``listener``, ``trace``, ``oemagent`` \n *PostgreSQL* \n Valid values: ``postgresql``, ``upgrade``", + "markdownDescription": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Relational Database Service User Guide*.\n *Amazon Aurora* \n Not applicable. CloudWatch Logs exports are managed by the DB cluster. \n *Db2* \n Valid values: ``diag.log``, ``notify.log`` \n *MariaDB* \n Valid values: ``audit``, ``error``, ``general``, ``slowquery`` \n *Microsoft SQL Server* \n Valid values: ``agent``, ``error`` \n *MySQL* \n Valid values: ``audit``, ``error``, ``general``, ``slowquery`` \n *Oracle* \n Valid values: ``alert``, ``audit``, ``listener``, ``trace``, ``oemagent`` \n *PostgreSQL* \n Valid values: ``postgresql``, ``upgrade``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean", + "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 This property is supported for RDS for MariaDB, RDS for MySQL, and RDS for PostgreSQL. For more information, see [IAM Database Authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon RDS User Guide.* \n *Amazon Aurora* \n Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.", + "markdownDescription": "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 This property is supported for RDS for MariaDB, RDS for MySQL, and RDS for PostgreSQL. For more information, see [IAM Database Authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon RDS User Guide.* \n *Amazon Aurora* \n Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "EnablePerformanceInsights": { + "type": "boolean", + "description": "Specifies whether to enable Performance Insights for the DB instance. 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 This setting doesn't apply to RDS Custom DB instances.", + "markdownDescription": "Specifies whether to enable Performance Insights for the DB instance. 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 This setting doesn't apply to RDS Custom DB instances.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint", + "description": "The connection endpoint for the DB instance.\n The endpoint might not be shown for instances with the status of ``creating``.", + "markdownDescription": "The connection endpoint for the DB instance.\n The endpoint might not be shown for instances with the status of ``creating``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Engine": { + "type": "string", + "description": "The name of the database engine to use for this DB instance. Not every database engine is available in every AWS Region.\n This property is required when creating a DB instance.\n You can convert an Oracle database from the non-CDB architecture to the container database (CDB) architecture by updating the ``Engine`` value in your templates from ``oracle-ee`` to ``oracle-ee-cdb`` or from ``oracle-se2`` to ``oracle-se2-cdb``. Converting to the CDB architecture requires an interruption.\n Valid Values:\n + ``aurora-mysql`` (for Aurora MySQL DB instances)\n + ``aurora-postgresql`` (for Aurora PostgreSQL DB instances)\n + ``custom-oracle-ee`` (for RDS Custom for Oracle DB instances)\n + ``custom-oracle-ee-cdb`` (for RDS Custom for Oracle DB instances)\n + ``custom-sqlserver-ee`` (for RDS Custom for SQL Server DB instances)\n + ``custom-sqlserver-se`` (for RDS Custom for SQL Server DB instances)\n + ``custom-sqlserver-web`` (for RDS Custom for SQL Server DB instances)\n + ``db2-ae`` \n + ``db2-se`` \n + ``mariadb`` \n + ``mysql`` \n + ``oracle-ee`` \n + ``oracle-ee-cdb`` \n + ``oracle-se2`` \n + ``oracle-se2-cdb`` \n + ``postgres`` \n + ``sqlserver-ee`` \n + ``sqlserver-se`` \n + ``sqlserver-ex`` \n + ``sqlserver-web``", + "markdownDescription": "The name of the database engine to use for this DB instance. Not every database engine is available in every AWS Region.\n This property is required when creating a DB instance.\n You can convert an Oracle database from the non-CDB architecture to the container database (CDB) architecture by updating the ``Engine`` value in your templates from ``oracle-ee`` to ``oracle-ee-cdb`` or from ``oracle-se2`` to ``oracle-se2-cdb``. Converting to the CDB architecture requires an interruption.\n Valid Values:\n + ``aurora-mysql`` (for Aurora MySQL DB instances)\n + ``aurora-postgresql`` (for Aurora PostgreSQL DB instances)\n + ``custom-oracle-ee`` (for RDS Custom for Oracle DB instances)\n + ``custom-oracle-ee-cdb`` (for RDS Custom for Oracle DB instances)\n + ``custom-sqlserver-ee`` (for RDS Custom for SQL Server DB instances)\n + ``custom-sqlserver-se`` (for RDS Custom for SQL Server DB instances)\n + ``custom-sqlserver-web`` (for RDS Custom for SQL Server DB instances)\n + ``db2-ae`` \n + ``db2-se`` \n + ``mariadb`` \n + ``mysql`` \n + ``oracle-ee`` \n + ``oracle-ee-cdb`` \n + ``oracle-se2`` \n + ``oracle-se2-cdb`` \n + ``postgres`` \n + ``sqlserver-ee`` \n + ``sqlserver-se`` \n + ``sqlserver-ex`` \n + ``sqlserver-web``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + }, + "EngineLifecycleSupport": { + "type": "string", + "description": "The life cycle type for this DB instance.\n By default, this value is set to ``open-source-rds-extended-support``, which enrolls your DB instance 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 instance will fail if the DB major version is past its end of standard support date.\n This setting applies only to RDS for MySQL and RDS for PostgreSQL. For Amazon Aurora DB instances, the life cycle type is managed by the DB cluster.\n You can use this setting to enroll your DB instance into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB instance past the end of standard support for that engine version. For more information, see [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide*.\n Valid Values: ``open-source-rds-extended-support | open-source-rds-extended-support-disabled`` \n Default: ``open-source-rds-extended-support``", + "markdownDescription": "The life cycle type for this DB instance.\n By default, this value is set to ``open-source-rds-extended-support``, which enrolls your DB instance 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 instance will fail if the DB major version is past its end of standard support date.\n This setting applies only to RDS for MySQL and RDS for PostgreSQL. For Amazon Aurora DB instances, the life cycle type is managed by the DB cluster.\n You can use this setting to enroll your DB instance into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB instance past the end of standard support for that engine version. For more information, see [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide*.\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" + }, + "EngineVersion": { + "type": "string", + "description": "The version number of the database engine to use.\n For a list of valid engine versions, use the ``DescribeDBEngineVersions`` action.\n The following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.\n *Amazon Aurora* \n Not applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster.\n *Db2* \n See [Amazon RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Db2.html#Db2.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* \n *MariaDB* \n See [MariaDB on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* \n *Microsoft SQL Server* \n See [Microsoft SQL Server Versions on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) in the *Amazon RDS User Guide.* \n *MySQL* \n See [MySQL on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* \n *Oracle* \n See [Oracle Database Engine Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html) in the *Amazon RDS User Guide.* \n *PostgreSQL* \n See [Supported PostgreSQL Database Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions) in the *Amazon RDS User Guide.*", + "markdownDescription": "The version number of the database engine to use.\n For a list of valid engine versions, use the ``DescribeDBEngineVersions`` action.\n The following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.\n *Amazon Aurora* \n Not applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster.\n *Db2* \n See [Amazon RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Db2.html#Db2.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* \n *MariaDB* \n See [MariaDB on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* \n *Microsoft SQL Server* \n See [Microsoft SQL Server Versions on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) in the *Amazon RDS User Guide.* \n *MySQL* \n See [MySQL on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* \n *Oracle* \n See [Oracle Database Engine Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html) in the *Amazon RDS User Guide.* \n *PostgreSQL* \n See [Supported PostgreSQL Database Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions) in the *Amazon RDS User Guide.*\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ManageMasterUserPassword": { + "type": "boolean", + "description": "Specifies whether to manage the master user password with AWS Secrets Manager.\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.* \n Constraints:\n + Can't manage the master user password with AWS Secrets Manager if ``MasterUserPassword`` is specified.", + "markdownDescription": "Specifies whether to manage the master user password with AWS Secrets Manager.\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.* \n Constraints:\n + Can't manage the master user password with AWS Secrets Manager if ``MasterUserPassword`` is specified.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Iops": { + "type": "integer", + "description": "The number of I/O operations per second (IOPS) that the database provisions. The value must be equal to or greater than 1000. \n If you specify this property, you must follow the range of allowed ratios of your requested IOPS rate to the amount of storage that you allocate (IOPS to allocated storage). For example, you can provision an Oracle database instance with 1000 IOPS and 200 GiB of storage (a ratio of 5:1), or specify 2000 IOPS with 200 GiB of storage (a ratio of 10:1). For more information, see [Amazon RDS Provisioned IOPS Storage to Improve Performance](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide*.\n If you specify ``io1`` for the ``StorageType`` property, then you must also specify the ``Iops`` property.\n Constraints:\n + For RDS for Db2, MariaDB, MySQL, Oracle, and PostgreSQL - Must be a multiple between .5 and 50 of the storage amount for the DB instance.\n + For RDS for SQL Server - Must be a multiple between 1 and 50 of the storage amount for the DB instance.", + "markdownDescription": "The number of I/O operations per second (IOPS) that the database provisions. The value must be equal to or greater than 1000. \n If you specify this property, you must follow the range of allowed ratios of your requested IOPS rate to the amount of storage that you allocate (IOPS to allocated storage). For example, you can provision an Oracle database instance with 1000 IOPS and 200 GiB of storage (a ratio of 5:1), or specify 2000 IOPS with 200 GiB of storage (a ratio of 10:1). For more information, see [Amazon RDS Provisioned IOPS Storage to Improve Performance](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide*.\n If you specify ``io1`` for the ``StorageType`` property, then you must also specify the ``Iops`` property.\n Constraints:\n + For RDS for Db2, MariaDB, MySQL, Oracle, and PostgreSQL - Must be a multiple between .5 and 50 of the storage amount for the DB instance.\n + For RDS for SQL Server - Must be a multiple between 1 and 50 of the storage amount for the DB instance.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "KmsKeyId": { + "type": "string", + "description": "The ARN of the AWS KMS key that's used to encrypt the DB instance, such as ``arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef``. If you enable the StorageEncrypted property but don't specify this property, AWS CloudFormation uses the default KMS key. If you specify this property, you must set the StorageEncrypted property to true. \n If you specify the ``SourceDBInstanceIdentifier`` or ``SourceDbiResourceId`` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified ``KmsKeyId`` property is used. However, if the source DB instance is in a different AWS Region, you must specify a KMS key ID.\n If you specify the ``SourceDBInstanceAutomatedBackupsArn`` property, don't specify this property. The value is inherited from the source DB instance automated backup, and if the automated backup is encrypted, the specified ``KmsKeyId`` property is used.\n If you create an encrypted read replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the region that they're created in, and you can't use encryption keys from one region in another region.\n If you specify the ``DBSnapshotIdentifier`` property, don't specify this property. The ``StorageEncrypted`` property value is inherited from the snapshot. If the DB instance is encrypted, the specified ``KmsKeyId`` property is also inherited from the snapshot.\n If you specify ``DBSecurityGroups``, AWS CloudFormation ignores this property. To specify both a security group and this property, you must use a VPC security group. For more information about Amazon RDS and VPC, see [Using Amazon RDS with Amazon VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide*.\n *Amazon Aurora* \n Not applicable. The KMS key identifier is managed by the DB cluster.", + "markdownDescription": "The ARN of the AWS KMS key that's used to encrypt the DB instance, such as ``arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef``. If you enable the StorageEncrypted property but don't specify this property, AWS CloudFormation uses the default KMS key. If you specify this property, you must set the StorageEncrypted property to true. \n If you specify the ``SourceDBInstanceIdentifier`` or ``SourceDbiResourceId`` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified ``KmsKeyId`` property is used. However, if the source DB instance is in a different AWS Region, you must specify a KMS key ID.\n If you specify the ``SourceDBInstanceAutomatedBackupsArn`` property, don't specify this property. The value is inherited from the source DB instance automated backup, and if the automated backup is encrypted, the specified ``KmsKeyId`` property is used.\n If you create an encrypted read replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the region that they're created in, and you can't use encryption keys from one region in another region.\n If you specify the ``DBSnapshotIdentifier`` property, don't specify this property. The ``StorageEncrypted`` property value is inherited from the snapshot. If the DB instance is encrypted, the specified ``KmsKeyId`` property is also inherited from the snapshot.\n If you specify ``DBSecurityGroups``, AWS CloudFormation ignores this property. To specify both a security group and this property, you must use a VPC security group. For more information about Amazon RDS and VPC, see [Using Amazon RDS with Amazon VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide*.\n *Amazon Aurora* \n Not applicable. The KMS key identifier is managed by the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "LicenseModel": { + "type": "string", + "description": "License model information for this DB instance.\n Valid Values:\n + Aurora MySQL - ``general-public-license`` \n + Aurora PostgreSQL - ``postgresql-license`` \n + RDS for Db2 - ``bring-your-own-license``. For more information about RDS for Db2 licensing, see [](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) in the *Amazon RDS User Guide.* \n + RDS for MariaDB - ``general-public-license`` \n + RDS for Microsoft SQL Server - ``license-included`` \n + RDS for MySQL - ``general-public-license`` \n + RDS for Oracle - ``bring-your-own-license`` or ``license-included`` \n + RDS for PostgreSQL - ``postgresql-license`` \n \n If you've specified ``DBSecurityGroups`` and then you update the license model, AWS CloudFormation replaces the underlying DB instance. This will incur some interruptions to database availability.", + "markdownDescription": "License model information for this DB instance.\n Valid Values:\n + Aurora MySQL - ``general-public-license`` \n + Aurora PostgreSQL - ``postgresql-license`` \n + RDS for Db2 - ``bring-your-own-license``. For more information about RDS for Db2 licensing, see [](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) in the *Amazon RDS User Guide.* \n + RDS for MariaDB - ``general-public-license`` \n + RDS for Microsoft SQL Server - ``license-included`` \n + RDS for MySQL - ``general-public-license`` \n + RDS for Oracle - ``bring-your-own-license`` or ``license-included`` \n + RDS for PostgreSQL - ``postgresql-license`` \n \n If you've specified ``DBSecurityGroups`` and then you update the license model, AWS CloudFormation replaces the underlying DB instance. This will incur some interruptions to database availability.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MasterUsername": { - "minLength": 1, - "description": "The master user name for the DB instance.\n If you specify the ``SourceDBInstanceIdentifier`` or ``DBSnapshotIdentifier`` property, don't specify this property. The value is inherited from the source DB instance or snapshot.\n When migrating a self-managed Db2 database, we recommend that you use the same master username as your self-managed Db2 instance name.\n *Amazon Aurora* \n Not applicable. The name for the master user is managed by the DB cluster. \n *RDS for Db2* \n Constraints:\n + Must be 1 to 16 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for MariaDB* \n Constraints:\n + Must be 1 to 16 letters or numbers.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for Microsoft SQL Server* \n Constraints:\n + Must be 1 to 128 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for MySQL* \n Constraints:\n + Must be 1 to 16 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for Oracle* \n Constraints:\n + Must be 1 to 30 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for PostgreSQL* \n Constraints:\n + Must be 1 to 63 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.", "type": "string", + "description": "The master user name for the DB instance.\n If you specify the ``SourceDBInstanceIdentifier`` or ``DBSnapshotIdentifier`` property, don't specify this property. The value is inherited from the source DB instance or snapshot.\n When migrating a self-managed Db2 database, we recommend that you use the same master username as your self-managed Db2 instance name.\n *Amazon Aurora* \n Not applicable. The name for the master user is managed by the DB cluster. \n *RDS for Db2* \n Constraints:\n + Must be 1 to 16 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for MariaDB* \n Constraints:\n + Must be 1 to 16 letters or numbers.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for Microsoft SQL Server* \n Constraints:\n + Must be 1 to 128 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for MySQL* \n Constraints:\n + Must be 1 to 16 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for Oracle* \n Constraints:\n + Must be 1 to 30 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for PostgreSQL* \n Constraints:\n + Must be 1 to 63 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.", + "minLength": 1, "maxLength": 128, "markdownDescription": "The master user name for the DB instance.\n If you specify the ``SourceDBInstanceIdentifier`` or ``DBSnapshotIdentifier`` property, don't specify this property. The value is inherited from the source DB instance or snapshot.\n When migrating a self-managed Db2 database, we recommend that you use the same master username as your self-managed Db2 instance name.\n *Amazon Aurora* \n Not applicable. The name for the master user is managed by the DB cluster. \n *RDS for Db2* \n Constraints:\n + Must be 1 to 16 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for MariaDB* \n Constraints:\n + Must be 1 to 16 letters or numbers.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for Microsoft SQL Server* \n Constraints:\n + Must be 1 to 128 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for MySQL* \n Constraints:\n + Must be 1 to 16 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for Oracle* \n Constraints:\n + Must be 1 to 30 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.\n \n *RDS for PostgreSQL* \n Constraints:\n + Must be 1 to 63 letters or numbers.\n + First character must be a letter.\n + Can't be a reserved word for the chosen database engine.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z][a-zA-Z0-9_]{0,127}$ \nUpdate requires: Replacement" }, + "MasterUserPassword": { + "type": "string", + "description": "The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".\n *Amazon Aurora* \n Not applicable. The password for the master user is managed by the DB cluster.\n *RDS for Db2* \n Must contain from 8 to 255 characters.\n *RDS for MariaDB* \n Constraints: Must contain from 8 to 41 characters.\n *RDS for Microsoft SQL Server* \n Constraints: Must contain from 8 to 128 characters.\n *RDS for MySQL* \n Constraints: Must contain from 8 to 41 characters.\n *RDS for Oracle* \n Constraints: Must contain from 8 to 30 characters.\n *RDS for PostgreSQL* \n Constraints: Must contain from 8 to 128 characters.", + "markdownDescription": "The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".\n *Amazon Aurora* \n Not applicable. The password for the master user is managed by the DB cluster.\n *RDS for Db2* \n Must contain from 8 to 255 characters.\n *RDS for MariaDB* \n Constraints: Must contain from 8 to 41 characters.\n *RDS for Microsoft SQL Server* \n Constraints: Must contain from 8 to 128 characters.\n *RDS for MySQL* \n Constraints: Must contain from 8 to 41 characters.\n *RDS for Oracle* \n Constraints: Must contain from 8 to 30 characters.\n *RDS for PostgreSQL* \n Constraints: Must contain from 8 to 128 characters.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "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.*", + "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.*\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "MaxAllocatedStorage": { - "description": "The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.\n For more information about this setting, including limitations that apply to it, see [Managing capacity automatically with Amazon RDS storage autoscaling](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling) in the *Amazon RDS User Guide*.\n This setting doesn't apply to the following DB instances:\n + Amazon Aurora (Storage is managed by the DB cluster.)\n + RDS Custom", "type": "integer", + "description": "The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.\n For more information about this setting, including limitations that apply to it, see [Managing capacity automatically with Amazon RDS storage autoscaling](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling) in the *Amazon RDS User Guide*.\n This setting doesn't apply to the following DB instances:\n + Amazon Aurora (Storage is managed by the DB cluster.)\n + RDS Custom", "markdownDescription": "The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.\n For more information about this setting, including limitations that apply to it, see [Managing capacity automatically with Amazon RDS storage autoscaling](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling) in the *Amazon RDS User Guide*.\n This setting doesn't apply to the following DB instances:\n + Amazon Aurora (Storage is managed by the DB cluster.)\n + RDS Custom\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "PromotionTier": { - "default": 1, - "description": "The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [Fault Tolerance for an Aurora DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance) in the *Amazon Aurora User Guide*.\n This setting doesn't apply to RDS Custom DB instances.\n Default: ``1`` \n Valid Values: ``0 - 15``", + "MonitoringInterval": { "type": "integer", - "minimum": 0, - "markdownDescription": "The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [Fault Tolerance for an Aurora DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance) in the *Amazon Aurora User Guide*.\n This setting doesn't apply to RDS Custom DB instances.\n Default: ``1`` \n Valid Values: ``0 - 15``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "default": 0, + "description": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collection of Enhanced Monitoring metrics, specify 0. The default is 0.\n If ``MonitoringRoleArn`` is specified, then you must set ``MonitoringInterval`` to a value other than 0.\n This setting doesn't apply to RDS Custom.\n Valid Values: ``0, 1, 5, 10, 15, 30, 60``", + "markdownDescription": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collection of Enhanced Monitoring metrics, specify 0. The default is 0.\n If ``MonitoringRoleArn`` is specified, then you must set ``MonitoringInterval`` to a value other than 0.\n This setting doesn't apply to RDS Custom.\n Valid Values: ``0, 1, 5, 10, 15, 30, 60``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "PubliclyAccessible": { - "description": "Indicates whether the DB instance is an internet-facing instance. If you specify true, AWS CloudFormation creates an instance with a publicly resolvable DNS name, which resolves to a public IP address. If you specify false, AWS CloudFormation creates an internal instance with a DNS name that resolves to a private IP address. \n The default behavior value depends on your VPC setup and the database subnet group. For more information, see the ``PubliclyAccessible`` parameter in the [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) in the *Amazon RDS API Reference*.", + "MonitoringRoleArn": { + "type": "string", + "description": "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, ``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``, then you must supply a ``MonitoringRoleArn`` value.\n This setting doesn't apply to RDS Custom DB instances.", + "markdownDescription": "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, ``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``, then you must supply a ``MonitoringRoleArn`` value.\n This setting doesn't apply to RDS Custom DB instances.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MultiAZ": { "type": "boolean", - "markdownDescription": "Indicates whether the DB instance is an internet-facing instance. If you specify true, AWS CloudFormation creates an instance with a publicly resolvable DNS name, which resolves to a public IP address. If you specify false, AWS CloudFormation creates an internal instance with a DNS name that resolves to a private IP address. \n The default behavior value depends on your VPC setup and the database subnet group. For more information, see the ``PubliclyAccessible`` parameter in the [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) in the *Amazon RDS API Reference*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "Specifies whether the database instance is a Multi-AZ DB instance deployment. You can't set the ``AvailabilityZone`` parameter if the ``MultiAZ`` parameter is set to true. \n For more information, see [Multi-AZ deployments for high availability](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) in the *Amazon RDS User Guide*.\n *Amazon Aurora* \n Not applicable. Amazon Aurora storage is replicated across all of the Availability Zones and doesn't require the ``MultiAZ`` option to be set.", + "markdownDescription": "Specifies whether the database instance is a Multi-AZ DB instance deployment. You can't set the ``AvailabilityZone`` parameter if the ``MultiAZ`` parameter is set to true. \n For more information, see [Multi-AZ deployments for high availability](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) in the *Amazon RDS User Guide*.\n *Amazon Aurora* \n Not applicable. Amazon Aurora storage is replicated across all of the Availability Zones and doesn't require the ``MultiAZ`` option to be set.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Some interruptions" }, - "Domain": { - "description": "The Active Directory directory ID to create the DB instance in. Currently, only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.\n For more information, see [Kerberos Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) in the *Amazon RDS User Guide*.", + "NcharCharacterSetName": { "type": "string", - "markdownDescription": "The Active Directory directory ID to create the DB instance in. Currently, only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.\n For more information, see [Kerberos Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) in the *Amazon RDS User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the NCHAR character set for the Oracle DB instance.\n This setting doesn't apply to RDS Custom DB instances.", + "markdownDescription": "The name of the NCHAR character set for the Oracle DB instance.\n This setting doesn't apply to RDS Custom DB instances.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "DomainFqdn": { - "description": "The fully qualified domain name (FQDN) of an Active Directory domain.\n Constraints:\n + Can't be longer than 64 characters.\n \n Example: ``mymanagedADtest.mymanagedAD.mydomain``", + "NetworkType": { + "description": "The network type of the DB instance.\n Valid values:\n + ``IPV4`` \n + ``DUAL`` \n \n The network type is determined by the ``DBSubnetGroup`` specified for the DB instance. 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/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon RDS User Guide.*", "type": "string", - "markdownDescription": "The fully qualified domain name (FQDN) of an Active Directory domain.\n Constraints:\n + Can't be longer than 64 characters.\n \n Example: ``mymanagedADtest.mymanagedAD.mydomain``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The network type of the DB instance.\n Valid values:\n + ``IPV4`` \n + ``DUAL`` \n \n The network type is determined by the ``DBSubnetGroup`` specified for the DB instance. 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/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon RDS User Guide.*\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "CharacterSetName": { - "description": "For supported engines, indicates that the DB instance should be associated with the specified character set.\n *Amazon Aurora* \n Not applicable. The character set is managed by the DB cluster. For more information, see [AWS::RDS::DBCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html).", + "OptionGroupName": { "type": "string", - "markdownDescription": "For supported engines, indicates that the DB instance should be associated with the specified character set.\n *Amazon Aurora* \n Not applicable. The character set is managed by the DB cluster. For more information, see [AWS::RDS::DBCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html).\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "Indicates that the DB instance should be associated with the specified option group.\n Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance.", + "markdownDescription": "Indicates that the DB instance should be associated with the specified option group.\n Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "MonitoringRoleArn": { - "description": "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, ``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``, then you must supply a ``MonitoringRoleArn`` value.\n This setting doesn't apply to RDS Custom DB instances.", + "PerformanceInsightsKMSKeyId": { "type": "string", - "markdownDescription": "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, ``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``, then you must supply a ``MonitoringRoleArn`` value.\n This setting doesn't apply to RDS Custom DB instances.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The AWS KMS key identifier for encryption of Performance Insights data.\n The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n If you do not 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 For information about enabling Performance Insights, see [EnablePerformanceInsights](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableperformanceinsights).", + "markdownDescription": "The AWS KMS key identifier for encryption of Performance Insights data.\n The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n If you do not 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 For information about enabling Performance Insights, see [EnablePerformanceInsights](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableperformanceinsights).\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, - "AssociatedRoles": { - "description": "The IAMlong (IAM) roles associated with the DB instance. \n *Amazon Aurora* \n Not applicable. The associated roles are managed by the DB cluster.", - "type": "array", - "items": { - "$ref": "#/definitions/DBInstanceRole" - }, - "markdownDescription": "The IAMlong (IAM) roles associated with the DB instance. \n *Amazon Aurora* \n Not applicable. The associated roles are managed by the DB cluster.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "PerformanceInsightsRetentionPeriod": { + "type": "integer", + "description": "The number of days to retain Performance Insights data.\n This setting doesn't apply to RDS Custom DB instances.\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 returns an error.", + "markdownDescription": "The number of days to retain Performance Insights data.\n This setting doesn't apply to RDS Custom DB instances.\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 returns an error.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "DomainOu": { - "description": "The Active Directory organizational unit for your DB instance to join.\n Constraints:\n + Must be in the distinguished name format.\n + Can't be longer than 64 characters.\n \n Example: ``OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain``", + "Port": { "type": "string", - "markdownDescription": "The Active Directory organizational unit for your DB instance to join.\n Constraints:\n + Must be in the distinguished name format.\n + Can't be longer than 64 characters.\n \n Example: ``OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The port number on which the database accepts connections.\n *Amazon Aurora* \n Not applicable. The port number is managed by the DB cluster.\n *Db2* \n Default value: ``50000``", + "markdownDescription": "The port number on which the database accepts connections.\n *Amazon Aurora* \n Not applicable. The port number is managed by the DB cluster.\n *Db2* \n Default value: ``50000``\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d*$ \nUpdate requires: Replacement" }, - "DBClusterSnapshotIdentifier": { - "description": "The identifier for the Multi-AZ DB cluster snapshot to restore from.\n For more information on Multi-AZ DB clusters, see [Multi-AZ DB cluster deployments](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html) in the *Amazon RDS User Guide*.\n Constraints:\n + Must match the identifier of an existing Multi-AZ DB cluster snapshot.\n + Can't be specified when ``DBSnapshotIdentifier`` is specified.\n + Must be specified when ``DBSnapshotIdentifier`` isn't specified.\n + If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the ``DBClusterSnapshotIdentifier`` must be the ARN of the shared snapshot.\n + Can't be the identifier of an Aurora DB cluster snapshot.", + "PreferredBackupWindow": { "type": "string", - "markdownDescription": "The identifier for the Multi-AZ DB cluster snapshot to restore from.\n For more information on Multi-AZ DB clusters, see [Multi-AZ DB cluster deployments](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html) in the *Amazon RDS User Guide*.\n Constraints:\n + Must match the identifier of an existing Multi-AZ DB cluster snapshot.\n + Can't be specified when ``DBSnapshotIdentifier`` is specified.\n + Must be specified when ``DBSnapshotIdentifier`` isn't specified.\n + If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the ``DBClusterSnapshotIdentifier`` must be the ARN of the shared snapshot.\n + Can't be the identifier of an Aurora DB cluster snapshot.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + "description": "The daily time range during which automated backups are created if automated backups are enabled, using the ``BackupRetentionPeriod`` parameter. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) in the *Amazon RDS User Guide.* \n Constraints:\n + Must be in the format ``hh24:mi-hh24:mi``.\n + Must be in Universal Coordinated Time (UTC).\n + Must not conflict with the preferred maintenance window.\n + Must be at least 30 minutes.\n \n *Amazon Aurora* \n Not applicable. The daily time range for creating automated backups is managed by the DB cluster.", + "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled, using the ``BackupRetentionPeriod`` parameter. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) in the *Amazon RDS User Guide.* \n Constraints:\n + Must be in the format ``hh24:mi-hh24:mi``.\n + Must be in Universal Coordinated Time (UTC).\n + Must not conflict with the preferred maintenance window.\n + Must be at least 30 minutes.\n \n *Amazon Aurora* \n Not applicable. The daily time range for creating automated backups is managed by the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SourceDBInstanceAutomatedBackupsArn": { - "description": "The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, ``arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE``.\n This setting doesn't apply to RDS Custom.", + "PreferredMaintenanceWindow": { "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, ``arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE``.\n This setting doesn't apply to RDS Custom.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + "description": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n Format: ``ddd:hh24:mi-ddd:hh24:mi`` \n The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see [Adjusting the Preferred DB Instance Maintenance Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) in the *Amazon RDS User Guide.* \n This property applies when AWS CloudFormation initially creates the DB instance. If you use AWS CloudFormation to update the DB instance, those updates are applied immediately.\n Constraints: Minimum 30-minute window.", + "markdownDescription": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n Format: ``ddd:hh24:mi-ddd:hh24:mi`` \n The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see [Adjusting the Preferred DB Instance Maintenance Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) in the *Amazon RDS User Guide.* \n This property applies when AWS CloudFormation initially creates the DB instance. If you use AWS CloudFormation to update the DB instance, those updates are applied immediately.\n Constraints: Minimum 30-minute window.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, "ProcessorFeatures": { - "description": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.\n This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.", "type": "array", "items": { "$ref": "#/definitions/ProcessorFeature" }, + "description": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.\n This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.", "markdownDescription": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.\n This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "PreferredBackupWindow": { - "description": "The daily time range during which automated backups are created if automated backups are enabled, using the ``BackupRetentionPeriod`` parameter. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) in the *Amazon RDS User Guide.* \n Constraints:\n + Must be in the format ``hh24:mi-hh24:mi``.\n + Must be in Universal Coordinated Time (UTC).\n + Must not conflict with the preferred maintenance window.\n + Must be at least 30 minutes.\n \n *Amazon Aurora* \n Not applicable. The daily time range for creating automated backups is managed by the DB cluster.", + "PromotionTier": { + "type": "integer", + "minimum": 0, + "default": 1, + "description": "The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [Fault Tolerance for an Aurora DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance) in the *Amazon Aurora User Guide*.\n This setting doesn't apply to RDS Custom DB instances.\n Default: ``1`` \n Valid Values: ``0 - 15``", + "markdownDescription": "The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [Fault Tolerance for an Aurora DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance) in the *Amazon Aurora User Guide*.\n This setting doesn't apply to RDS Custom DB instances.\n Default: ``1`` \n Valid Values: ``0 - 15``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "PubliclyAccessible": { + "type": "boolean", + "description": "Indicates whether the DB instance is an internet-facing instance. If you specify true, AWS CloudFormation creates an instance with a publicly resolvable DNS name, which resolves to a public IP address. If you specify false, AWS CloudFormation creates an internal instance with a DNS name that resolves to a private IP address. \n The default behavior value depends on your VPC setup and the database subnet group. For more information, see the ``PubliclyAccessible`` parameter in the [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) in the *Amazon RDS API Reference*.", + "markdownDescription": "Indicates whether the DB instance is an internet-facing instance. If you specify true, AWS CloudFormation creates an instance with a publicly resolvable DNS name, which resolves to a public IP address. If you specify false, AWS CloudFormation creates an internal instance with a DNS name that resolves to a private IP address. \n The default behavior value depends on your VPC setup and the database subnet group. For more information, see the ``PubliclyAccessible`` parameter in the [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) in the *Amazon RDS API Reference*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ReplicaMode": { + "description": "The open mode of an Oracle read replica. For more information, see [Working with Oracle Read Replicas for Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) in the *Amazon RDS User Guide*.\n This setting is only supported in RDS for Oracle.\n Default: ``open-read-only`` \n Valid Values: ``open-read-only`` or ``mounted``", "type": "string", - "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled, using the ``BackupRetentionPeriod`` parameter. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) in the *Amazon RDS User Guide.* \n Constraints:\n + Must be in the format ``hh24:mi-hh24:mi``.\n + Must be in Universal Coordinated Time (UTC).\n + Must not conflict with the preferred maintenance window.\n + Must be at least 30 minutes.\n \n *Amazon Aurora* \n Not applicable. The daily time range for creating automated backups is managed by the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The open mode of an Oracle read replica. For more information, see [Working with Oracle Read Replicas for Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) in the *Amazon RDS User Guide*.\n This setting is only supported in RDS for Oracle.\n Default: ``open-read-only`` \n Valid Values: ``open-read-only`` or ``mounted``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RestoreTime": { - "format": "date-time", "description": "The date and time to restore from.\n Constraints:\n + Must be a time in Universal Coordinated Time (UTC) format.\n + Must be before the latest restorable time for the DB instance.\n + Can't be specified if the ``UseLatestRestorableTime`` parameter is enabled.\n \n Example: ``2009-09-07T23:45:00Z``", "type": "string", + "format": "date-time", "markdownDescription": "The date and time to restore from.\n Constraints:\n + Must be a time in Universal Coordinated Time (UTC) format.\n + Must be before the latest restorable time for the DB instance.\n + Can't be specified if the ``UseLatestRestorableTime`` parameter is enabled.\n \n Example: ``2009-09-07T23:45:00Z``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, - "CertificateRotationRestart": { - "description": "Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate.\n By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.\n Set this parameter only if you are *not* using SSL/TLS to connect to the DB instance.\n If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate:\n + For more information about rotating your SSL/TLS certificate for RDS DB engines, see [Rotating Your SSL/TLS Certificate.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon RDS User Guide.* \n + For more information about rotating your SSL/TLS certificate for Aurora DB engines, see [Rotating Your SSL/TLS Certificate](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon Aurora User Guide*.\n \n This setting doesn't apply to RDS Custom DB instances.", - "type": "boolean", - "markdownDescription": "Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate.\n By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.\n Set this parameter only if you are *not* using SSL/TLS to connect to the DB instance.\n If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate:\n + For more information about rotating your SSL/TLS certificate for RDS DB engines, see [Rotating Your SSL/TLS Certificate.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon RDS User Guide.* \n + For more information about rotating your SSL/TLS certificate for Aurora DB engines, see [Rotating Your SSL/TLS Certificate](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon Aurora User Guide*.\n \n This setting doesn't apply to RDS Custom DB instances.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "NetworkType": { - "description": "The network type of the DB instance.\n Valid values:\n + ``IPV4`` \n + ``DUAL`` \n \n The network type is determined by the ``DBSubnetGroup`` specified for the DB instance. 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/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon RDS User Guide.*", - "type": "string", - "markdownDescription": "The network type of the DB instance.\n Valid values:\n + ``IPV4`` \n + ``DUAL`` \n \n The network type is determined by the ``DBSubnetGroup`` specified for the DB instance. 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/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon RDS User Guide.*\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "DedicatedLogVolume": { - "description": "Indicates whether the DB instance has a dedicated log volume (DLV) enabled.", - "type": "boolean", - "markdownDescription": "Indicates whether the DB instance has a dedicated log volume (DLV) enabled.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "CopyTagsToSnapshot": { - "description": "Specifies whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.\n This setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting.", - "type": "boolean", - "markdownDescription": "Specifies whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.\n This setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "DomainIAMRoleName": { - "description": "The name of the IAM role to use when making API calls to the Directory Service.\n This setting doesn't apply to the following DB instances:\n + Amazon Aurora (The domain is managed by the DB cluster.)\n + RDS Custom", + "SourceDBClusterIdentifier": { + "description": "The identifier of the Multi-AZ DB cluster that will act as the source for the read replica. Each DB cluster can have up to 15 read replicas.\n Constraints:\n + Must be the identifier of an existing Multi-AZ DB cluster.\n + Can't be specified if the ``SourceDBInstanceIdentifier`` parameter is also specified.\n + The specified DB cluster must have automatic backups enabled, that is, its backup retention period must be greater than 0.\n + The source DB cluster must be in the same AWS-Region as the read replica. Cross-Region replication isn't supported.", "type": "string", - "markdownDescription": "The name of the IAM role to use when making API calls to the Directory Service.\n This setting doesn't apply to the following DB instances:\n + Amazon Aurora (The domain is managed by the DB cluster.)\n + RDS Custom\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The identifier of the Multi-AZ DB cluster that will act as the source for the read replica. Each DB cluster can have up to 15 read replicas.\n Constraints:\n + Must be the identifier of an existing Multi-AZ DB cluster.\n + Can't be specified if the ``SourceDBInstanceIdentifier`` parameter is also specified.\n + The specified DB cluster must have automatic backups enabled, that is, its backup retention period must be greater than 0.\n + The source DB cluster must be in the same AWS-Region as the read replica. Cross-Region replication isn't supported.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, - "ReplicaMode": { - "description": "The open mode of an Oracle read replica. For more information, see [Working with Oracle Read Replicas for Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) in the *Amazon RDS User Guide*.\n This setting is only supported in RDS for Oracle.\n Default: ``open-read-only`` \n Valid Values: ``open-read-only`` or ``mounted``", + "SourceDbiResourceId": { "type": "string", - "markdownDescription": "The open mode of an Oracle read replica. For more information, see [Working with Oracle Read Replicas for Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) in the *Amazon RDS User Guide*.\n This setting is only supported in RDS for Oracle.\n Default: ``open-read-only`` \n Valid Values: ``open-read-only`` or ``mounted``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The resource ID of the source DB instance from which to restore.", + "markdownDescription": "The resource ID of the source DB instance from which to restore.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, - "LicenseModel": { - "description": "License model information for this DB instance.\n Valid Values:\n + Aurora MySQL - ``general-public-license`` \n + Aurora PostgreSQL - ``postgresql-license`` \n + RDS for Db2 - ``bring-your-own-license``. For more information about RDS for Db2 licensing, see [](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) in the *Amazon RDS User Guide.* \n + RDS for MariaDB - ``general-public-license`` \n + RDS for Microsoft SQL Server - ``license-included`` \n + RDS for MySQL - ``general-public-license`` \n + RDS for Oracle - ``bring-your-own-license`` or ``license-included`` \n + RDS for PostgreSQL - ``postgresql-license`` \n \n If you've specified ``DBSecurityGroups`` and then you update the license model, AWS CloudFormation replaces the underlying DB instance. This will incur some interruptions to database availability.", + "SourceDBInstanceAutomatedBackupsArn": { "type": "string", - "markdownDescription": "License model information for this DB instance.\n Valid Values:\n + Aurora MySQL - ``general-public-license`` \n + Aurora PostgreSQL - ``postgresql-license`` \n + RDS for Db2 - ``bring-your-own-license``. For more information about RDS for Db2 licensing, see [](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) in the *Amazon RDS User Guide.* \n + RDS for MariaDB - ``general-public-license`` \n + RDS for Microsoft SQL Server - ``license-included`` \n + RDS for MySQL - ``general-public-license`` \n + RDS for Oracle - ``bring-your-own-license`` or ``license-included`` \n + RDS for PostgreSQL - ``postgresql-license`` \n \n If you've specified ``DBSecurityGroups`` and then you update the license model, AWS CloudFormation replaces the underlying DB instance. This will incur some interruptions to database availability.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "DomainDnsIps": { - "description": "The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.\n Constraints:\n + Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.\n \n Example: ``123.124.125.126,234.235.236.237``", - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.\n Constraints:\n + Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.\n \n Example: ``123.124.125.126,234.235.236.237``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, ``arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE``.\n This setting doesn't apply to RDS Custom.", + "markdownDescription": "The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, ``arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE``.\n This setting doesn't apply to RDS Custom.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, - "PreferredMaintenanceWindow": { - "description": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n Format: ``ddd:hh24:mi-ddd:hh24:mi`` \n The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see [Adjusting the Preferred DB Instance Maintenance Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) in the *Amazon RDS User Guide.* \n This property applies when AWS CloudFormation initially creates the DB instance. If you use AWS CloudFormation to update the DB instance, those updates are applied immediately.\n Constraints: Minimum 30-minute window.", + "SourceDBInstanceIdentifier": { "type": "string", - "markdownDescription": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n Format: ``ddd:hh24:mi-ddd:hh24:mi`` \n The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see [Adjusting the Preferred DB Instance Maintenance Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) in the *Amazon RDS User Guide.* \n This property applies when AWS CloudFormation initially creates the DB instance. If you use AWS CloudFormation to update the DB instance, those updates are applied immediately.\n Constraints: Minimum 30-minute window.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" - }, - "Iops": { - "description": "The number of I/O operations per second (IOPS) that the database provisions. The value must be equal to or greater than 1000. \n If you specify this property, you must follow the range of allowed ratios of your requested IOPS rate to the amount of storage that you allocate (IOPS to allocated storage). For example, you can provision an Oracle database instance with 1000 IOPS and 200 GiB of storage (a ratio of 5:1), or specify 2000 IOPS with 200 GiB of storage (a ratio of 10:1). For more information, see [Amazon RDS Provisioned IOPS Storage to Improve Performance](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide*.\n If you specify ``io1`` for the ``StorageType`` property, then you must also specify the ``Iops`` property.\n Constraints:\n + For RDS for Db2, MariaDB, MySQL, Oracle, and PostgreSQL - Must be a multiple between .5 and 50 of the storage amount for the DB instance.\n + For RDS for SQL Server - Must be a multiple between 1 and 50 of the storage amount for the DB instance.", - "type": "integer", - "markdownDescription": "The number of I/O operations per second (IOPS) that the database provisions. The value must be equal to or greater than 1000. \n If you specify this property, you must follow the range of allowed ratios of your requested IOPS rate to the amount of storage that you allocate (IOPS to allocated storage). For example, you can provision an Oracle database instance with 1000 IOPS and 200 GiB of storage (a ratio of 5:1), or specify 2000 IOPS with 200 GiB of storage (a ratio of 10:1). For more information, see [Amazon RDS Provisioned IOPS Storage to Improve Performance](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide*.\n If you specify ``io1`` for the ``StorageType`` property, then you must also specify the ``Iops`` property.\n Constraints:\n + For RDS for Db2, MariaDB, MySQL, Oracle, and PostgreSQL - Must be a multiple between .5 and 50 of the storage amount for the DB instance.\n + For RDS for SQL Server - Must be a multiple between 1 and 50 of the storage amount for the DB instance.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "If you want to create a read replica DB instance, specify the ID of the source DB instance. Each DB instance can have a limited number of read replicas. For more information, see [Working with Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/USER_ReadRepl.html) in the *Amazon RDS User Guide*.\n For information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide*.\n The ``SourceDBInstanceIdentifier`` property determines whether a DB instance is a read replica. If you remove the ``SourceDBInstanceIdentifier`` property from your template and then update your stack, AWS CloudFormation promotes the read replica to a standalone DB instance.\n If you specify the ``UseLatestRestorableTime`` or ``RestoreTime`` properties in conjunction with the ``SourceDBInstanceIdentifier`` property, RDS restores the DB instance to the requested point in time, thereby creating a new DB instance.\n + If you specify a source DB instance that uses VPC security groups, we recommend that you specify the ``VPCSecurityGroups`` property. If you don't specify the property, the read replica inherits the value of the ``VPCSecurityGroups`` property from the source DB when you create the replica. However, if you update the stack, AWS CloudFormation reverts the replica's ``VPCSecurityGroups`` property to the default value because it's not defined in the stack's template. This change might cause unexpected issues.\n + Read replicas don't support deletion policies. AWS CloudFormation ignores any deletion policy that's associated with a read replica.\n + If you specify ``SourceDBInstanceIdentifier``, don't specify the ``DBSnapshotIdentifier`` property. You can't create a read replica from a snapshot.\n + Don't set the ``BackupRetentionPeriod``, ``DBName``, ``MasterUsername``, ``MasterUserPassword``, and ``PreferredBackupWindow`` properties. The database attributes are inherited from the source DB instance, and backups are disabled for read replicas.\n + If the source DB instance is in a different region than the read replica, specify the source region in ``SourceRegion``, and specify an ARN for a valid DB instance in ``SourceDBInstanceIdentifier``. For more information, see [Constructing a Amazon RDS Amazon Resource Name (ARN)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN) in the *Amazon RDS User Guide*.\n + For DB instances in Amazon Aurora clusters, don't specify this property. Amazon RDS automatically assigns writer and reader DB instances.", + "markdownDescription": "If you want to create a read replica DB instance, specify the ID of the source DB instance. Each DB instance can have a limited number of read replicas. For more information, see [Working with Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/USER_ReadRepl.html) in the *Amazon RDS User Guide*.\n For information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide*.\n The ``SourceDBInstanceIdentifier`` property determines whether a DB instance is a read replica. If you remove the ``SourceDBInstanceIdentifier`` property from your template and then update your stack, AWS CloudFormation promotes the read replica to a standalone DB instance.\n If you specify the ``UseLatestRestorableTime`` or ``RestoreTime`` properties in conjunction with the ``SourceDBInstanceIdentifier`` property, RDS restores the DB instance to the requested point in time, thereby creating a new DB instance.\n + If you specify a source DB instance that uses VPC security groups, we recommend that you specify the ``VPCSecurityGroups`` property. If you don't specify the property, the read replica inherits the value of the ``VPCSecurityGroups`` property from the source DB when you create the replica. However, if you update the stack, AWS CloudFormation reverts the replica's ``VPCSecurityGroups`` property to the default value because it's not defined in the stack's template. This change might cause unexpected issues.\n + Read replicas don't support deletion policies. AWS CloudFormation ignores any deletion policy that's associated with a read replica.\n + If you specify ``SourceDBInstanceIdentifier``, don't specify the ``DBSnapshotIdentifier`` property. You can't create a read replica from a snapshot.\n + Don't set the ``BackupRetentionPeriod``, ``DBName``, ``MasterUsername``, ``MasterUserPassword``, and ``PreferredBackupWindow`` properties. The database attributes are inherited from the source DB instance, and backups are disabled for read replicas.\n + If the source DB instance is in a different region than the read replica, specify the source region in ``SourceRegion``, and specify an ARN for a valid DB instance in ``SourceDBInstanceIdentifier``. For more information, see [Constructing a Amazon RDS Amazon Resource Name (ARN)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN) in the *Amazon RDS User Guide*.\n + For DB instances in Amazon Aurora clusters, don't specify this property. Amazon RDS automatically assigns writer and reader DB instances.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, "SourceRegion": { - "description": "The ID of the region that contains the source DB instance for the read replica.", "type": "string", + "description": "The ID of the region that contains the source DB instance for the read replica.", "markdownDescription": "The ID of the region that contains the source DB instance for the read replica.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "UseLatestRestorableTime": { - "description": "Specifies whether the DB instance is restored from the latest backup time. By default, the DB instance isn't restored from the latest backup time.\n Constraints:\n + Can't be specified if the ``RestoreTime`` parameter is provided.", + "StorageEncrypted": { "type": "boolean", - "markdownDescription": "Specifies whether the DB instance is restored from the latest backup time. By default, the DB instance isn't restored from the latest backup time.\n Constraints:\n + Can't be specified if the ``RestoreTime`` parameter is provided.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Some interruptions" + "description": "A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.\n If you specify the ``KmsKeyId`` property, then you must enable encryption.\n If you specify the ``SourceDBInstanceIdentifier`` or ``SourceDbiResourceId`` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified ``KmsKeyId`` property is used.\n If you specify the ``SourceDBInstanceAutomatedBackupsArn`` property, don't specify this property. The value is inherited from the source DB instance automated backup. \n If you specify ``DBSnapshotIdentifier`` property, don't specify this property. The value is inherited from the snapshot.\n *Amazon Aurora* \n Not applicable. The encryption for DB instances is managed by the DB cluster.", + "markdownDescription": "A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.\n If you specify the ``KmsKeyId`` property, then you must enable encryption.\n If you specify the ``SourceDBInstanceIdentifier`` or ``SourceDbiResourceId`` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified ``KmsKeyId`` property is used.\n If you specify the ``SourceDBInstanceAutomatedBackupsArn`` property, don't specify this property. The value is inherited from the source DB instance automated backup. \n If you specify ``DBSnapshotIdentifier`` property, don't specify this property. The value is inherited from the snapshot.\n *Amazon Aurora* \n Not applicable. The encryption for DB instances is managed by the DB cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" }, - "CACertificateIdentifier": { - "description": "The identifier of the CA certificate for this DB instance.\n For more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide*.", + "StorageType": { "type": "string", - "markdownDescription": "The identifier of the CA certificate for this DB instance.\n For more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The storage type to associate with the DB instance.\n If you specify ``io1``, ``io2``, or ``gp3``, you must also include a value for the ``Iops`` parameter.\n This setting doesn't apply to Amazon Aurora DB instances. Storage is managed by the DB cluster.\n Valid Values: ``gp2 | gp3 | io1 | io2 | standard`` \n Default: ``io1``, if the ``Iops`` parameter is specified. Otherwise, ``gp2``.", + "markdownDescription": "The storage type to associate with the DB instance.\n If you specify ``io1``, ``io2``, or ``gp3``, you must also include a value for the ``Iops`` parameter.\n This setting doesn't apply to Amazon Aurora DB instances. Storage is managed by the DB cluster.\n Valid Values: ``gp2 | gp3 | io1 | io2 | standard`` \n Default: ``io1``, if the ``Iops`` parameter is specified. Otherwise, ``gp2``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, - "ManageMasterUserPassword": { - "description": "Specifies whether to manage the master user password with AWS Secrets Manager.\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.* \n Constraints:\n + Can't manage the master user password with AWS Secrets Manager if ``MasterUserPassword`` is specified.", - "type": "boolean", - "markdownDescription": "Specifies whether to manage the master user password with AWS Secrets Manager.\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.* \n Constraints:\n + Can't manage the master user password with AWS Secrets Manager if ``MasterUserPassword`` is specified.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "StorageThroughput": { + "type": "integer", + "description": "Specifies the storage throughput value for the DB instance. This setting applies only to the ``gp3`` storage type. \n This setting doesn't apply to RDS Custom or Amazon Aurora.", + "markdownDescription": "Specifies the storage throughput value for the DB instance. This setting applies only to the ``gp3`` storage type. \n This setting doesn't apply to RDS Custom or Amazon Aurora.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "SourceDbiResourceId": { - "description": "The resource ID of the source DB instance from which to restore.", + "Tags": { + "type": "array", + "insertionOrder": false, + "uniqueItems": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "description": "An optional array of key-value pairs to apply to this DB instance.", + "markdownDescription": "An optional array of key-value pairs to apply to this DB instance.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "TdeCredentialArn": { "type": "string", - "markdownDescription": "The resource ID of the source DB instance from which to restore.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DomainAuthSecretArn": { - "description": "The ARN for the Secrets Manager secret with the credentials for the user joining the domain.\n Example: ``arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456``", + "TdeCredentialPassword": { "type": "string", - "markdownDescription": "The ARN for the Secrets Manager secret with the credentials for the user joining the domain.\n Example: ``arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "AutomaticBackupReplicationRegion": { - "description": "The destination region for the backup replication of the DB instance. For more info, see [Replicating automated backups to another Region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html) in the *Amazon RDS User Guide*.", + "Timezone": { "type": "string", - "markdownDescription": "The destination region for the backup replication of the DB instance. For more info, see [Replicating automated backups to another Region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html) in the *Amazon RDS User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The time zone of the DB instance. The time zone parameter is currently supported only by [RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-time-zone) and [RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone).", + "markdownDescription": "The time zone of the DB instance. The time zone parameter is currently supported only by [RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-time-zone) and [RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone).\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean", + "description": "Specifies whether the DB instance class of the DB instance uses its default processor features.\n This setting doesn't apply to RDS Custom DB instances.", + "markdownDescription": "Specifies whether the DB instance class of the DB instance uses its default processor features.\n This setting doesn't apply to RDS Custom DB instances.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "UseLatestRestorableTime": { + "type": "boolean", + "description": "Specifies whether the DB instance is restored from the latest backup time. By default, the DB instance isn't restored from the latest backup time.\n Constraints:\n + Can't be specified if the ``RestoreTime`` parameter is provided.", + "markdownDescription": "Specifies whether the DB instance is restored from the latest backup time. By default, the DB instance isn't restored from the latest backup time.\n Constraints:\n + Can't be specified if the ``RestoreTime`` parameter is provided.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Some interruptions" }, "VPCSecurityGroups": { - "uniqueItems": true, - "description": "A list of the VPC security group IDs to assign to the DB instance. The list can include both the physical IDs of existing VPC security groups and references to [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html) resources created in the template.\n If you plan to update the resource, don't specify VPC security groups in a shared VPC.\n If you set ``VPCSecurityGroups``, you must not set [DBSecurityGroups](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups), and vice versa.\n You can migrate a DB instance in your stack from an RDS DB security group to a VPC security group, but keep the following in mind:\n + You can't revert to using an RDS security group after you establish a VPC security group membership.\n + When you migrate your DB instance to VPC security groups, if your stack update rolls back because the DB instance update fails or because an update fails in another AWS CloudFormation resource, the rollback fails because it can't revert to an RDS security group.\n + To use the properties that are available when you use a VPC security group, you must recreate the DB instance. If you don't, AWS CloudFormation submits only the property values that are listed in the [DBSecurityGroups](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) property.\n \n To avoid this situation, migrate your DB instance to using VPC security groups only when that is the only change in your stack template. \n *Amazon Aurora* \n Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", "type": "array", + "uniqueItems": true, "items": { - "relationshipRef": { - "typeName": "AWS::EC2::SecurityGroup", - "propertyPath": "/properties/GroupId" - }, "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "description": "A list of the VPC security group IDs to assign to the DB instance. The list can include both the physical IDs of existing VPC security groups and references to [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html) resources created in the template.\n If you plan to update the resource, don't specify VPC security groups in a shared VPC.\n If you set ``VPCSecurityGroups``, you must not set [DBSecurityGroups](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups), and vice versa.\n You can migrate a DB instance in your stack from an RDS DB security group to a VPC security group, but keep the following in mind:\n + You can't revert to using an RDS security group after you establish a VPC security group membership.\n + When you migrate your DB instance to VPC security groups, if your stack update rolls back because the DB instance update fails or because an update fails in another AWS CloudFormation resource, the rollback fails because it can't revert to an RDS security group.\n + To use the properties that are available when you use a VPC security group, you must recreate the DB instance. If you don't, AWS CloudFormation submits only the property values that are listed in the [DBSecurityGroups](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) property.\n \n To avoid this situation, migrate your DB instance to using VPC security groups only when that is the only change in your stack template. \n *Amazon Aurora* \n Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", "markdownDescription": "A list of the VPC security group IDs to assign to the DB instance. The list can include both the physical IDs of existing VPC security groups and references to [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html) resources created in the template.\n If you plan to update the resource, don't specify VPC security groups in a shared VPC.\n If you set ``VPCSecurityGroups``, you must not set [DBSecurityGroups](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups), and vice versa.\n You can migrate a DB instance in your stack from an RDS DB security group to a VPC security group, but keep the following in mind:\n + You can't revert to using an RDS security group after you establish a VPC security group membership.\n + When you migrate your DB instance to VPC security groups, if your stack update rolls back because the DB instance update fails or because an update fails in another AWS CloudFormation resource, the rollback fails because it can't revert to an RDS security group.\n + To use the properties that are available when you use a VPC security group, you must recreate the DB instance. If you don't, AWS CloudFormation submits only the property values that are listed in the [DBSecurityGroups](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) property.\n \n To avoid this situation, migrate your DB instance to using VPC security groups only when that is the only change in your stack template. \n *Amazon Aurora* \n Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. If specified, the setting must match the DB cluster setting.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/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/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/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", + "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)", + "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)", + "/properties/StorageType": "$lowercase(StorageType)" + }, + "createOnlyProperties": [ + "/properties/CharacterSetName", + "/properties/CustomIAMInstanceProfile", + "/properties/DBClusterIdentifier", + "/properties/DBInstanceIdentifier", + "/properties/DBName", + "/properties/DBSubnetGroupName", + "/properties/KmsKeyId", + "/properties/MasterUsername", + "/properties/NcharCharacterSetName", + "/properties/Port", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "conditionalCreateOnlyProperties": [ + "/properties/AutoMinorVersionUpgrade", + "/properties/AvailabilityZone", + "/properties/BackupRetentionPeriod", + "/properties/DBClusterSnapshotIdentifier", + "/properties/DBParameterGroupName", + "/properties/DBSnapshotIdentifier", + "/properties/Engine", + "/properties/MultiAZ", + "/properties/PerformanceInsightsKMSKeyId", + "/properties/PreferredMaintenanceWindow", + "/properties/RestoreTime", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/StorageType", + "/properties/UseLatestRestorableTime" + ], + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/Port", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ], + "readOnlyProperties": [ + "/properties/Endpoint/Address", + "/properties/Endpoint/Port", + "/properties/Endpoint/HostedZoneId", + "/properties/DbiResourceId", + "/properties/DBInstanceArn", + "/properties/DBSystemId", + "/properties/MasterUserSecret/SecretArn", + "/properties/CertificateDetails/CAIdentifier", + "/properties/CertificateDetails/ValidTill" + ], + "primaryIdentifier": [ + "/properties/DBInstanceIdentifier" + ], + "handlers": { + "create": { + "permissions": [ + "ec2:DescribeAccountAttributes", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroups", + "ec2:DescribeSubnets", + "ec2:DescribeVpcAttribute", + "ec2:DescribeVpcs", + "iam:CreateServiceLinkedRole", + "iam:GetRole", + "iam:ListRoles", + "iam:PassRole", + "kms:CreateGrant", + "kms:DescribeKey", + "rds:AddRoleToDBInstance", + "rds:AddTagsToResource", + "rds:CreateDBInstance", + "rds:CreateDBInstanceReadReplica", + "rds:DescribeDBInstances", + "rds:DescribeDBClusters", + "rds:DescribeDBClusterSnapshots", + "rds:DescribeDBInstanceAutomatedBackups", + "rds:DescribeDBSnapshots", + "rds:DescribeEvents", + "rds:ModifyDBInstance", + "rds:RebootDBInstance", + "rds:RestoreDBInstanceFromDBSnapshot", + "rds:RestoreDBInstanceToPointInTime", + "rds:StartDBInstanceAutomatedBackupsReplication", + "secretsmanager:CreateSecret", + "secretsmanager:TagResource" + ], + "timeoutInMinutes": 2160 }, - "AllowMajorVersionUpgrade": { - "description": "A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.\n Constraints: Major version upgrades must be allowed when specifying a value for the ``EngineVersion`` parameter that is a different major version than the DB instance's current version.", - "type": "boolean", - "markdownDescription": "A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.\n Constraints: Major version upgrades must be allowed when specifying a value for the ``EngineVersion`` parameter that is a different major version than the DB instance's current version.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "DBName": { - "description": "The meaning of this parameter differs according to the database engine you use.\n If you specify the ``DBSnapshotIdentifier`` property, this property only applies to RDS for Oracle.\n *Amazon Aurora* \n Not applicable. The database name is managed by the DB cluster.\n *Db2* \n The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.\n Constraints:\n + Must contain 1 to 64 letters or numbers.\n + Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n + Can't be a word reserved by the specified database engine.\n \n *MySQL* \n The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n Constraints:\n + Must contain 1 to 64 letters or numbers.\n + Can't be a word reserved by the specified database engine\n \n *MariaDB* \n The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n Constraints:\n + Must contain 1 to 64 letters or numbers.\n + Can't be a word reserved by the specified database engine\n \n *PostgreSQL* \n The name of the database to create when the DB instance is created. If this parameter is not specified, the default ``postgres`` database is created in the DB instance.\n Constraints:\n + Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n + Must contain 1 to 63 characters.\n + Can't be a word reserved by the specified database engine\n \n *Oracle* \n The Oracle System ID (SID) of the created DB instance. If you specify ``null``, the default value ``ORCL`` is used. You can't specify the string NULL, or any other reserved word, for ``DBName``. \n Default: ``ORCL`` \n Constraints:\n + Can't be longer than 8 characters\n \n *SQL Server* \n Not applicable. Must be null.", - "type": "string", - "markdownDescription": "The meaning of this parameter differs according to the database engine you use.\n If you specify the ``DBSnapshotIdentifier`` property, this property only applies to RDS for Oracle.\n *Amazon Aurora* \n Not applicable. The database name is managed by the DB cluster.\n *Db2* \n The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.\n Constraints:\n + Must contain 1 to 64 letters or numbers.\n + Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n + Can't be a word reserved by the specified database engine.\n \n *MySQL* \n The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n Constraints:\n + Must contain 1 to 64 letters or numbers.\n + Can't be a word reserved by the specified database engine\n \n *MariaDB* \n The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n Constraints:\n + Must contain 1 to 64 letters or numbers.\n + Can't be a word reserved by the specified database engine\n \n *PostgreSQL* \n The name of the database to create when the DB instance is created. If this parameter is not specified, the default ``postgres`` database is created in the DB instance.\n Constraints:\n + Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n + Must contain 1 to 63 characters.\n + Can't be a word reserved by the specified database engine\n \n *Oracle* \n The Oracle System ID (SID) of the created DB instance. If you specify ``null``, the default value ``ORCL`` is used. You can't specify the string NULL, or any other reserved word, for ``DBName``. \n Default: ``ORCL`` \n Constraints:\n + Can't be longer than 8 characters\n \n *SQL Server* \n Not applicable. Must be null.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "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 This property is supported for RDS for MariaDB, RDS for MySQL, and RDS for PostgreSQL. For more information, see [IAM Database Authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon RDS User Guide.* \n *Amazon Aurora* \n Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.", - "type": "boolean", - "markdownDescription": "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 This property is supported for RDS for MariaDB, RDS for MySQL, and RDS for PostgreSQL. For more information, see [IAM Database Authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon RDS User Guide.* \n *Amazon Aurora* \n Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "BackupRetentionPeriod": { - "default": 1, - "description": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.\n *Amazon Aurora* \n Not applicable. The retention period for automated backups is managed by the DB cluster.\n Default: 1\n Constraints:\n + Must be a value from 0 to 35\n + Can't be set to 0 if the DB instance is a source to read replicas", - "type": "integer", - "minimum": 0, - "markdownDescription": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.\n *Amazon Aurora* \n Not applicable. The retention period for automated backups is managed by the DB cluster.\n Default: 1\n Constraints:\n + Must be a value from 0 to 35\n + Can't be set to 0 if the DB instance is a source to read replicas\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: Some interruptions" - }, - "CustomIAMInstanceProfile": { - "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.\n This setting is required for RDS Custom.\n Constraints:\n + The profile must exist in your account.\n + The profile must have an IAM role that Amazon EC2 has permissions to assume.\n + The instance profile name and the associated IAM role name must start with the prefix ``AWSRDSCustom``.\n \n For the list of permissions required for the IAM role, see [Configure IAM and your VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) in the *Amazon RDS User Guide*.", - "type": "string", - "markdownDescription": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.\n This setting is required for RDS Custom.\n Constraints:\n + The profile must exist in your account.\n + The profile must have an IAM role that Amazon EC2 has permissions to assume.\n + The instance profile name and the associated IAM role name must start with the prefix ``AWSRDSCustom``.\n \n For the list of permissions required for the IAM role, see [Configure IAM and your VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) in the *Amazon RDS User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "read": { + "permissions": [ + "ec2:DescribeAccountAttributes", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroups", + "ec2:DescribeSubnets", + "ec2:DescribeVpcAttribute", + "ec2:DescribeVpcs", + "rds:DescribeDBInstances" + ] }, - "DBSnapshotIdentifier": { - "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 + ``EnablePerformanceInsights`` \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.", - "type": "string", - "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 + ``EnablePerformanceInsights`` \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" + "update": { + "permissions": [ + "ec2:DescribeAccountAttributes", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroups", + "ec2:DescribeSubnets", + "ec2:DescribeVpcAttribute", + "ec2:DescribeVpcs", + "iam:CreateServiceLinkedRole", + "iam:GetRole", + "iam:ListRoles", + "iam:PassRole", + "kms:CreateGrant", + "kms:DescribeKey", + "rds:AddRoleToDBInstance", + "rds:AddTagsToResource", + "rds:DescribeDBClusters", + "rds:DescribeDBEngineVersions", + "rds:DescribeDBInstances", + "rds:DescribeDBParameterGroups", + "rds:DescribeEvents", + "rds:ModifyDBInstance", + "rds:PromoteReadReplica", + "rds:RebootDBInstance", + "rds:RemoveRoleFromDBInstance", + "rds:RemoveTagsFromResource", + "rds:StartDBInstanceAutomatedBackupsReplication", + "rds:StopDBInstanceAutomatedBackupsReplication", + "secretsmanager:CreateSecret", + "secretsmanager:TagResource" + ], + "timeoutInMinutes": 2160 }, - "EnableCloudwatchLogsExports": { - "description": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Relational Database Service User Guide*.\n *Amazon Aurora* \n Not applicable. CloudWatch Logs exports are managed by the DB cluster. \n *Db2* \n Valid values: ``diag.log``, ``notify.log`` \n *MariaDB* \n Valid values: ``audit``, ``error``, ``general``, ``slowquery`` \n *Microsoft SQL Server* \n Valid values: ``agent``, ``error`` \n *MySQL* \n Valid values: ``audit``, ``error``, ``general``, ``slowquery`` \n *Oracle* \n Valid values: ``alert``, ``audit``, ``listener``, ``trace``, ``oemagent`` \n *PostgreSQL* \n Valid values: ``postgresql``, ``upgrade``", - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Relational Database Service User Guide*.\n *Amazon Aurora* \n Not applicable. CloudWatch Logs exports are managed by the DB cluster. \n *Db2* \n Valid values: ``diag.log``, ``notify.log`` \n *MariaDB* \n Valid values: ``audit``, ``error``, ``general``, ``slowquery`` \n *Microsoft SQL Server* \n Valid values: ``agent``, ``error`` \n *MySQL* \n Valid values: ``audit``, ``error``, ``general``, ``slowquery`` \n *Oracle* \n Valid values: ``alert``, ``audit``, ``listener``, ``trace``, ``oemagent`` \n *PostgreSQL* \n Valid values: ``postgresql``, ``upgrade``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "delete": { + "permissions": [ + "rds:CreateDBSnapshot", + "rds:DeleteDBInstance", + "rds:DescribeDBInstances" + ], + "timeoutInMinutes": 2160 }, - "UseDefaultProcessorFeatures": { - "description": "Specifies whether the DB instance class of the DB instance uses its default processor features.\n This setting doesn't apply to RDS Custom DB instances.", - "type": "boolean", - "markdownDescription": "Specifies whether the DB instance class of the DB instance uses its default processor features.\n This setting doesn't apply to RDS Custom DB instances.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "list": { + "permissions": [ + "rds:DescribeDBInstances" + ] } }, "attributes": { - "DBSystemId": { - "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.", + "DBInstanceArn": { "type": "string", - "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" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DbiResourceId": { - "description": "", "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DBInstanceArn": { - "description": "", + "DBSystemId": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "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-dbparametergroup.json b/server/schema/resources/aws-rds-dbparametergroup.json index 7d29d00c..8e8a26dd 100644 --- a/server/schema/resources/aws-rds-dbparametergroup.json +++ b/server/schema/resources/aws-rds-dbparametergroup.json @@ -5,7 +5,7 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", "definitions": { "Tag": { - "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.*", + "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": { @@ -27,7 +27,7 @@ "Key" ], "additionalProperties": false, - "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.*\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": { diff --git a/server/schema/resources/aws-rds-dbsubnetgroup.json b/server/schema/resources/aws-rds-dbsubnetgroup.json index eb8ae044..5b9e3669 100644 --- a/server/schema/resources/aws-rds-dbsubnetgroup.json +++ b/server/schema/resources/aws-rds-dbsubnetgroup.json @@ -11,7 +11,7 @@ "DBSubnetGroupName": { "type": "string", "description": "The name for the DB subnet group. This value is stored as a lowercase string.\n Constraints: Must contain no more than 255 lowercase alphanumeric characters or hyphens. Must not be \"Default\".\n Example: ``mysubnetgroup``", - "markdownDescription": "The name for the DB subnet group. This value is stored as a lowercase string.\n Constraints: Must contain no more than 255 lowercase alphanumeric characters or hyphens. Must not be \"Default\".\n Example: ``mysubnetgroup``\n\n---\n\nRequired: No \nType: String \nPattern: ^(?!default$)[a-zA-Z]{1}[a-zA-Z0-9-_\\.\\s]{0,254}$ \nUpdate requires: Replacement" + "markdownDescription": "The name for the DB subnet group. This value is stored as a lowercase string.\n Constraints: Must contain no more than 255 lowercase alphanumeric characters or hyphens. Must not be \"Default\".\n Example: ``mysubnetgroup``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "SubnetIds": { "type": "array", @@ -37,7 +37,7 @@ }, "definitions": { "Tag": { - "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.*", + "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", "additionalProperties": false, "properties": { @@ -59,7 +59,7 @@ "required": [ "Key" ], - "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.*\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" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-rds-eventsubscription.json b/server/schema/resources/aws-rds-eventsubscription.json index 018ff6ee..0c7a7dcc 100644 --- a/server/schema/resources/aws-rds-eventsubscription.json +++ b/server/schema/resources/aws-rds-eventsubscription.json @@ -1,37 +1,37 @@ { "typeName": "AWS::RDS::EventSubscription", - "description": "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 in the Amazon RDS User Guide.", + "description": "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*.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", "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" } }, "additionalProperties": false, "required": [ "Key" ], - "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": { "Tags": { - "description": "An array of key-value pairs to apply to this resource.", + "description": "An optional array of key-value pairs to apply to this subscription.", "type": "array", "maxItems": 50, "uniqueItems": false, @@ -39,37 +39,37 @@ "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": "An optional array of key-value pairs to apply to this subscription.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "SubscriptionName": { - "description": "The name of the subscription.", + "description": "The name of the subscription.\n Constraints: The name must be less than 255 characters.", "type": "string", "maxLength": 255, - "markdownDescription": "The name of the subscription.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: Replacement" + "markdownDescription": "The name of the subscription.\n Constraints: The name must be less than 255 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: Replacement" }, "Enabled": { - "description": "A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.", + "description": "Specifies whether to activate the subscription. If the event notification subscription isn't activated, the subscription is created but not active.", "type": "boolean", "default": true, - "markdownDescription": "A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Specifies whether to activate the subscription. If the event notification subscription isn't activated, the subscription is created but not active.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "EventCategories": { - "description": "A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.", + "description": "A list of event categories for a particular source type (``SourceType``) that you want to subscribe to. You can see a list of the categories for a given source type in the \"Amazon RDS event categories and event messages\" section of the [Amazon RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html) or the [Amazon Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html). You can also see this list by using the ``DescribeEventCategories`` operation.", "type": "array", "uniqueItems": true, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of event categories for a particular source type (``SourceType``) that you want to subscribe to. You can see a list of the categories for a given source type in the \"Amazon RDS event categories and event messages\" section of the [Amazon RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html) or the [Amazon Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html). You can also see this list by using the ``DescribeEventCategories`` operation.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "SnsTopicArn": { - "description": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.", + "description": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. SNS automatically creates the ARN when you create a topic and subscribe to it.\n RDS doesn't support FIFO (first in, first out) topics. For more information, see [Message ordering and deduplication (FIFO topics)](https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html) in the *Amazon Simple Notification Service Developer Guide*.", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. SNS automatically creates the ARN when you create a topic and subscribe to it.\n RDS doesn't support FIFO (first in, first out) topics. For more information, see [Message ordering and deduplication (FIFO topics)](https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html) in the *Amazon Simple Notification Service Developer Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "SourceIds": { - "description": "The list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it cannot end with a hyphen or contain two consecutive hyphens.", + "description": "The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens. It can't end with a hyphen or contain two consecutive hyphens.\n Constraints:\n + If a ``SourceIds`` value is supplied, ``SourceType`` must also be provided.\n + If the source type is a DB instance, a ``DBInstanceIdentifier`` value must be supplied.\n + If the source type is a DB cluster, a ``DBClusterIdentifier`` value must be supplied.\n + If the source type is a DB parameter group, a ``DBParameterGroupName`` value must be supplied.\n + If the source type is a DB security group, a ``DBSecurityGroupName`` value must be supplied.\n + If the source type is a DB snapshot, a ``DBSnapshotIdentifier`` value must be supplied.\n + If the source type is a DB cluster snapshot, a ``DBClusterSnapshotIdentifier`` value must be supplied.", "type": "array", "uniqueItems": true, "insertionOrder": false, @@ -77,12 +77,12 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "The list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it cannot end with a hyphen or contain two consecutive hyphens.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens. It can't end with a hyphen or contain two consecutive hyphens.\n Constraints:\n + If a ``SourceIds`` value is supplied, ``SourceType`` must also be provided.\n + If the source type is a DB instance, a ``DBInstanceIdentifier`` value must be supplied.\n + If the source type is a DB cluster, a ``DBClusterIdentifier`` value must be supplied.\n + If the source type is a DB parameter group, a ``DBParameterGroupName`` value must be supplied.\n + If the source type is a DB security group, a ``DBSecurityGroupName`` value must be supplied.\n + If the source type is a DB snapshot, a ``DBSnapshotIdentifier`` value must be supplied.\n + If the source type is a DB cluster snapshot, a ``DBClusterSnapshotIdentifier`` value must be supplied.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "SourceType": { - "description": "The type of source that will be generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned.", + "description": "The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, set this parameter to ``db-instance``. If this value isn't specified, all events are returned.\n Valid values: ``db-instance`` | ``db-cluster`` | ``db-parameter-group`` | ``db-security-group`` | ``db-snapshot`` | ``db-cluster-snapshot``", "type": "string", - "markdownDescription": "The type of source that will be generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, set this parameter to ``db-instance``. If this value isn't specified, all events are returned.\n Valid values: ``db-instance`` | ``db-cluster`` | ``db-parameter-group`` | ``db-security-group`` | ``db-snapshot`` | ``db-cluster-snapshot``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-rds-globalcluster.json b/server/schema/resources/aws-rds-globalcluster.json index 7651156e..87cded20 100644 --- a/server/schema/resources/aws-rds-globalcluster.json +++ b/server/schema/resources/aws-rds-globalcluster.json @@ -13,6 +13,11 @@ ], "markdownDescription": "The name of the database engine to be used for this DB cluster. Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for MySQL 5.7-compatible Aurora).\nIf you specify the SourceDBClusterIdentifier property, don't specify this property. The value is inherited from the cluster.\n\n---\n\nRequired: Conditional \nType: String \nAllowed Values: aurora | aurora-mysql | aurora-postgresql \nUpdate requires: Replacement" }, + "EngineLifecycleSupport": { + "description": "The life cycle type of the global cluster. You can use this setting to enroll your global cluster into Amazon RDS Extended Support.", + "type": "string", + "markdownDescription": "The life cycle type of the global cluster. You can use this setting to enroll your global cluster into Amazon RDS Extended Support.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "EngineVersion": { "description": "The version number of the database engine to use. If you specify the SourceDBClusterIdentifier property, don't specify this property. The value is inherited from the cluster.", "type": "string", diff --git a/server/schema/resources/aws-rds-optiongroup.json b/server/schema/resources/aws-rds-optiongroup.json index a51efe9b..c7871922 100644 --- a/server/schema/resources/aws-rds-optiongroup.json +++ b/server/schema/resources/aws-rds-optiongroup.json @@ -1,10 +1,10 @@ { "typeName": "AWS::RDS::OptionGroup", - "description": "The AWS::RDS::OptionGroup resource creates an option group, to enable and configure features that are specific to a particular DB engine.", + "description": "The ``AWS::RDS::OptionGroup`` resource creates or updates an option group, to enable and configure features that are specific to a particular DB engine.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", "definitions": { "OptionConfiguration": { - "description": "The OptionConfiguration property type specifies an individual option, and its settings, within an AWS::RDS::OptionGroup resource.", + "description": "The ``OptionConfiguration`` property type specifies an individual option, and its settings, within an ``AWS::RDS::OptionGroup`` resource.", "type": "object", "properties": { "DBSecurityGroupMemberships": { @@ -58,10 +58,10 @@ "required": [ "OptionName" ], - "markdownDescription": "The OptionConfiguration property type specifies an individual option, and its settings, within an AWS::RDS::OptionGroup resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The ``OptionConfiguration`` property type specifies an individual option, and its settings, within an ``AWS::RDS::OptionGroup`` resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "OptionSetting": { - "description": "The OptionSetting property type specifies the value for an option within an OptionSetting property.", + "description": "The ``OptionSetting`` property type specifies the value for an option within an ``OptionSetting`` property.", "type": "object", "properties": { "Name": { @@ -76,73 +76,73 @@ } }, "additionalProperties": false, - "markdownDescription": "The OptionSetting property type specifies the value for an option within an OptionSetting property.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The ``OptionSetting`` property type specifies the value for an option within an ``OptionSetting`` property.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "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", "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 -. ", + "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" ], - "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": { "OptionGroupName": { - "description": "Specifies the name of the option group.", + "description": "The name of the option group to be created.\n Constraints:\n + Must be 1 to 255 letters, numbers, or hyphens\n + First character must be a letter\n + Can't end with a hyphen or contain two consecutive hyphens\n \n Example: ``myoptiongroup`` \n If you don't specify a value for ``OptionGroupName`` property, a name is automatically created for the option group.\n This value is stored as a lowercase string.", "type": "string", - "markdownDescription": "Specifies the name of the option group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The name of the option group to be created.\n Constraints:\n + Must be 1 to 255 letters, numbers, or hyphens\n + First character must be a letter\n + Can't end with a hyphen or contain two consecutive hyphens\n \n Example: ``myoptiongroup`` \n If you don't specify a value for ``OptionGroupName`` property, a name is automatically created for the option group.\n This value is stored as a lowercase string.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "OptionGroupDescription": { - "description": "Provides a description of the option group.", + "description": "The description of the option group.", "type": "string", - "markdownDescription": "Provides a description of the option group.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The description of the option group.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "EngineName": { - "description": "Indicates the name of the engine that this option group can be applied to.", + "description": "Specifies the name of the engine that this option group should be associated with.\n Valid Values: \n + ``mariadb`` \n + ``mysql`` \n + ``oracle-ee`` \n + ``oracle-ee-cdb`` \n + ``oracle-se2`` \n + ``oracle-se2-cdb`` \n + ``postgres`` \n + ``sqlserver-ee`` \n + ``sqlserver-se`` \n + ``sqlserver-ex`` \n + ``sqlserver-web``", "type": "string", - "markdownDescription": "Indicates the name of the engine that this option group can be applied to.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "Specifies the name of the engine that this option group should be associated with.\n Valid Values: \n + ``mariadb`` \n + ``mysql`` \n + ``oracle-ee`` \n + ``oracle-ee-cdb`` \n + ``oracle-se2`` \n + ``oracle-se2-cdb`` \n + ``postgres`` \n + ``sqlserver-ee`` \n + ``sqlserver-se`` \n + ``sqlserver-ex`` \n + ``sqlserver-web``\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "MajorEngineVersion": { - "description": "Indicates the major engine version associated with this option group.", + "description": "Specifies the major version of the engine that this option group should be associated with.", "type": "string", - "markdownDescription": "Indicates the major engine version associated with this option group.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "Specifies the major version of the engine that this option group should be associated with.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "OptionConfigurations": { - "description": "Indicates what options are available in the option group.", + "description": "A list of options and the settings for each option.", "type": "array", "arrayType": "AttributeList", "insertionOrder": false, "items": { "$ref": "#/definitions/OptionConfiguration" }, - "markdownDescription": "Indicates what options are available in the option group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of options and the settings for each option.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Tags": { "type": "array", - "description": "An array of key-value pairs to apply to this resource.", + "description": "An optional array of key-value pairs to apply to this option group.", "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": "An optional array of key-value pairs to apply to this option group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-redshift-cluster.json b/server/schema/resources/aws-redshift-cluster.json index ce745f94..5c58b679 100644 --- a/server/schema/resources/aws-redshift-cluster.json +++ b/server/schema/resources/aws-redshift-cluster.json @@ -1,39 +1,164 @@ { + "tagging": { + "taggable": true + }, "typeName": "AWS::Redshift::Cluster", + "readOnlyProperties": [ + "/properties/DeferMaintenanceIdentifier", + "/properties/Endpoint/Port", + "/properties/Endpoint/Address", + "/properties/ClusterNamespaceArn", + "/properties/MasterPasswordSecretArn" + ], "description": "An example resource schema demonstrating some basic constructs and validation rules.", + "createOnlyProperties": [ + "/properties/ClusterIdentifier", + "/properties/OwnerAccount", + "/properties/SnapshotIdentifier", + "/properties/DBName", + "/properties/SnapshotClusterIdentifier", + "/properties/ClusterSubnetGroupName", + "/properties/MasterUsername" + ], + "primaryIdentifier": [ + "/properties/ClusterIdentifier" + ], + "required": [ + "NodeType", + "MasterUsername", + "DBName", + "ClusterType" + ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "handlers": { + "read": { + "permissions": [ + "redshift:DescribeClusters", + "redshift:DescribeLoggingStatus", + "redshift:DescribeSnapshotCopyGrant", + "redshift:DescribeClusterDbRevisions", + "redshift:DescribeTags", + "redshift:GetResourcePolicy" + ] + }, + "create": { + "permissions": [ + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "redshift:DescribeClusters", + "redshift:CreateCluster", + "redshift:RestoreFromClusterSnapshot", + "redshift:EnableLogging", + "redshift:DescribeLoggingStatus", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:GetResourcePolicy", + "redshift:PutResourcePolicy", + "redshift:ModifyClusterMaintenance", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeAddresses", + "ec2:AssociateAddress", + "ec2:CreateNetworkInterface", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:CreateVpcEndpoint", + "ec2:DescribeVpcEndpoints", + "ec2:ModifyVpcEndpoint", + "ec2:AllocateAddress", + "ec2:CreateSecurityGroup", + "ec2:DescribeVpcAttribute", + "ec2:DescribeSecurityGroups", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroupRules", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeNetworkAcls", + "ec2:DescribeRouteTables", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + }, + "update": { + "permissions": [ + "iam:PassRole", + "redshift:DescribeClusters", + "redshift:ModifyCluster", + "redshift:ModifyClusterIamRoles", + "redshift:EnableLogging", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags", + "redshift:DisableLogging", + "redshift:DescribeLoggingStatus", + "redshift:RebootCluster", + "redshift:EnableSnapshotCopy", + "redshift:DisableSnapshotCopy", + "redshift:ModifySnapshotCopyRetentionPeriod", + "redshift:ModifyAquaConfiguration", + "redshift:ResizeCluster", + "redshift:ModifyClusterMaintenance", + "redshift:DescribeClusterDbRevisions", + "redshift:ModifyClusterDbRevisions", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:RotateEncryptionKey", + "redshift:FailoverPrimaryCompute", + "redshift:PutResourcePolicy", + "redshift:GetResourcePolicy", + "redshift:DeleteResourcePolicy", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters" + ] + }, + "delete": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters", + "redshift:DeleteCluster" + ], + "timeoutInMinutes": 2160 + } + }, + "writeOnlyProperties": [ + "/properties/MasterUserPassword", + "/properties/Classic", + "/properties/SnapshotIdentifier", + "/properties/DeferMaintenance", + "/properties/DeferMaintenanceDuration", + "/properties/ManageMasterPassword" + ], + "additionalProperties": false, "definitions": { - "Tag": { - "description": "A key-value pair to associate with a resource.", - "type": "object", + "Endpoint": { "additionalProperties": false, + "type": "object", "properties": { - "Key": { + "Address": { "type": "string", - "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 -.", - "minLength": 1, - "maxLength": 127, - "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 \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Value": { + "Port": { "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, - "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": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "required": [ - "Value", - "Key" - ], - "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LoggingProperties": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "BucketName": { + "relationshipRef": { + "typeName": "AWS::S3::Bucket", + "propertyPath": "/properties/BucketName" + }, "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, @@ -44,225 +169,241 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Endpoint": { - "type": "object", + "Tag": { + "description": "A key-value pair to associate with a resource.", "additionalProperties": false, + "type": "object", "properties": { - "Port": { + "Value": { + "minLength": 1, + "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": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "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" }, - "Address": { + "Key": { + "minLength": 1, + "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": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 127, + "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 \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "Value", + "Key" + ], + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { - "ClusterIdentifier": { - "description": "A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. All alphabetical characters must be lower case, no hypens at the end, no two consecutive hyphens. Cluster name should be unique for all clusters within an AWS account", + "RevisionTarget": { + "description": "The identifier of the database revision. You can retrieve this value from the response to the DescribeClusterDbRevisions request.", "type": "string", - "maxLength": 63, - "markdownDescription": "A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. All alphabetical characters must be lower case, no hypens at the end, no two consecutive hyphens. Cluster name should be unique for all clusters within an AWS account\n\n---\n\nRequired: No \nType: String \nMaximum Length: 63 \nUpdate requires: Replacement" + "markdownDescription": "The identifier of the database revision. You can retrieve this value from the response to the DescribeClusterDbRevisions request.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "MasterUsername": { - "description": "The user name associated with the master user account for the cluster that is being created. The user name can't be PUBLIC and first character must be a letter.", - "type": "string", - "maxLength": 128, - "markdownDescription": "The user name associated with the master user account for the cluster that is being created. The user name can't be PUBLIC and first character must be a letter.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: Replacement" + "AutomatedSnapshotRetentionPeriod": { + "description": "The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Default value is 1", + "type": "integer", + "markdownDescription": "The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Default value is 1\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "MasterUserPassword": { - "description": "The password associated with the master user account for the cluster that is being created. You can't use MasterUserPassword if ManageMasterPassword is true. Password must be between 8 and 64 characters in length, should have at least one uppercase letter.Must contain at least one lowercase letter.Must contain one number.Can be any printable ASCII character.", - "type": "string", - "maxLength": 64, - "markdownDescription": "The password associated with the master user account for the cluster that is being created. You can't use MasterUserPassword if ManageMasterPassword is true. Password must be between 8 and 64 characters in length, should have at least one uppercase letter.Must contain at least one lowercase letter.Must contain one number.Can be any printable ASCII character.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 64 \nUpdate requires: No interruption" + "Encrypted": { + "description": "If true, the data in the cluster is encrypted at rest.", + "type": "boolean", + "markdownDescription": "If true, the data in the cluster is encrypted at rest.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "NodeType": { - "description": "The node type to be provisioned for the cluster.Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge | ra3.4xlarge | ra3.16xlarge", + "Port": { + "description": "The port number on which the cluster accepts incoming connections. The cluster is accessible only via the JDBC and ODBC connection strings", + "type": "integer", + "markdownDescription": "The port number on which the cluster accepts incoming connections. The cluster is accessible only via the JDBC and ODBC connection strings\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "NumberOfNodes": { + "description": "The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node.", + "type": "integer", + "markdownDescription": "The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "DestinationRegion": { + "description": "The destination AWS Region that you want to copy snapshots to. Constraints: Must be the name of a valid AWS Region. For more information, see Regions and Endpoints in the Amazon Web Services [https://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region] General Reference", "type": "string", - "markdownDescription": "The node type to be provisioned for the cluster.Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge | ra3.4xlarge | ra3.16xlarge\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The destination AWS Region that you want to copy snapshots to. Constraints: Must be the name of a valid AWS Region. For more information, see Regions and Endpoints in the Amazon Web Services [https://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region] General Reference\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AllowVersionUpgrade": { "description": "Major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default value is True", "type": "boolean", "markdownDescription": "Major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default value is True\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "AutomatedSnapshotRetentionPeriod": { - "description": "The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Default value is 1", - "type": "integer", - "markdownDescription": "The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Default value is 1\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "AvailabilityZone": { - "description": "The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. Default: A random, system-chosen Availability Zone in the region that is specified by the endpoint", - "type": "string", - "markdownDescription": "The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. Default: A random, system-chosen Availability Zone in the region that is specified by the endpoint\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "Endpoint": { + "$ref": "#/definitions/Endpoint" }, - "ClusterParameterGroupName": { - "description": "The name of the parameter group to be associated with this cluster.", - "type": "string", - "maxLength": 255, - "markdownDescription": "The name of the parameter group to be associated with this cluster.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" + "NamespaceResourcePolicy": { + "description": "The namespace resource policy document that will be attached to a Redshift cluster.", + "type": "object", + "markdownDescription": "The namespace resource policy document that will be attached to a Redshift cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ClusterType": { - "description": "The type of the cluster. When cluster type is specified as single-node, the NumberOfNodes parameter is not required and if multi-node, the NumberOfNodes parameter is required", + "MaintenanceTrackName": { + "description": "The name for the maintenance track that you want to assign for the cluster. This name change is asynchronous. The new track name stays in the PendingModifiedValues for the cluster until the next maintenance window. When the maintenance track changes, the cluster is switched to the latest cluster release available for the maintenance track. At this point, the maintenance track name is applied.", "type": "string", - "markdownDescription": "The type of the cluster. When cluster type is specified as single-node, the NumberOfNodes parameter is not required and if multi-node, the NumberOfNodes parameter is required\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name for the maintenance track that you want to assign for the cluster. This name change is asynchronous. The new track name stays in the PendingModifiedValues for the cluster until the next maintenance window. When the maintenance track changes, the cluster is switched to the latest cluster release available for the maintenance track. At this point, the maintenance track name is applied.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ClusterVersion": { - "description": "The version of the Amazon Redshift engine software that you want to deploy on the cluster.The version selected runs on all the nodes in the cluster.", + "OwnerAccount": { "type": "string", - "markdownDescription": "The version of the Amazon Redshift engine software that you want to deploy on the cluster.The version selected runs on all the nodes in the cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "ClusterSubnetGroupName": { - "description": "The name of a cluster subnet group to be associated with this cluster.", - "type": "string", - "markdownDescription": "The name of a cluster subnet group to be associated with this cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "DBName": { - "description": "The name of the first database to be created when the cluster is created. To create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database.", - "type": "string", - "markdownDescription": "The name of the first database to be created when the cluster is created. To create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "ElasticIp": { - "description": "The Elastic IP (EIP) address for the cluster.", - "type": "string", - "markdownDescription": "The Elastic IP (EIP) address for the cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Encrypted": { - "description": "If true, the data in the cluster is encrypted at rest.", + "MultiAZ": { + "description": "A boolean indicating if the redshift cluster is multi-az or not. If you don't provide this parameter or set the value to false, the redshift cluster will be single-az.", "type": "boolean", - "markdownDescription": "If true, the data in the cluster is encrypted at rest.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "A boolean indicating if the redshift cluster is multi-az or not. If you don't provide this parameter or set the value to false, the redshift cluster will be single-az.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "HsmClientCertificateIdentifier": { - "description": "Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM", - "type": "string", - "markdownDescription": "Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "Tags": { + "maxItems": 50, + "uniqueItems": false, + "description": "The list of tags for the cluster parameter group.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The list of tags for the cluster parameter group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "HsmConfigurationIdentifier": { - "description": "Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.", + "SnapshotClusterIdentifier": { + "description": "The name of the cluster the source snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.", "type": "string", - "markdownDescription": "Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the cluster the source snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "IamRoles": { + "maxItems": 50, + "description": "A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 50 IAM roles in a single request", + "insertionOrder": false, + "type": "array", + "items": { + "relationshipRef": { + "typeName": "AWS::IAM::Role", + "propertyPath": "/properties/Arn" + }, + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 50 IAM roles in a single request\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "KmsKeyId": { "description": "The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.", + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::KMS::Key", + "propertyPath": "/properties/Arn" + } + }, + { + "relationshipRef": { + "typeName": "AWS::KMS::Key", + "propertyPath": "/properties/KeyId" + } + } + ], "type": "string", "markdownDescription": "The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "NumberOfNodes": { - "description": "The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node.", - "type": "integer", - "markdownDescription": "The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "SnapshotCopyManual": { + "description": "Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots.", + "type": "boolean", + "markdownDescription": "Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "Port": { - "description": "The port number on which the cluster accepts incoming connections. The cluster is accessible only via the JDBC and ODBC connection strings", - "type": "integer", - "markdownDescription": "The port number on which the cluster accepts incoming connections. The cluster is accessible only via the JDBC and ODBC connection strings\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "ManageMasterPassword": { + "description": "A boolean indicating if the redshift cluster's admin user credentials is managed by Redshift or not. You can't use MasterUserPassword if ManageMasterPassword is true. If ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for the admin user account's password.", + "type": "boolean", + "markdownDescription": "A boolean indicating if the redshift cluster's admin user credentials is managed by Redshift or not. You can't use MasterUserPassword if ManageMasterPassword is true. If ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for the admin user account's password.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "PreferredMaintenanceWindow": { - "description": "The weekly time range (in UTC) during which automated cluster maintenance can occur.", + "AvailabilityZone": { + "description": "The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. Default: A random, system-chosen Availability Zone in the region that is specified by the endpoint", "type": "string", - "markdownDescription": "The weekly time range (in UTC) during which automated cluster maintenance can occur.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "PubliclyAccessible": { - "description": "If true, the cluster can be accessed from a public network.", - "type": "boolean", - "markdownDescription": "If true, the cluster can be accessed from a public network.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. Default: A random, system-chosen Availability Zone in the region that is specified by the endpoint\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ClusterSecurityGroups": { + "uniqueItems": false, "description": "A list of security groups to be associated with this cluster.", - "type": "array", "insertionOrder": false, - "uniqueItems": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "A list of security groups to be associated with this cluster.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "IamRoles": { - "description": "A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 50 IAM roles in a single request", "type": "array", - "insertionOrder": false, - "maxItems": 50, "items": { + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::EC2::SecurityGroup", + "propertyPath": "/properties/Id" + } + }, + { + "relationshipRef": { + "typeName": "AWS::Redshift::ClusterSecurityGroup", + "propertyPath": "/properties/Id" + } + } + ], "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 50 IAM roles in a single request\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Tags": { - "description": "The list of tags for the cluster parameter group.", - "type": "array", - "insertionOrder": false, - "maxItems": 50, - "uniqueItems": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The list of tags for the cluster parameter group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "VpcSecurityGroupIds": { - "description": "A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.", - "type": "array", - "insertionOrder": false, - "uniqueItems": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of security groups to be associated with this cluster.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "SnapshotClusterIdentifier": { - "description": "The name of the cluster the source snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.", + "ClusterIdentifier": { + "description": "A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. All alphabetical characters must be lower case, no hypens at the end, no two consecutive hyphens. Cluster name should be unique for all clusters within an AWS account", "type": "string", - "markdownDescription": "The name of the cluster the source snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "maxLength": 63, + "markdownDescription": "A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. All alphabetical characters must be lower case, no hypens at the end, no two consecutive hyphens. Cluster name should be unique for all clusters within an AWS account\n\n---\n\nRequired: No \nType: String \nMaximum Length: 63 \nUpdate requires: Replacement" }, - "SnapshotIdentifier": { - "description": "The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive.", + "MasterUserPassword": { + "description": "The password associated with the master user account for the cluster that is being created. You can't use MasterUserPassword if ManageMasterPassword is true. Password must be between 8 and 64 characters in length, should have at least one uppercase letter.Must contain at least one lowercase letter.Must contain one number.Can be any printable ASCII character.", "type": "string", - "markdownDescription": "The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "maxLength": 64, + "markdownDescription": "The password associated with the master user account for the cluster that is being created. You can't use MasterUserPassword if ManageMasterPassword is true. Password must be between 8 and 64 characters in length, should have at least one uppercase letter.Must contain at least one lowercase letter.Must contain one number.Can be any printable ASCII character.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 64 \nUpdate requires: No interruption" }, - "OwnerAccount": { + "ClusterSubnetGroupName": { + "description": "The name of a cluster subnet group to be associated with this cluster.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The name of a cluster subnet group to be associated with this cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "LoggingProperties": { "$ref": "#/definitions/LoggingProperties" }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" + "DeferMaintenance": { + "description": "A boolean indicating whether to enable the deferred maintenance window.", + "type": "boolean", + "markdownDescription": "A boolean indicating whether to enable the deferred maintenance window.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "DestinationRegion": { - "description": "The destination AWS Region that you want to copy snapshots to. Constraints: Must be the name of a valid AWS Region. For more information, see Regions and Endpoints in the Amazon Web Services [https://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region] General Reference", + "NodeType": { + "description": "The node type to be provisioned for the cluster.Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge | ra3.4xlarge | ra3.16xlarge", "type": "string", - "markdownDescription": "The destination AWS Region that you want to copy snapshots to. Constraints: Must be the name of a valid AWS Region. For more information, see Regions and Endpoints in the Amazon Web Services [https://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region] General Reference\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SnapshotCopyRetentionPeriod": { - "description": "The number of days to retain automated snapshots in the destination region after they are copied from the source region. \n\n Default is 7. \n\n Constraints: Must be at least 1 and no more than 35.", - "type": "integer", - "markdownDescription": "The number of days to retain automated snapshots in the destination region after they are copied from the source region. \n\n Default is 7. \n\n Constraints: Must be at least 1 and no more than 35.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The node type to be provisioned for the cluster.Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge | ra3.4xlarge | ra3.16xlarge\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "SnapshotCopyGrantName": { - "description": "The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.", + "MasterUsername": { + "description": "The user name associated with the master user account for the cluster that is being created. The user name can't be PUBLIC and first character must be a letter.", "type": "string", - "markdownDescription": "The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 128, + "markdownDescription": "The user name associated with the master user account for the cluster that is being created. The user name can't be PUBLIC and first character must be a letter.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: Replacement" + }, + "PubliclyAccessible": { + "description": "If true, the cluster can be accessed from a public network.", + "type": "boolean", + "markdownDescription": "If true, the cluster can be accessed from a public network.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "ManualSnapshotRetentionPeriod": { "description": "The number of days to retain newly copied snapshots in the destination AWS Region after they are copied from the source AWS Region. If the value is -1, the manual snapshot is retained indefinitely.\n\nThe value must be either -1 or an integer between 1 and 3,653.", "type": "integer", "markdownDescription": "The number of days to retain newly copied snapshots in the destination AWS Region after they are copied from the source AWS Region. If the value is -1, the manual snapshot is retained indefinitely.\n\nThe value must be either -1 or an integer between 1 and 3,653.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "SnapshotCopyManual": { - "description": "Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots.", - "type": "boolean", - "markdownDescription": "Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "ResourceAction": { + "description": "The Redshift operation to be performed. Resource Action supports pause-cluster, resume-cluster, failover-primary-compute APIs", + "type": "string", + "markdownDescription": "The Redshift operation to be performed. Resource Action supports pause-cluster, resume-cluster, failover-primary-compute APIs\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "AvailabilityZoneRelocation": { - "description": "The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster modification is complete.", - "type": "boolean", - "markdownDescription": "The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster modification is complete.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "HsmClientCertificateIdentifier": { + "description": "Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM", + "type": "string", + "markdownDescription": "Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ElasticIp": { + "description": "The Elastic IP (EIP) address for the cluster.", + "type": "string", + "markdownDescription": "The Elastic IP (EIP) address for the cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AvailabilityZoneRelocationStatus": { "description": "The availability zone relocation status of the cluster", @@ -274,220 +415,133 @@ "type": "string", "markdownDescription": "The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored. Possible values include the following.\n\nenabled - Use AQUA if it is available for the current Region and Amazon Redshift node type.\ndisabled - Don't use AQUA.\nauto - Amazon Redshift determines whether to use AQUA.\n\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Classic": { - "description": "A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to false , the resize type is elastic.", - "type": "boolean", - "markdownDescription": "A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to false , the resize type is elastic.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "SnapshotIdentifier": { + "description": "The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive.", + "type": "string", + "markdownDescription": "The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "EnhancedVpcRouting": { - "description": "An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.\n\nIf this option is true , enhanced VPC routing is enabled.\n\nDefault: false", + "AvailabilityZoneRelocation": { + "description": "The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster modification is complete.", "type": "boolean", - "markdownDescription": "An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.\n\nIf this option is true , enhanced VPC routing is enabled.\n\nDefault: false\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster modification is complete.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "MaintenanceTrackName": { - "description": "The name for the maintenance track that you want to assign for the cluster. This name change is asynchronous. The new track name stays in the PendingModifiedValues for the cluster until the next maintenance window. When the maintenance track changes, the cluster is switched to the latest cluster release available for the maintenance track. At this point, the maintenance track name is applied.", + "SnapshotCopyGrantName": { + "description": "The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.", "type": "string", - "markdownDescription": "The name for the maintenance track that you want to assign for the cluster. This name change is asynchronous. The new track name stays in the PendingModifiedValues for the cluster until the next maintenance window. When the maintenance track changes, the cluster is switched to the latest cluster release available for the maintenance track. At this point, the maintenance track name is applied.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DeferMaintenance": { - "description": "A boolean indicating whether to enable the deferred maintenance window.", + "EnhancedVpcRouting": { + "description": "An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.\n\nIf this option is true , enhanced VPC routing is enabled.\n\nDefault: false", "type": "boolean", - "markdownDescription": "A boolean indicating whether to enable the deferred maintenance window.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.\n\nIf this option is true , enhanced VPC routing is enabled.\n\nDefault: false\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "DeferMaintenanceStartTime": { - "description": "A timestamp indicating the start time for the deferred maintenance window.", + "ClusterParameterGroupName": { + "description": "The name of the parameter group to be associated with this cluster.", "type": "string", - "markdownDescription": "A timestamp indicating the start time for the deferred maintenance window.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 255, + "markdownDescription": "The name of the parameter group to be associated with this cluster.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" }, "DeferMaintenanceEndTime": { "description": "A timestamp indicating end time for the deferred maintenance window. If you specify an end time, you can't specify a duration.", "type": "string", "markdownDescription": "A timestamp indicating end time for the deferred maintenance window. If you specify an end time, you can't specify a duration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DeferMaintenanceDuration": { - "description": "An integer indicating the duration of the maintenance window in days. If you specify a duration, you can't specify an end time. The duration must be 45 days or less.", - "type": "integer", - "markdownDescription": "An integer indicating the duration of the maintenance window in days. If you specify a duration, you can't specify an end time. The duration must be 45 days or less.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "RotateEncryptionKey": { + "description": "A boolean indicating if we want to rotate Encryption Keys.", + "type": "boolean", + "markdownDescription": "A boolean indicating if we want to rotate Encryption Keys.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "RevisionTarget": { - "description": "The identifier of the database revision. You can retrieve this value from the response to the DescribeClusterDbRevisions request.", + "VpcSecurityGroupIds": { + "uniqueItems": false, + "description": "A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.", + "insertionOrder": false, + "type": "array", + "items": { + "relationshipRef": { + "typeName": "AWS::EC2::VPC", + "propertyPath": "/properties/VpcId" + }, + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ClusterVersion": { + "description": "The version of the Amazon Redshift engine software that you want to deploy on the cluster.The version selected runs on all the nodes in the cluster.", "type": "string", - "markdownDescription": "The identifier of the database revision. You can retrieve this value from the response to the DescribeClusterDbRevisions request.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The version of the Amazon Redshift engine software that you want to deploy on the cluster.The version selected runs on all the nodes in the cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ResourceAction": { - "description": "The Redshift operation to be performed. Resource Action supports pause-cluster, resume-cluster, failover-primary-compute APIs", + "HsmConfigurationIdentifier": { + "description": "Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.", "type": "string", - "markdownDescription": "The Redshift operation to be performed. Resource Action supports pause-cluster, resume-cluster, failover-primary-compute APIs\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "RotateEncryptionKey": { - "description": "A boolean indicating if we want to rotate Encryption Keys.", - "type": "boolean", - "markdownDescription": "A boolean indicating if we want to rotate Encryption Keys.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "PreferredMaintenanceWindow": { + "description": "The weekly time range (in UTC) during which automated cluster maintenance can occur.", + "type": "string", + "markdownDescription": "The weekly time range (in UTC) during which automated cluster maintenance can occur.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "MultiAZ": { - "description": "A boolean indicating if the redshift cluster is multi-az or not. If you don't provide this parameter or set the value to false, the redshift cluster will be single-az.", - "type": "boolean", - "markdownDescription": "A boolean indicating if the redshift cluster is multi-az or not. If you don't provide this parameter or set the value to false, the redshift cluster will be single-az.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "DeferMaintenanceStartTime": { + "description": "A timestamp indicating the start time for the deferred maintenance window.", + "type": "string", + "markdownDescription": "A timestamp indicating the start time for the deferred maintenance window.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "NamespaceResourcePolicy": { - "description": "The namespace resource policy document that will be attached to a Redshift cluster.", - "type": "object", - "markdownDescription": "The namespace resource policy document that will be attached to a Redshift cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "ClusterType": { + "description": "The type of the cluster. When cluster type is specified as single-node, the NumberOfNodes parameter is not required and if multi-node, the NumberOfNodes parameter is required", + "type": "string", + "markdownDescription": "The type of the cluster. When cluster type is specified as single-node, the NumberOfNodes parameter is not required and if multi-node, the NumberOfNodes parameter is required\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "ManageMasterPassword": { - "description": "A boolean indicating if the redshift cluster's admin user credentials is managed by Redshift or not. You can't use MasterUserPassword if ManageMasterPassword is true. If ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for the admin user account's password.", + "Classic": { + "description": "A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to false , the resize type is elastic.", "type": "boolean", - "markdownDescription": "A boolean indicating if the redshift cluster's admin user credentials is managed by Redshift or not. You can't use MasterUserPassword if ManageMasterPassword is true. If ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for the admin user account's password.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to false , the resize type is elastic.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "MasterPasswordSecretKmsKeyId": { "description": "The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin user credentials secret.", + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::KMS::Key", + "propertyPath": "/properties/Arn" + } + }, + { + "relationshipRef": { + "typeName": "AWS::KMS::Key", + "propertyPath": "/properties/KeyId" + } + } + ], "type": "string", "markdownDescription": "The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin user credentials secret.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "required": [ - "NodeType", - "MasterUsername", - "DBName", - "ClusterType" - ], - "primaryIdentifier": [ - "/properties/ClusterIdentifier" - ], - "readOnlyProperties": [ - "/properties/DeferMaintenanceIdentifier", - "/properties/Endpoint/Port", - "/properties/Endpoint/Address", - "/properties/ClusterNamespaceArn", - "/properties/MasterPasswordSecretArn" - ], - "createOnlyProperties": [ - "/properties/ClusterIdentifier", - "/properties/OwnerAccount", - "/properties/SnapshotIdentifier", - "/properties/DBName", - "/properties/SnapshotClusterIdentifier", - "/properties/ClusterSubnetGroupName", - "/properties/MasterUsername" - ], - "writeOnlyProperties": [ - "/properties/MasterUserPassword", - "/properties/Classic", - "/properties/SnapshotIdentifier", - "/properties/DeferMaintenance", - "/properties/DeferMaintenanceDuration", - "/properties/ManageMasterPassword" - ], - "tagging": { - "taggable": true - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "iam:CreateServiceLinkedRole", - "redshift:DescribeClusters", - "redshift:CreateCluster", - "redshift:RestoreFromClusterSnapshot", - "redshift:EnableLogging", - "redshift:DescribeLoggingStatus", - "redshift:CreateTags", - "redshift:DescribeTags", - "redshift:GetResourcePolicy", - "redshift:PutResourcePolicy", - "redshift:ModifyClusterMaintenance", - "ec2:DescribeVpcs", - "ec2:DescribeSubnets", - "ec2:DescribeNetworkInterfaces", - "ec2:DescribeAddresses", - "ec2:AssociateAddress", - "ec2:CreateNetworkInterface", - "ec2:ModifyNetworkInterfaceAttribute", - "ec2:CreateVpcEndpoint", - "ec2:DescribeVpcEndpoints", - "ec2:ModifyVpcEndpoint", - "ec2:AllocateAddress", - "ec2:CreateSecurityGroup", - "ec2:DescribeVpcAttribute", - "ec2:DescribeSecurityGroups", - "ec2:DescribeInternetGateways", - "ec2:DescribeSecurityGroupRules", - "ec2:DescribeAvailabilityZones", - "ec2:DescribeNetworkAcls", - "ec2:DescribeRouteTables", - "cloudwatch:PutMetricData" - ], - "timeoutInMinutes": 2160 }, - "read": { - "permissions": [ - "redshift:DescribeClusters", - "redshift:DescribeLoggingStatus", - "redshift:DescribeSnapshotCopyGrant", - "redshift:DescribeClusterDbRevisions", - "redshift:DescribeTags", - "redshift:GetResourcePolicy" - ] - }, - "update": { - "permissions": [ - "iam:PassRole", - "redshift:DescribeClusters", - "redshift:ModifyCluster", - "redshift:ModifyClusterIamRoles", - "redshift:EnableLogging", - "redshift:CreateTags", - "redshift:DeleteTags", - "redshift:DescribeTags", - "redshift:DisableLogging", - "redshift:DescribeLoggingStatus", - "redshift:RebootCluster", - "redshift:EnableSnapshotCopy", - "redshift:DisableSnapshotCopy", - "redshift:ModifySnapshotCopyRetentionPeriod", - "redshift:ModifyAquaConfiguration", - "redshift:ResizeCluster", - "redshift:ModifyClusterMaintenance", - "redshift:DescribeClusterDbRevisions", - "redshift:ModifyClusterDbRevisions", - "redshift:PauseCluster", - "redshift:ResumeCluster", - "redshift:RotateEncryptionKey", - "redshift:FailoverPrimaryCompute", - "redshift:PutResourcePolicy", - "redshift:GetResourcePolicy", - "redshift:DeleteResourcePolicy", - "cloudwatch:PutMetricData" - ], - "timeoutInMinutes": 2160 + "DeferMaintenanceDuration": { + "description": "An integer indicating the duration of the maintenance window in days. If you specify a duration, you can't specify an end time. The duration must be 45 days or less.", + "type": "integer", + "markdownDescription": "An integer indicating the duration of the maintenance window in days. If you specify a duration, you can't specify an end time. The duration must be 45 days or less.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "redshift:DescribeTags", - "redshift:DescribeClusters", - "redshift:DeleteCluster" - ], - "timeoutInMinutes": 2160 + "DBName": { + "description": "The name of the first database to be created when the cluster is created. To create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database.", + "type": "string", + "markdownDescription": "The name of the first database to be created when the cluster is created. To create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, - "list": { - "permissions": [ - "redshift:DescribeTags", - "redshift:DescribeClusters" - ] + "SnapshotCopyRetentionPeriod": { + "description": "The number of days to retain automated snapshots in the destination region after they are copied from the source region. \n\n Default is 7. \n\n Constraints: Must be at least 1 and no more than 35.", + "type": "integer", + "markdownDescription": "The number of days to retain automated snapshots in the destination region after they are copied from the source region. \n\n Default is 7. \n\n Constraints: Must be at least 1 and no more than 35.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "attributes": { - "ClusterNamespaceArn": { - "description": "The Amazon Resource Name (ARN) of the cluster namespace.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the cluster namespace.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "DeferMaintenanceIdentifier": { "description": "A unique identifier for the deferred maintenance window.", "type": "string", "markdownDescription": "A unique identifier for the deferred maintenance window.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "ClusterNamespaceArn": { + "description": "The Amazon Resource Name (ARN) of the cluster namespace.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the cluster namespace.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "MasterPasswordSecretArn": { "description": "The Amazon Resource Name (ARN) for the cluster's admin user credentials secret.", "type": "string", diff --git a/server/schema/resources/aws-redshift-clustersubnetgroup.json b/server/schema/resources/aws-redshift-clustersubnetgroup.json index 908d06c2..b082f616 100644 --- a/server/schema/resources/aws-redshift-clustersubnetgroup.json +++ b/server/schema/resources/aws-redshift-clustersubnetgroup.json @@ -43,6 +43,10 @@ "maxItems": 20, "items": { "type": "string", + "relationshipRef": { + "typeName": "AWS::EC2::Subnet", + "propertyPath": "/properties/SubnetId" + }, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "The list of VPC subnet IDs\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-redshift-endpointaccess.json b/server/schema/resources/aws-redshift-endpointaccess.json index 2049604d..32917568 100644 --- a/server/schema/resources/aws-redshift-endpointaccess.json +++ b/server/schema/resources/aws-redshift-endpointaccess.json @@ -1,148 +1,34 @@ { - "typeName": "AWS::Redshift::EndpointAccess", - "description": "Resource schema for a Redshift-managed VPC endpoint.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift", - "definitions": { - "VpcSecurityGroup": { - "description": "Describes the members of a VPC security group.", - "type": "object", - "properties": { - "VpcSecurityGroupId": { - "type": "string", - "description": "The identifier of the VPC security group.", - "markdownDescription": "The identifier of the VPC security group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Status": { - "type": "string", - "description": "The status of the VPC security group.", - "markdownDescription": "The status of the VPC security group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "markdownDescription": "Describes the members of a VPC security group.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "NetworkInterface": { - "description": "Describes a network interface.", - "type": "object", - "properties": { - "NetworkInterfaceId": { - "type": "string", - "description": "The network interface identifier.", - "markdownDescription": "The network interface identifier.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SubnetId": { - "type": "string", - "description": "The subnet identifier.", - "markdownDescription": "The subnet identifier.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "PrivateIpAddress": { - "type": "string", - "description": "The IPv4 address of the network interface within the subnet.", - "markdownDescription": "The IPv4 address of the network interface within the subnet.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "AvailabilityZone": { - "type": "string", - "description": "The Availability Zone.", - "markdownDescription": "The Availability Zone.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "markdownDescription": "Describes a network interface.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "properties": { - "ClusterIdentifier": { - "description": "A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. All alphabetical characters must be lower case, no hypens at the end, no two consecutive hyphens. Cluster name should be unique for all clusters within an AWS account", - "type": "string", - "markdownDescription": "A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. All alphabetical characters must be lower case, no hypens at the end, no two consecutive hyphens. Cluster name should be unique for all clusters within an AWS account\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "ResourceOwner": { - "description": "The AWS account ID of the owner of the cluster.", - "type": "string", - "markdownDescription": "The AWS account ID of the owner of the cluster.\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{12}$ \nUpdate requires: Replacement" - }, - "EndpointName": { - "description": "The name of the endpoint.", - "type": "string", - "markdownDescription": "The name of the endpoint.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(?=^[a-z][a-z0-9]*(-[a-z0-9]+)*$).{1,30}$ \nUpdate requires: Replacement" - }, - "SubnetGroupName": { - "description": "The subnet group name where Amazon Redshift chooses to deploy the endpoint.", - "type": "string", - "markdownDescription": "The subnet group name where Amazon Redshift chooses to deploy the endpoint.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(?=^[a-zA-Z0-9-]+$).{1,255}$ \nUpdate requires: Replacement" - }, - "VpcSecurityGroupIds": { - "description": "A list of vpc security group ids to apply to the created endpoint access.", - "type": "array", - "insertionOrder": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "A list of vpc security group ids to apply to the created endpoint access.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - } - }, "tagging": { "taggable": false }, - "additionalProperties": false, - "required": [ - "ClusterIdentifier", - "SubnetGroupName", - "EndpointName", - "VpcSecurityGroupIds" - ], - "primaryIdentifier": [ - "/properties/EndpointName" - ], - "createOnlyProperties": [ - "/properties/EndpointName", - "/properties/ClusterIdentifier", - "/properties/ResourceOwner", - "/properties/SubnetGroupName" - ], - "readOnlyProperties": [ - "/properties/Address", - "/properties/EndpointStatus", - "/properties/EndpointCreateTime", - "/properties/Port", - "/properties/VpcSecurityGroups", - "/properties/VpcSecurityGroups/*/VpcSecurityGroupId", - "/properties/VpcSecurityGroups/*/Status", - "/properties/VpcEndpoint", - "/properties/VpcEndpoint/VpcEndpointId", - "/properties/VpcEndpoint/VpcId", - "/properties/VpcEndpoint/NetworkInterfaces/*/NetworkInterfaceId", - "/properties/VpcEndpoint/NetworkInterfaces/*/PrivateIpAddress", - "/properties/VpcEndpoint/NetworkInterfaces/*/SubnetId", - "/properties/VpcEndpoint/NetworkInterfaces/*/AvailabilityZone" - ], "handlers": { - "create": { + "read": { "permissions": [ - "redshift:CreateEndpointAccess", "redshift:DescribeEndpointAccess", - "ec2:CreateClientVpnEndpoint", - "ec2:CreateVpcEndpoint", + "ec2:DescribeClientVpnEndpoints", + "ec2:DescribeVpcEndpoint", "ec2:DescribeVpcAttribute", "ec2:DescribeSecurityGroups", "ec2:DescribeAddresses", "ec2:DescribeInternetGateways", "ec2:DescribeSubnets" - ], - "timeoutInMinutes": 60 + ] }, - "read": { + "create": { "permissions": [ + "redshift:CreateEndpointAccess", "redshift:DescribeEndpointAccess", - "ec2:DescribeClientVpnEndpoints", - "ec2:DescribeVpcEndpoint", + "ec2:CreateClientVpnEndpoint", + "ec2:CreateVpcEndpoint", "ec2:DescribeVpcAttribute", "ec2:DescribeSecurityGroups", "ec2:DescribeAddresses", "ec2:DescribeInternetGateways", "ec2:DescribeSubnets" - ] + ], + "timeoutInMinutes": 60 }, "update": { "permissions": [ @@ -158,6 +44,18 @@ ], "timeoutInMinutes": 60 }, + "list": { + "permissions": [ + "redshift:DescribeEndpointAccess", + "ec2:DescribeClientVpnEndpoints", + "ec2:DescribeVpcEndpoints", + "ec2:DescribeVpcAttribute", + "ec2:DescribeSecurityGroups", + "ec2:DescribeAddresses", + "ec2:DescribeInternetGateways", + "ec2:DescribeSubnets" + ] + }, "delete": { "permissions": [ "redshift:DeleteEndpointAccess", @@ -172,76 +70,202 @@ "ec2:DescribeVpcEndpoint" ], "timeoutInMinutes": 60 + } + }, + "typeName": "AWS::Redshift::EndpointAccess", + "readOnlyProperties": [ + "/properties/Address", + "/properties/EndpointStatus", + "/properties/EndpointCreateTime", + "/properties/Port", + "/properties/VpcSecurityGroups", + "/properties/VpcSecurityGroups/*/VpcSecurityGroupId", + "/properties/VpcSecurityGroups/*/Status", + "/properties/VpcEndpoint", + "/properties/VpcEndpoint/VpcEndpointId", + "/properties/VpcEndpoint/VpcId", + "/properties/VpcEndpoint/NetworkInterfaces/*/NetworkInterfaceId", + "/properties/VpcEndpoint/NetworkInterfaces/*/PrivateIpAddress", + "/properties/VpcEndpoint/NetworkInterfaces/*/SubnetId", + "/properties/VpcEndpoint/NetworkInterfaces/*/AvailabilityZone" + ], + "description": "Resource schema for a Redshift-managed VPC endpoint.", + "createOnlyProperties": [ + "/properties/EndpointName", + "/properties/ClusterIdentifier", + "/properties/ResourceOwner", + "/properties/SubnetGroupName" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/EndpointName" + ], + "definitions": { + "VpcSecurityGroup": { + "description": "Describes the members of a VPC security group.", + "additionalProperties": false, + "type": "object", + "properties": { + "Status": { + "description": "The status of the VPC security group.", + "type": "string", + "markdownDescription": "The status of the VPC security group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "VpcSecurityGroupId": { + "relationshipRef": { + "typeName": "AWS::EC2::SecurityGroup", + "propertyPath": "/properties/Id" + }, + "description": "The identifier of the VPC security group.", + "type": "string", + "markdownDescription": "The identifier of the VPC security group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Describes the members of a VPC security group.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "list": { - "permissions": [ - "redshift:DescribeEndpointAccess", - "ec2:DescribeClientVpnEndpoints", - "ec2:DescribeVpcEndpoints", - "ec2:DescribeVpcAttribute", - "ec2:DescribeSecurityGroups", - "ec2:DescribeAddresses", - "ec2:DescribeInternetGateways", - "ec2:DescribeSubnets" - ] + "NetworkInterface": { + "description": "Describes a network interface.", + "additionalProperties": false, + "type": "object", + "properties": { + "PrivateIpAddress": { + "relationshipRef": { + "typeName": "AWS::EC2::NetworkInterface", + "propertyPath": "/properties/PrivateIpAddress" + }, + "description": "The IPv4 address of the network interface within the subnet.", + "type": "string", + "markdownDescription": "The IPv4 address of the network interface within the subnet.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AvailabilityZone": { + "description": "The Availability Zone.", + "type": "string", + "markdownDescription": "The Availability Zone.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SubnetId": { + "relationshipRef": { + "typeName": "AWS::EC2::NetworkInterface", + "propertyPath": "/properties/SubnetId" + }, + "description": "The subnet identifier.", + "type": "string", + "markdownDescription": "The subnet identifier.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "NetworkInterfaceId": { + "relationshipRef": { + "typeName": "AWS::EC2::NetworkInterface", + "propertyPath": "/properties/Id" + }, + "description": "The network interface identifier.", + "type": "string", + "markdownDescription": "The network interface identifier.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Describes a network interface.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "attributes": { - "Address": { - "description": "The DNS address of the endpoint.", + "properties": { + "EndpointName": { + "description": "The name of the endpoint.", "type": "string", - "markdownDescription": "The DNS address of the endpoint.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the endpoint.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(?=^[a-z][a-z0-9]*(-[a-z0-9]+)*$).{1,30}$ \nUpdate requires: Replacement" }, - "VpcSecurityGroups": { - "description": "A list of Virtual Private Cloud (VPC) security groups to be associated with the endpoint.", - "type": "array", + "VpcSecurityGroupIds": { + "description": "A list of vpc security group ids to apply to the created endpoint access.", "insertionOrder": false, + "type": "array", "items": { - "$ref": "#/definitions/VpcSecurityGroup" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of Virtual Private Cloud (VPC) security groups to be associated with the endpoint.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of vpc security group ids to apply to the created endpoint access.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, - "EndpointStatus": { - "description": "The status of the endpoint.", + "ResourceOwner": { + "description": "The AWS account ID of the owner of the cluster.", "type": "string", - "markdownDescription": "The status of the endpoint.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS account ID of the owner of the cluster.\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{12}$ \nUpdate requires: Replacement" }, - "EndpointCreateTime": { - "description": "The time (UTC) that the endpoint was created.", + "SubnetGroupName": { + "description": "The subnet group name where Amazon Redshift chooses to deploy the endpoint.", "type": "string", - "markdownDescription": "The time (UTC) that the endpoint was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The subnet group name where Amazon Redshift chooses to deploy the endpoint.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(?=^[a-zA-Z0-9-]+$).{1,255}$ \nUpdate requires: Replacement" }, - "Port": { - "description": "The port number on which the cluster accepts incoming connections.", - "type": "integer", - "markdownDescription": "The port number on which the cluster accepts incoming connections.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "ClusterIdentifier": { + "description": "A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. All alphabetical characters must be lower case, no hypens at the end, no two consecutive hyphens. Cluster name should be unique for all clusters within an AWS account", + "type": "string", + "markdownDescription": "A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. All alphabetical characters must be lower case, no hypens at the end, no two consecutive hyphens. Cluster name should be unique for all clusters within an AWS account\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + } + }, + "required": [ + "ClusterIdentifier", + "SubnetGroupName", + "EndpointName", + "VpcSecurityGroupIds" + ], + "attributes": { + "EndpointStatus": { + "description": "The status of the endpoint.", + "type": "string", + "markdownDescription": "The status of the endpoint.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "VpcEndpoint": { "description": "The connection endpoint for connecting to an Amazon Redshift cluster through the proxy.", + "additionalProperties": false, "type": "object", "properties": { - "VpcEndpointId": { - "type": "string", - "description": "The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.", - "markdownDescription": "The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "VpcId": { - "type": "string", + "relationshipRef": { + "typeName": "AWS::EC2::VPCEndpoint", + "propertyPath": "/properties/VpcId" + }, "description": "The VPC identifier that the endpoint is associated.", + "type": "string", "markdownDescription": "The VPC identifier that the endpoint is associated.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "NetworkInterfaces": { - "type": "array", - "insertionOrder": false, "description": "One or more network interfaces of the endpoint. Also known as an interface endpoint.", + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/NetworkInterface" }, "markdownDescription": "One or more network interfaces of the endpoint. Also known as an interface endpoint.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "VpcEndpointId": { + "relationshipRef": { + "typeName": "AWS::EC2::VPCEndpoint", + "propertyPath": "/properties/Id" + }, + "description": "The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.", + "type": "string", + "markdownDescription": "The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "The connection endpoint for connecting to an Amazon Redshift cluster through the proxy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Address": { + "description": "The DNS address of the endpoint.", + "type": "string", + "markdownDescription": "The DNS address of the endpoint.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Port": { + "description": "The port number on which the cluster accepts incoming connections.", + "type": "integer", + "markdownDescription": "The port number on which the cluster accepts incoming connections.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "EndpointCreateTime": { + "description": "The time (UTC) that the endpoint was created.", + "type": "string", + "markdownDescription": "The time (UTC) that the endpoint was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "VpcSecurityGroups": { + "description": "A list of Virtual Private Cloud (VPC) security groups to be associated with the endpoint.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/VpcSecurityGroup" + }, + "markdownDescription": "A list of Virtual Private Cloud (VPC) security groups to be associated with the endpoint.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-redshift-endpointauthorization.json b/server/schema/resources/aws-redshift-endpointauthorization.json index 5fd0438f..20135fda 100644 --- a/server/schema/resources/aws-redshift-endpointauthorization.json +++ b/server/schema/resources/aws-redshift-endpointauthorization.json @@ -1,59 +1,8 @@ { - "typeName": "AWS::Redshift::EndpointAuthorization", - "description": "Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts.", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift", - "definitions": { - "AwsAccount": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{12}$ \nUpdate requires: No interruption" - }, - "VpcId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^vpc-[A-Za-z0-9]{1,17}$ \nUpdate requires: No interruption" - } - }, - "properties": { - "ClusterIdentifier": { - "description": "The cluster identifier.", - "type": "string", - "markdownDescription": "The cluster identifier.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(?=^[a-z][a-z0-9]*(-[a-z0-9]+)*$).{1,63}$ \nUpdate requires: Replacement" - }, - "Account": { - "description": "The target AWS account ID to grant or revoke access for.", - "$ref": "#/definitions/AwsAccount", - "markdownDescription": "The target AWS account ID to grant or revoke access for.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Replacement" - }, - "VpcIds": { - "description": "The virtual private cloud (VPC) identifiers to grant or revoke access to.", - "type": "array", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcId" - }, - "markdownDescription": "The virtual private cloud (VPC) identifiers to grant or revoke access to.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Force": { - "description": " Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted.", - "type": "boolean", - "markdownDescription": " Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - } - }, "tagging": { "taggable": false }, - "additionalProperties": false, - "required": [ - "ClusterIdentifier", - "Account" - ], - "primaryIdentifier": [ - "/properties/ClusterIdentifier", - "/properties/Account" - ], - "createOnlyProperties": [ - "/properties/ClusterIdentifier", - "/properties/Account" - ], + "typeName": "AWS::Redshift::EndpointAuthorization", "readOnlyProperties": [ "/properties/Grantor", "/properties/Grantee", @@ -64,10 +13,26 @@ "/properties/AllowedVPCs", "/properties/EndpointCount" ], - "writeOnlyProperties": [ - "/properties/Force" + "description": "Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts.", + "createOnlyProperties": [ + "/properties/ClusterIdentifier", + "/properties/Account" + ], + "primaryIdentifier": [ + "/properties/ClusterIdentifier", + "/properties/Account" + ], + "required": [ + "ClusterIdentifier", + "Account" ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift", "handlers": { + "read": { + "permissions": [ + "redshift:DescribeEndpointAuthorization" + ] + }, "create": { "permissions": [ "redshift:AuthorizeEndpointAccess", @@ -75,11 +40,6 @@ ], "timeoutInMinutes": 60 }, - "read": { - "permissions": [ - "redshift:DescribeEndpointAuthorization" - ] - }, "update": { "permissions": [ "redshift:AuthorizeEndpointAccess", @@ -88,6 +48,11 @@ ], "timeoutInMinutes": 60 }, + "list": { + "permissions": [ + "redshift:DescribeEndpointAuthorization" + ] + }, "delete": { "permissions": [ "redshift:RevokeEndpointAccess", @@ -101,57 +66,96 @@ "ec2:DescribeSubnets" ], "timeoutInMinutes": 60 + } + }, + "writeOnlyProperties": [ + "/properties/Force" + ], + "additionalProperties": false, + "definitions": { + "VpcId": { + "relationshipRef": { + "typeName": "AWS::EC2::VPC", + "propertyPath": "/properties/VpcId" + }, + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^vpc-[A-Za-z0-9]{1,17}$ \nUpdate requires: No interruption" }, - "list": { - "permissions": [ - "redshift:DescribeEndpointAuthorization" - ] + "AwsAccount": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{12}$ \nUpdate requires: No interruption" } }, - "attributes": { - "Grantor": { - "description": "The AWS account ID of the cluster owner.", + "properties": { + "Account": { + "description": "The target AWS account ID to grant or revoke access for.", "$ref": "#/definitions/AwsAccount", - "markdownDescription": "The AWS account ID of the cluster owner.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The target AWS account ID to grant or revoke access for.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Replacement" + }, + "Force": { + "description": " Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted.", + "type": "boolean", + "markdownDescription": " Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "VpcIds": { + "description": "The virtual private cloud (VPC) identifiers to grant or revoke access to.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/VpcId" + }, + "markdownDescription": "The virtual private cloud (VPC) identifiers to grant or revoke access to.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ClusterIdentifier": { + "description": "The cluster identifier.", + "type": "string", + "markdownDescription": "The cluster identifier.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(?=^[a-z][a-z0-9]*(-[a-z0-9]+)*$).{1,63}$ \nUpdate requires: Replacement" + } + }, + "attributes": { + "Status": { + "description": "The status of the authorization action.", + "type": "string", + "markdownDescription": "The status of the authorization action.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Grantee": { "description": "The AWS account ID of the grantee of the cluster.", "$ref": "#/definitions/AwsAccount", "markdownDescription": "The AWS account ID of the grantee of the cluster.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, + "Grantor": { + "description": "The AWS account ID of the cluster owner.", + "$ref": "#/definitions/AwsAccount", + "markdownDescription": "The AWS account ID of the cluster owner.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "EndpointCount": { + "description": "The number of Redshift-managed VPC endpoints created for the authorization.", + "type": "integer", + "markdownDescription": "The number of Redshift-managed VPC endpoints created for the authorization.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, "AuthorizeTime": { "description": "The time (UTC) when the authorization was created.", "type": "string", "markdownDescription": "The time (UTC) when the authorization was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ClusterStatus": { - "description": "The status of the cluster.", - "type": "string", - "markdownDescription": "The status of the cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Status": { - "description": "The status of the authorization action.", - "type": "string", - "markdownDescription": "The status of the authorization action.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "AllowedAllVPCs": { - "description": "Indicates whether all VPCs in the grantee account are allowed access to the cluster.", - "type": "boolean", - "markdownDescription": "Indicates whether all VPCs in the grantee account are allowed access to the cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, "AllowedVPCs": { "description": "The VPCs allowed access to the cluster.", - "type": "array", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/VpcId" }, "markdownDescription": "The VPCs allowed access to the cluster.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "EndpointCount": { - "description": "The number of Redshift-managed VPC endpoints created for the authorization.", - "type": "integer", - "markdownDescription": "The number of Redshift-managed VPC endpoints created for the authorization.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "AllowedAllVPCs": { + "description": "Indicates whether all VPCs in the grantee account are allowed access to the cluster.", + "type": "boolean", + "markdownDescription": "Indicates whether all VPCs in the grantee account are allowed access to the cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ClusterStatus": { + "description": "The status of the cluster.", + "type": "string", + "markdownDescription": "The status of the 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-redshift-eventsubscription.json b/server/schema/resources/aws-redshift-eventsubscription.json index 7ec3c4ae..e206b147 100644 --- a/server/schema/resources/aws-redshift-eventsubscription.json +++ b/server/schema/resources/aws-redshift-eventsubscription.json @@ -1,46 +1,101 @@ { + "tagging": { + "taggable": true + }, "typeName": "AWS::Redshift::EventSubscription", + "readOnlyProperties": [ + "/properties/CustomerAwsId", + "/properties/CustSubscriptionId", + "/properties/Status", + "/properties/SubscriptionCreationTime", + "/properties/SourceIdsList", + "/properties/EventCategoriesList" + ], "description": "The `AWS::Redshift::EventSubscription` resource creates an Amazon Redshift Event Subscription.", + "createOnlyProperties": [ + "/properties/SubscriptionName" + ], + "primaryIdentifier": [ + "/properties/SubscriptionName" + ], + "required": [ + "SubscriptionName" + ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift", + "handlers": { + "read": { + "permissions": [ + "redshift:DescribeEventSubscriptions", + "redshift:DescribeTags" + ] + }, + "create": { + "permissions": [ + "redshift:CreateEventSubscription", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:DescribeEventSubscriptions" + ] + }, + "update": { + "permissions": [ + "redshift:ModifyEventSubscription", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:DescribeEventSubscriptions", + "redshift:DeleteTags" + ] + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeEventSubscriptions" + ] + }, + "delete": { + "permissions": [ + "redshift:DescribeEventSubscriptions", + "redshift:DeleteEventSubscription", + "redshift:DescribeTags", + "redshift:DeleteTags" + ] + } + }, + "writeOnlyProperties": [ + "/properties/Tags", + "/properties/Tags/*/Key", + "/properties/Tags/*/Value" + ], + "additionalProperties": false, "definitions": { "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 \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 \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" } }, "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": { - "SubscriptionName": { - "description": "The name of the Amazon Redshift event notification subscription", - "type": "string", - "markdownDescription": "The name of the Amazon Redshift event notification subscription\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(?=^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$).{1,255}$ \nUpdate requires: Replacement" - }, - "SnsTopicArn": { - "description": "The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event notifications.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event notifications.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "SourceType": { "description": "The type of source that will be generating the events.", "type": "string", @@ -53,21 +108,11 @@ ], "markdownDescription": "The type of source that will be generating the events.\n\n---\n\nRequired: No \nType: String \nAllowed Values: cluster | cluster-parameter-group | cluster-security-group | cluster-snapshot | scheduled-action \nUpdate requires: No interruption" }, - "SourceIds": { - "description": "A list of one or more identifiers of Amazon Redshift source objects.", - "type": "array", - "insertionOrder": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "A list of one or more identifiers of Amazon Redshift source objects.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "EventCategories": { + "uniqueItems": true, "description": "Specifies the Amazon Redshift event categories to be published by the event notification subscription.", - "type": "array", "insertionOrder": false, - "uniqueItems": true, + "type": "array", "items": { "type": "string", "enum": [ @@ -81,6 +126,11 @@ }, "markdownDescription": "Specifies the Amazon Redshift event categories to be published by the event notification subscription.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "Enabled": { + "description": "A boolean value; set to true to activate the subscription, and set to false to create the subscription but not activate it.", + "type": "boolean", + "markdownDescription": "A boolean value; set to true to activate the subscription, and set to false to create the subscription but not activate it.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "Severity": { "description": "Specifies the Amazon Redshift event severity to be published by the event notification subscription.", "type": "string", @@ -90,97 +140,37 @@ ], "markdownDescription": "Specifies the Amazon Redshift event severity to be published by the event notification subscription.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ERROR | INFO \nUpdate requires: No interruption" }, - "Enabled": { - "description": "A boolean value; set to true to activate the subscription, and set to false to create the subscription but not activate it.", - "type": "boolean", - "markdownDescription": "A boolean value; set to true to activate the subscription, and set to false to create the subscription but not activate it.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "SubscriptionName": { + "description": "The name of the Amazon Redshift event notification subscription", + "type": "string", + "markdownDescription": "The name of the Amazon Redshift event notification subscription\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(?=^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$).{1,255}$ \nUpdate requires: Replacement" + }, + "SourceIds": { + "description": "A list of one or more identifiers of Amazon Redshift source objects.", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "A list of one or more identifiers of Amazon Redshift source objects.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SnsTopicArn": { + "description": "The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event notifications.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event notifications.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tags": { "description": "An array of key-value pairs to apply to this resource.", - "type": "array", "insertionOrder": false, + "type": "array", "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" } }, - "tagging": { - "taggable": true - }, - "additionalProperties": false, - "required": [ - "SubscriptionName" - ], - "primaryIdentifier": [ - "/properties/SubscriptionName" - ], - "createOnlyProperties": [ - "/properties/SubscriptionName" - ], - "readOnlyProperties": [ - "/properties/CustomerAwsId", - "/properties/CustSubscriptionId", - "/properties/Status", - "/properties/SubscriptionCreationTime", - "/properties/SourceIdsList", - "/properties/EventCategoriesList" - ], - "writeOnlyProperties": [ - "/properties/Tags", - "/properties/Tags/*/Key", - "/properties/Tags/*/Value" - ], - "handlers": { - "create": { - "permissions": [ - "redshift:CreateEventSubscription", - "redshift:CreateTags", - "redshift:DescribeTags", - "redshift:DescribeEventSubscriptions" - ] - }, - "read": { - "permissions": [ - "redshift:DescribeEventSubscriptions", - "redshift:DescribeTags" - ] - }, - "update": { - "permissions": [ - "redshift:ModifyEventSubscription", - "redshift:CreateTags", - "redshift:DescribeTags", - "redshift:DescribeEventSubscriptions", - "redshift:DeleteTags" - ] - }, - "delete": { - "permissions": [ - "redshift:DescribeEventSubscriptions", - "redshift:DeleteEventSubscription", - "redshift:DescribeTags", - "redshift:DeleteTags" - ] - }, - "list": { - "permissions": [ - "redshift:DescribeTags", - "redshift:DescribeEventSubscriptions" - ] - } - }, "attributes": { - "CustomerAwsId": { - "description": "The AWS account associated with the Amazon Redshift event notification subscription.", - "type": "string", - "markdownDescription": "The AWS account associated with the Amazon Redshift event notification subscription.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "CustSubscriptionId": { - "description": "The name of the Amazon Redshift event notification subscription.", - "type": "string", - "markdownDescription": "The name of the Amazon Redshift event notification subscription.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "Status": { "description": "The status of the Amazon Redshift event notification subscription.", "type": "string", @@ -191,31 +181,41 @@ ], "markdownDescription": "The status of the Amazon Redshift event notification subscription.\n\n---\n\nRequired: No \nType: String \nAllowed Values: active | no-permission | topic-not-exist \nUpdate requires: No interruption" }, - "SubscriptionCreationTime": { - "description": "The date and time the Amazon Redshift event notification subscription was created.", + "CustSubscriptionId": { + "description": "The name of the Amazon Redshift event notification subscription.", "type": "string", - "markdownDescription": "The date and time the Amazon Redshift event notification subscription was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the Amazon Redshift event notification subscription.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SourceIdsList": { - "description": "A list of the sources that publish events to the Amazon Redshift event notification subscription.", - "type": "array", + "EventCategoriesList": { + "uniqueItems": true, + "description": "The list of Amazon Redshift event categories specified in the event notification subscription.", "insertionOrder": false, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of the sources that publish events to the Amazon Redshift event notification subscription.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The list of Amazon Redshift event categories specified in the event notification subscription.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "EventCategoriesList": { - "description": "The list of Amazon Redshift event categories specified in the event notification subscription.", - "type": "array", + "CustomerAwsId": { + "description": "The AWS account associated with the Amazon Redshift event notification subscription.", + "type": "string", + "markdownDescription": "The AWS account associated with the Amazon Redshift event notification subscription.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SourceIdsList": { + "description": "A list of the sources that publish events to the Amazon Redshift event notification subscription.", "insertionOrder": false, - "uniqueItems": true, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "The list of Amazon Redshift event categories specified in the event notification subscription.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of the sources that publish events to the Amazon Redshift event notification subscription.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SubscriptionCreationTime": { + "description": "The date and time the Amazon Redshift event notification subscription was created.", + "type": "string", + "markdownDescription": "The date and time the Amazon Redshift event notification subscription 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-redshift-scheduledaction.json b/server/schema/resources/aws-redshift-scheduledaction.json index 9a41dbbb..7a007be6 100644 --- a/server/schema/resources/aws-redshift-scheduledaction.json +++ b/server/schema/resources/aws-redshift-scheduledaction.json @@ -1,44 +1,152 @@ { + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift", + "tagging": { + "taggable": false + }, + "handlers": { + "read": { + "permissions": [ + "redshift:DescribeScheduledActions", + "redshift:DescribeTags" + ] + }, + "create": { + "permissions": [ + "redshift:CreateScheduledAction", + "redshift:DescribeScheduledActions", + "redshift:DescribeTags", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:ResizeCluster", + "iam:PassRole" + ] + }, + "update": { + "permissions": [ + "redshift:DescribeScheduledActions", + "redshift:ModifyScheduledAction", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:ResizeCluster", + "redshift:DescribeTags", + "iam:PassRole" + ] + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeScheduledActions" + ] + }, + "delete": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeScheduledActions", + "redshift:DeleteScheduledAction" + ] + } + }, "typeName": "AWS::Redshift::ScheduledAction", + "readOnlyProperties": [ + "/properties/State", + "/properties/NextInvocations" + ], "description": "The `AWS::Redshift::ScheduledAction` resource creates an Amazon Redshift Scheduled Action.", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift", + "createOnlyProperties": [ + "/properties/ScheduledActionName" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/ScheduledActionName" + ], "definitions": { + "ScheduledActionType": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "ResizeCluster": { + "$ref": "#/definitions/ResizeClusterMessage" + } + } + }, + { + "additionalProperties": false, + "properties": { + "PauseCluster": { + "$ref": "#/definitions/PauseClusterMessage" + } + } + }, + { + "additionalProperties": false, + "properties": { + "ResumeCluster": { + "$ref": "#/definitions/ResumeClusterMessage" + } + } + } + ], + "type": "object", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ResizeClusterMessage": { "description": "Describes a resize cluster operation. For example, a scheduled action to run the `ResizeCluster` API operation.", + "additionalProperties": false, "type": "object", "properties": { - "ClusterIdentifier": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "ClusterType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "NodeType": { + "relationshipRef": { + "typeName": "AWS::Redshift::Cluster", + "propertyPath": "/properties/NodeType" + }, "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "NumberOfNodes": { + "relationshipRef": { + "typeName": "AWS::Redshift::Cluster", + "propertyPath": "/properties/NumberOfNodes" + }, "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "ClusterType": { + "relationshipRef": { + "typeName": "AWS::Redshift::Cluster", + "propertyPath": "/properties/ClusterType" + }, + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "Classic": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ClusterIdentifier": { + "relationshipRef": { + "typeName": "AWS::Redshift::Cluster", + "propertyPath": "/properties/ClusterIdentifier" + }, + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "ClusterIdentifier" ], - "additionalProperties": false, "markdownDescription": "Describes a resize cluster operation. For example, a scheduled action to run the `ResizeCluster` API operation.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "PauseClusterMessage": { "description": "Describes a pause cluster operation. For example, a scheduled action to run the `PauseCluster` API operation.", + "additionalProperties": false, "type": "object", "properties": { "ClusterIdentifier": { + "relationshipRef": { + "typeName": "AWS::Redshift::Cluster", + "propertyPath": "/properties/ClusterIdentifier" + }, "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } @@ -46,14 +154,18 @@ "required": [ "ClusterIdentifier" ], - "additionalProperties": false, "markdownDescription": "Describes a pause cluster operation. For example, a scheduled action to run the `PauseCluster` API operation.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ResumeClusterMessage": { "description": "Describes a resume cluster operation. For example, a scheduled action to run the `ResumeCluster` API operation.", + "additionalProperties": false, "type": "object", "properties": { "ClusterIdentifier": { + "relationshipRef": { + "typeName": "AWS::Redshift::Cluster", + "propertyPath": "/properties/ClusterIdentifier" + }, "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } @@ -61,54 +173,28 @@ "required": [ "ClusterIdentifier" ], - "additionalProperties": false, "markdownDescription": "Describes a resume cluster operation. For example, a scheduled action to run the `ResumeCluster` API operation.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ScheduledActionType": { - "type": "object", - "oneOf": [ - { - "properties": { - "ResizeCluster": { - "$ref": "#/definitions/ResizeClusterMessage" - } - }, - "additionalProperties": false - }, - { - "properties": { - "PauseCluster": { - "$ref": "#/definitions/PauseClusterMessage" - } - }, - "additionalProperties": false - }, - { - "properties": { - "ResumeCluster": { - "$ref": "#/definitions/ResumeClusterMessage" - } - }, - "additionalProperties": false - } - ], - "markdownDescription": "\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": { + "ScheduledActionDescription": { + "description": "The description of the scheduled action.", + "type": "string", + "markdownDescription": "The description of the scheduled action.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "ScheduledActionName": { "description": "The name of the scheduled action. The name must be unique within an account.", "type": "string", "markdownDescription": "The name of the scheduled action. The name must be unique within an account.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, - "TargetAction": { - "description": "A JSON format string of the Amazon Redshift API operation with input parameters.", - "$ref": "#/definitions/ScheduledActionType", - "markdownDescription": "A JSON format string of the Amazon Redshift API operation with input parameters.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "EndTime": { + "description": "The end time in UTC of the scheduled action. After this time, the scheduled action does not trigger.", + "$ref": "#/definitions/timestamp", + "markdownDescription": "The end time in UTC of the scheduled action. After this time, the scheduled action does not trigger.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Schedule": { "description": "The schedule in `at( )` or `cron( )` format.", @@ -120,87 +206,25 @@ "type": "string", "markdownDescription": "The IAM role to assume to run the target action.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ScheduledActionDescription": { - "description": "The description of the scheduled action.", - "type": "string", - "markdownDescription": "The description of the scheduled action.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "StartTime": { "description": "The start time in UTC of the scheduled action. Before this time, the scheduled action does not trigger.", "$ref": "#/definitions/timestamp", "markdownDescription": "The start time in UTC of the scheduled action. Before this time, the scheduled action does not trigger.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "EndTime": { - "description": "The end time in UTC of the scheduled action. After this time, the scheduled action does not trigger.", - "$ref": "#/definitions/timestamp", - "markdownDescription": "The end time in UTC of the scheduled action. After this time, the scheduled action does not trigger.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, "Enable": { "description": "If true, the schedule is enabled. If false, the scheduled action does not trigger.", "type": "boolean", "markdownDescription": "If true, the schedule is enabled. If false, the scheduled action does not trigger.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "TargetAction": { + "description": "A JSON format string of the Amazon Redshift API operation with input parameters.", + "$ref": "#/definitions/ScheduledActionType", + "markdownDescription": "A JSON format string of the Amazon Redshift API operation with input parameters.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "tagging": { - "taggable": false - }, - "additionalProperties": false, "required": [ "ScheduledActionName" ], - "primaryIdentifier": [ - "/properties/ScheduledActionName" - ], - "createOnlyProperties": [ - "/properties/ScheduledActionName" - ], - "readOnlyProperties": [ - "/properties/State", - "/properties/NextInvocations" - ], - "handlers": { - "create": { - "permissions": [ - "redshift:CreateScheduledAction", - "redshift:DescribeScheduledActions", - "redshift:DescribeTags", - "redshift:PauseCluster", - "redshift:ResumeCluster", - "redshift:ResizeCluster", - "iam:PassRole" - ] - }, - "read": { - "permissions": [ - "redshift:DescribeScheduledActions", - "redshift:DescribeTags" - ] - }, - "update": { - "permissions": [ - "redshift:DescribeScheduledActions", - "redshift:ModifyScheduledAction", - "redshift:PauseCluster", - "redshift:ResumeCluster", - "redshift:ResizeCluster", - "redshift:DescribeTags", - "iam:PassRole" - ] - }, - "delete": { - "permissions": [ - "redshift:DescribeTags", - "redshift:DescribeScheduledActions", - "redshift:DeleteScheduledAction" - ] - }, - "list": { - "permissions": [ - "redshift:DescribeTags", - "redshift:DescribeScheduledActions" - ] - } - }, "attributes": { "State": { "description": "The state of the scheduled action.", @@ -213,8 +237,8 @@ }, "NextInvocations": { "description": "List of times when the scheduled action will run.", - "type": "array", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/timestamp" }, diff --git a/server/schema/resources/aws-redshiftserverless-workgroup.json b/server/schema/resources/aws-redshiftserverless-workgroup.json index c5cc0e49..93d4e097 100644 --- a/server/schema/resources/aws-redshiftserverless-workgroup.json +++ b/server/schema/resources/aws-redshiftserverless-workgroup.json @@ -363,7 +363,8 @@ "ec2:DescribeAvailabilityZones", "redshift-serverless:CreateNamespace", "redshift-serverless:CreateWorkgroup", - "redshift-serverless:GetWorkgroup" + "redshift-serverless:GetWorkgroup", + "redshift-serverless:GetNamespace" ] }, "read": { @@ -404,6 +405,7 @@ "ec2:DescribeAccountAttributes", "ec2:DescribeAvailabilityZones", "redshift-serverless:GetWorkgroup", + "redshift-serverless:GetNamespace", "redshift-serverless:DeleteWorkgroup" ] }, diff --git a/server/schema/resources/aws-resiliencehub-app.json b/server/schema/resources/aws-resiliencehub-app.json index 9aa101ad..e5276e73 100644 --- a/server/schema/resources/aws-resiliencehub-app.json +++ b/server/schema/resources/aws-resiliencehub-app.json @@ -268,7 +268,8 @@ "resiliencehub:DescribeApp", "resiliencehub:DescribeAppVersionTemplate", "resiliencehub:ListAppVersionResourceMappings", - "resiliencehub:ListTagsForResource" + "resiliencehub:ListTagsForResource", + "resiliencehub:ListAppVersions" ] }, "update": { diff --git a/server/schema/resources/aws-resourcegroups-group.json b/server/schema/resources/aws-resourcegroups-group.json index 4950f457..dd90ee66 100644 --- a/server/schema/resources/aws-resourcegroups-group.json +++ b/server/schema/resources/aws-resourcegroups-group.json @@ -179,7 +179,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "resource-groups:Tag", + "resource-groups:Untag" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-rolesanywhere-profile.json b/server/schema/resources/aws-rolesanywhere-profile.json index 86b53c9e..04dee197 100644 --- a/server/schema/resources/aws-rolesanywhere-profile.json +++ b/server/schema/resources/aws-rolesanywhere-profile.json @@ -2,6 +2,50 @@ "typeName": "AWS::RolesAnywhere::Profile", "description": "Definition of AWS::RolesAnywhere::Profile Resource Type", "definitions": { + "AttributeMapping": { + "type": "object", + "properties": { + "MappingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/MappingRule" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "CertificateField": { + "$ref": "#/definitions/CertificateField" + } + }, + "required": [ + "CertificateField", + "MappingRules" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MappingRule": { + "type": "object", + "properties": { + "Specifier": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Specifier" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CertificateField": { + "type": "string", + "enum": [ + "x509Subject", + "x509Issuer", + "x509SAN" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: x509Subject | x509Issuer | x509SAN \nUpdate requires: No interruption" + }, "Tag": { "type": "object", "properties": { @@ -75,8 +119,22 @@ "maxItems": 200, "minItems": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AttributeMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/AttributeMapping" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags" + }, "readOnlyProperties": [ "/properties/ProfileId", "/properties/ProfileArn" @@ -96,7 +154,9 @@ "iam:PassRole", "rolesanywhere:CreateProfile", "rolesanywhere:TagResource", - "rolesanywhere:ListTagsForResource" + "rolesanywhere:ListTagsForResource", + "rolesanywhere:PutAttributeMapping", + "rolesanywhere:DeleteAttributeMapping" ] }, "read": { @@ -110,12 +170,15 @@ "iam:GetRole", "iam:GetPolicy", "iam:PassRole", + "rolesanywhere:GetProfile", "rolesanywhere:UpdateProfile", "rolesanywhere:EnableProfile", "rolesanywhere:DisableProfile", "rolesanywhere:TagResource", "rolesanywhere:UntagResource", - "rolesanywhere:ListTagsForResource" + "rolesanywhere:ListTagsForResource", + "rolesanywhere:PutAttributeMapping", + "rolesanywhere:DeleteAttributeMapping" ] }, "delete": { diff --git a/server/schema/resources/aws-route53-hostedzone.json b/server/schema/resources/aws-route53-hostedzone.json index 559b7043..231db6de 100644 --- a/server/schema/resources/aws-route53-hostedzone.json +++ b/server/schema/resources/aws-route53-hostedzone.json @@ -49,6 +49,10 @@ "CloudWatchLogsLogGroupArn": { "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.", "type": "string", + "relationshipRef": { + "typeName": "AWS::Logs::LogGroup", + "propertyPath": "/properties/Arn" + }, "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, @@ -65,6 +69,10 @@ "VPCId": { "description": "*Private hosted zones only:* The ID of an Amazon VPC.\n For public hosted zones, omit ``VPCs``, ``VPCId``, and ``VPCRegion``.", "type": "string", + "relationshipRef": { + "typeName": "AWS::EC2::VPC", + "propertyPath": "/properties/VpcId" + }, "markdownDescription": "*Private hosted zones only:* The ID of an Amazon VPC.\n For public hosted zones, omit ``VPCs``, ``VPCId``, and ``VPCRegion``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "VPCRegion": { @@ -104,8 +112,8 @@ }, "QueryLoggingConfig": { "$ref": "#/definitions/QueryLoggingConfig", - "description": "Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.\n DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:\n + Route 53 edge location that responded to the DNS query\n + Domain or subdomain that was requested\n + DNS record type, such as A or AAAA\n + DNS response code, such as ``NoError`` or ``ServFail`` \n \n + Log Group and Resource Policy Before you create a query logging configuration, perform the following operations. If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following: You must create the log group in the us-east-1 region. You must use the same to create the log group and the hosted zone that you want to configure query logging for. When you create log groups for query logging, we recommend that you use a consistent prefix, for example: /aws/route53/hosted zone name In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example: arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/* To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values: For aws:SourceArn, supply the hosted zone ARN used in creating the query logging configuration. For example, aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID. For aws:SourceAccount, supply the account ID for the account that creates the query logging configuration. For example, aws:SourceAccount:111111111111. For more information, see The confused deputy problem in the IAM User Guide. You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the SDKs, or the . + Log Streams and Edge Locations When Route 53 finishes creating the configuration for DNS query logging, it does the following: Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. Begins to send query logs to the applicable log stream. The name of each log stream is in the following format: hosted zone ID/edge location code The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Route 53 Global Network\" on the Route 53 Product Details page. + Queries That Are Logged Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide. + Log File Format For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide. + Pricing For information about charges for query logs, see Amazon CloudWatch Pricing. + How to Stop Logging If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig.", - "markdownDescription": "Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.\n DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:\n + Route 53 edge location that responded to the DNS query\n + Domain or subdomain that was requested\n + DNS record type, such as A or AAAA\n + DNS response code, such as ``NoError`` or ``ServFail`` \n \n + Log Group and Resource Policy Before you create a query logging configuration, perform the following operations. If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following: You must create the log group in the us-east-1 region. You must use the same to create the log group and the hosted zone that you want to configure query logging for. When you create log groups for query logging, we recommend that you use a consistent prefix, for example: /aws/route53/hosted zone name In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example: arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/* To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values: For aws:SourceArn, supply the hosted zone ARN used in creating the query logging configuration. For example, aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID. For aws:SourceAccount, supply the account ID for the account that creates the query logging configuration. For example, aws:SourceAccount:111111111111. For more information, see The confused deputy problem in the IAM User Guide. You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the SDKs, or the . + Log Streams and Edge Locations When Route 53 finishes creating the configuration for DNS query logging, it does the following: Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. Begins to send query logs to the applicable log stream. The name of each log stream is in the following format: hosted zone ID/edge location code The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Route 53 Global Network\" on the Route 53 Product Details page. + Queries That Are Logged Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide. + Log File Format For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide. + Pricing For information about charges for query logs, see Amazon CloudWatch Pricing. + How to Stop Logging If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "description": "Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.\n DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:\n + Route 53 edge location that responded to the DNS query\n + Domain or subdomain that was requested\n + DNS record type, such as A or AAAA\n + DNS response code, such as ``NoError`` or ``ServFail`` \n \n + Log Group and Resource Policy Before you create a query logging configuration, perform the following operations. If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following: You must create the log group in the us-east-1 region. You must use the same to create the log group and the hosted zone that you want to configure query logging for. When you create log groups for query logging, we recommend that you use a consistent prefix, for example: /aws/route53/hosted zone name In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. You must create the CloudWatch Logs resource policy in the us-east-1 region. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example: arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/* To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values: For aws:SourceArn, supply the hosted zone ARN used in creating the query logging configuration. For example, aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID. For aws:SourceAccount, supply the account ID for the account that creates the query logging configuration. For example, aws:SourceAccount:111111111111. For more information, see The confused deputy problem in the IAM User Guide. You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the SDKs, or the . + Log Streams and Edge Locations When Route 53 finishes creating the configuration for DNS query logging, it does the following: Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. Begins to send query logs to the applicable log stream. The name of each log stream is in the following format: hosted zone ID/edge location code The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Route 53 Global Network\" on the Route 53 Product Details page. + Queries That Are Logged Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide. + Log File Format For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide. + Pricing For information about charges for query logs, see Amazon CloudWatch Pricing. + How to Stop Logging If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig.", + "markdownDescription": "Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.\n DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:\n + Route 53 edge location that responded to the DNS query\n + Domain or subdomain that was requested\n + DNS record type, such as A or AAAA\n + DNS response code, such as ``NoError`` or ``ServFail`` \n \n + Log Group and Resource Policy Before you create a query logging configuration, perform the following operations. If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following: You must create the log group in the us-east-1 region. You must use the same to create the log group and the hosted zone that you want to configure query logging for. When you create log groups for query logging, we recommend that you use a consistent prefix, for example: /aws/route53/hosted zone name In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. You must create the CloudWatch Logs resource policy in the us-east-1 region. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example: arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/* To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values: For aws:SourceArn, supply the hosted zone ARN used in creating the query logging configuration. For example, aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID. For aws:SourceAccount, supply the account ID for the account that creates the query logging configuration. For example, aws:SourceAccount:111111111111. For more information, see The confused deputy problem in the IAM User Guide. You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the SDKs, or the . + Log Streams and Edge Locations When Route 53 finishes creating the configuration for DNS query logging, it does the following: Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. Begins to send query logs to the applicable log stream. The name of each log stream is in the following format: hosted zone ID/edge location code The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Route 53 Global Network\" on the Route 53 Product Details page. + Queries That Are Logged Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide. + Log File Format For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide. + Pricing For information about charges for query logs, see Amazon CloudWatch Pricing. + How to Stop Logging If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "VPCs": { "description": "*Private hosted zones:* A complex type that contains information about the VPCs that are associated with the specified hosted zone.\n For public hosted zones, omit ``VPCs``, ``VPCId``, and ``VPCRegion``.", @@ -130,7 +138,7 @@ "/properties/Id" ], "propertyTransform": { - "/properties/Name": "$join([Name, \".\"])" + "/properties/Name": "Name $OR $join([Name, \".\"])" }, "handlers": { "create": { diff --git a/server/schema/resources/aws-route53recoverycontrol-cluster.json b/server/schema/resources/aws-route53recoverycontrol-cluster.json index b7239b4d..2968458f 100644 --- a/server/schema/resources/aws-route53recoverycontrol-cluster.json +++ b/server/schema/resources/aws-route53recoverycontrol-cluster.json @@ -2,7 +2,6 @@ "typeName": "AWS::Route53RecoveryControl::Cluster", "description": "AWS Route53 Recovery Control Cluster resource schema", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53-recovery-control.git", - "taggable": true, "definitions": { "ClusterEndpoint": { "type": "object", @@ -111,13 +110,20 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false + }, "attributes": { "ClusterArn": { "description": "The Amazon Resource Name (ARN) of the cluster.", "type": "string", "minLength": 1, "maxLength": 2048, - "markdownDescription": "The Amazon Resource Name (ARN) of the cluster.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the cluster.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[A-Za-z0-9:\\/_-]*$ \nUpdate requires: No interruption" }, "Status": { "description": "Deployment status of a resource. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION.", diff --git a/server/schema/resources/aws-route53recoverycontrol-controlpanel.json b/server/schema/resources/aws-route53recoverycontrol-controlpanel.json index 08713451..d37be17f 100644 --- a/server/schema/resources/aws-route53recoverycontrol-controlpanel.json +++ b/server/schema/resources/aws-route53recoverycontrol-controlpanel.json @@ -2,7 +2,6 @@ "typeName": "AWS::Route53RecoveryControl::ControlPanel", "description": "AWS Route53 Recovery Control Control Panel resource schema .", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53-recovery-control.git", - "taggable": true, "definitions": { "Tag": { "type": "object", @@ -31,7 +30,7 @@ "ClusterArn": { "description": "Cluster to associate with the Control Panel", "type": "string", - "markdownDescription": "Cluster to associate with the Control Panel\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "Cluster to associate with the Control Panel\n\n---\n\nRequired: No \nType: String \nPattern: ^[A-Za-z0-9:\\/_-]*$ \nUpdate requires: Replacement" }, "Name": { "description": "The name of the control panel. You can use any non-white space character in the name.", @@ -108,11 +107,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false + }, "attributes": { "ControlPanelArn": { "description": "The Amazon Resource Name (ARN) of the cluster.", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the cluster.\n\n---\n\nRequired: No \nType: String \nPattern: ^[A-Za-z0-9:\\/_-]*$ \nUpdate requires: No interruption" }, "Status": { "description": "The deployment status of control panel. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION.", diff --git a/server/schema/resources/aws-route53recoverycontrol-routingcontrol.json b/server/schema/resources/aws-route53recoverycontrol-routingcontrol.json index 3dc05345..3dd73670 100644 --- a/server/schema/resources/aws-route53recoverycontrol-routingcontrol.json +++ b/server/schema/resources/aws-route53recoverycontrol-routingcontrol.json @@ -2,13 +2,12 @@ "typeName": "AWS::Route53RecoveryControl::RoutingControl", "description": "AWS Route53 Recovery Control Routing Control resource schema .", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53-recovery-control.git", - "taggable": false, "definitions": {}, "properties": { "ControlPanelArn": { "description": "The Amazon Resource Name (ARN) of the control panel.", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the control panel.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The Amazon Resource Name (ARN) of the control panel.\n\n---\n\nRequired: No \nType: String \nPattern: ^[A-Za-z0-9:\\/_-]*$ \nUpdate requires: Replacement" }, "Name": { "description": "The name of the routing control. You can use any non-white space character in the name.", @@ -20,7 +19,7 @@ "ClusterArn": { "description": "Arn associated with Control Panel", "type": "string", - "markdownDescription": "Arn associated with Control Panel\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "Arn associated with Control Panel\n\n---\n\nRequired: No \nType: String \nPattern: ^[A-Za-z0-9:\\/_-]*$ \nUpdate requires: Replacement" } }, "required": [ @@ -84,11 +83,14 @@ ] } }, + "tagging": { + "taggable": false + }, "attributes": { "RoutingControlArn": { "description": "The Amazon Resource Name (ARN) of the routing control.", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the routing control.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the routing control.\n\n---\n\nRequired: No \nType: String \nPattern: ^[A-Za-z0-9:\\/_-]*$ \nUpdate requires: No interruption" }, "Status": { "description": "The deployment status of the routing control. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION.", diff --git a/server/schema/resources/aws-route53recoverycontrol-safetyrule.json b/server/schema/resources/aws-route53recoverycontrol-safetyrule.json index ef09744a..88a177ea 100644 --- a/server/schema/resources/aws-route53recoverycontrol-safetyrule.json +++ b/server/schema/resources/aws-route53recoverycontrol-safetyrule.json @@ -2,7 +2,6 @@ "typeName": "AWS::Route53RecoveryControl::SafetyRule", "description": "Resource schema for AWS Route53 Recovery Control basic constructs and validation rules.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53-recovery-control.git", - "taggable": true, "definitions": { "SafetyRuleName": { "description": "The name for the safety rule.", @@ -81,7 +80,7 @@ "GatingControls" ], "additionalProperties": false, - "markdownDescription": "A gating rule verifies that a set of gating controls evaluates as true, based on a rule configuration that you specify. If the gating rule evaluates to true, Amazon Route 53 Application Recovery Controller allows a set of routing control state changes to run and complete against the set of target controls.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A gating rule verifies that a set of gating controls evaluates as true, based on a rule configuration that you specify. If the gating rule evaluates to true, Amazon Route 53 Application Recovery Controller allows a set of routing control state changes to run and complete against the set of target controls.\n\n---\n\nRequired: No \nUpdate requires: Some interruptions" }, "AssertionRule": { "description": "An assertion rule enforces that, when a routing control state is changed, that the criteria set by the rule configuration is met. Otherwise, the change to the routing control is not accepted.", @@ -108,7 +107,7 @@ "WaitPeriodMs" ], "additionalProperties": false, - "markdownDescription": "An assertion rule enforces that, when a routing control state is changed, that the criteria set by the rule configuration is met. Otherwise, the change to the routing control is not accepted.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "An assertion rule enforces that, when a routing control state is changed, that the criteria set by the rule configuration is met. Otherwise, the change to the routing control is not accepted.\n\n---\n\nRequired: No \nUpdate requires: Some interruptions" }, "Tag": { "type": "object", @@ -146,7 +145,7 @@ "ControlPanelArn": { "description": "The Amazon Resource Name (ARN) of the control panel.", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the control panel.\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The Amazon Resource Name (ARN) of the control panel.\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: Some interruptions" }, "RuleConfig": { "$ref": "#/definitions/RuleConfig" @@ -159,7 +158,7 @@ "maxItems": 20 }, "insertionOrder": false, - "markdownDescription": "A collection of tags associated with a resource\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "A collection of tags associated with a resource\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Some interruptions" } }, "oneOf": [ @@ -182,11 +181,13 @@ ], "required": [], "additionalProperties": false, - "createOnlyProperties": [ + "conditionalCreateOnlyProperties": [ "/properties/ControlPanelArn", "/properties/RuleConfig", - "/properties/ControlPanelArn", - "/properties/Tags" + "/properties/Tags", + "/properties/AssertionRule/AssertedControls", + "/properties/GatingRule/GatingControls", + "/properties/GatingRule/TargetControls" ], "writeOnlyProperties": [ "/properties/Tags" @@ -246,6 +247,13 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false + }, "attributes": { "SafetyRuleArn": { "description": "The Amazon Resource Name (ARN) of the safety rule.", diff --git a/server/schema/resources/aws-route53resolver-firewallrulegroup.json b/server/schema/resources/aws-route53resolver-firewallrulegroup.json index 18aa9e59..d9ce58e7 100644 --- a/server/schema/resources/aws-route53resolver-firewallrulegroup.json +++ b/server/schema/resources/aws-route53resolver-firewallrulegroup.json @@ -66,6 +66,15 @@ "minLength": 1, "maxLength": 16, "markdownDescription": "Qtype\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 16 \nUpdate requires: No interruption" + }, + "FirewallDomainRedirectionAction": { + "description": "FirewallDomainRedirectionAction", + "type": "string", + "enum": [ + "INSPECT_REDIRECTION_DOMAIN", + "TRUST_REDIRECTION_DOMAIN" + ], + "markdownDescription": "FirewallDomainRedirectionAction\n\n---\n\nRequired: No \nType: String \nAllowed Values: INSPECT_REDIRECTION_DOMAIN | TRUST_REDIRECTION_DOMAIN \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-s3-bucket.json b/server/schema/resources/aws-s3-bucket.json index fb2de202..f64fd841 100644 --- a/server/schema/resources/aws-s3-bucket.json +++ b/server/schema/resources/aws-s3-bucket.json @@ -1222,7 +1222,7 @@ }, "DefaultRetention": { "type": "object", - "description": "The container element for 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.", + "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": { "Years": { @@ -1245,7 +1245,7 @@ "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 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" + "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" }, "OwnershipControls": { "type": "object", diff --git a/server/schema/resources/aws-sagemaker-domain.json b/server/schema/resources/aws-sagemaker-domain.json index 326dd173..e9ddd038 100644 --- a/server/schema/resources/aws-sagemaker-domain.json +++ b/server/schema/resources/aws-sagemaker-domain.json @@ -126,6 +126,9 @@ "CodeEditorAppSettings": { "$ref": "#/definitions/CodeEditorAppSettings" }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + }, "DefaultLandingUri": { "type": "string", "description": "Defines which Amazon SageMaker application users are directed to by default.", @@ -214,6 +217,31 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 32 \nPattern: [-0-9a-zA-Z]+ \nUpdate requires: No interruption" }, "markdownDescription": "The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings", + "description": "The Jupyter lab's app settings.", + "markdownDescription": "The Jupyter lab's app settings.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings", + "description": "The Jupyter lab's space storage settings.", + "markdownDescription": "The Jupyter lab's space storage settings.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig", + "description": "The Jupyter lab's custom posix user configurations.", + "markdownDescription": "The Jupyter lab's custom posix user configurations.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "CustomFileSystemConfigs": { + "type": "array", + "uniqueItems": true, + "minItems": 0, + "maxItems": 2, + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -338,7 +366,7 @@ "uniqueItems": false, "insertionOrder": false, "minItems": 0, - "maxItems": 30, + "maxItems": 200, "items": { "$ref": "#/definitions/CustomImage" }, @@ -389,7 +417,7 @@ "description": "A list of custom images for use for JupyterLab apps.", "uniqueItems": false, "minItems": 0, - "maxItems": 30, + "maxItems": 200, "items": { "$ref": "#/definitions/CustomImage" }, @@ -479,7 +507,7 @@ "description": "A list of custom images for use for CodeEditor apps.", "uniqueItems": false, "minItems": 0, - "maxItems": 30, + "maxItems": 200, "items": { "$ref": "#/definitions/CustomImage" }, @@ -679,11 +707,12 @@ "uniqueItems": false, "insertionOrder": false, "minItems": 0, - "maxItems": 10, + "maxItems": 20, "items": { "type": "string", + "minLength": 12, "maxLength": 12, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 12 \nPattern: ^[0-9]$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 12 \nPattern: ^\\d+$ \nUpdate requires: No interruption" }, "markdownDescription": "A list of account id's that would be used to pull images from in VpcOnly mode\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } @@ -732,7 +761,7 @@ "insertionOrder": false, "uniqueItems": false, "minItems": 0, - "maxItems": 30, + "maxItems": 200, "items": { "$ref": "#/definitions/CustomImage" }, @@ -769,6 +798,68 @@ } }, "markdownDescription": "A collection of settings that configure user interaction with the RStudioServerPro app.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StudioWebPortalSettings": { + "type": "object", + "description": "Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.", + "additionalProperties": false, + "properties": { + "HiddenMlTools": { + "type": "array", + "description": "The machine learning tools that are hidden from the Studio left navigation pane.", + "insertionOrder": false, + "uniqueItems": true, + "minItems": 0, + "items": { + "$ref": "#/definitions/MlTools" + }, + "markdownDescription": "The machine learning tools that are hidden from the Studio left navigation pane.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "HiddenAppTypes": { + "type": "array", + "description": "Applications supported in Studio that are hidden from the Studio left navigation pane.", + "insertionOrder": false, + "uniqueItems": true, + "minItems": 0, + "items": { + "$ref": "#/definitions/AppType" + }, + "markdownDescription": "Applications supported in Studio that are hidden from the Studio left navigation pane.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MlTools": { + "type": "string", + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoML", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DataWrangler | FeatureStore | EmrClusters | AutoML | Experiments | Training | ModelEvaluation | Pipelines | Models | JumpStart | InferenceRecommender | Endpoints | Projects \nUpdate requires: No interruption" + }, + "AppType": { + "type": "string", + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: JupyterServer | TensorBoard | RStudioServerPro | JupyterLab | CodeEditor | DetailedProfiler | Canvas \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-sagemaker-modelcard.json b/server/schema/resources/aws-sagemaker-modelcard.json index ee43f5a1..6fc2d577 100644 --- a/server/schema/resources/aws-sagemaker-modelcard.json +++ b/server/schema/resources/aws-sagemaker-modelcard.json @@ -1059,6 +1059,7 @@ "create": { "permissions": [ "sagemaker:CreateModelCard", + "sagemaker:DescribeModel", "kms:DescribeKey", "kms:GenerateDataKey", "kms:CreateGrant", @@ -1080,6 +1081,7 @@ "permissions": [ "sagemaker:UpdateModelCard", "sagemaker:DescribeModelCard", + "sagemaker:DescribeModel", "kms:GenerateDataKey", "kms:Decrypt", "sagemaker:DescribeModelPackageGroup", diff --git a/server/schema/resources/aws-sagemaker-userprofile.json b/server/schema/resources/aws-sagemaker-userprofile.json index 023ee08a..b142c4e0 100644 --- a/server/schema/resources/aws-sagemaker-userprofile.json +++ b/server/schema/resources/aws-sagemaker-userprofile.json @@ -84,6 +84,9 @@ "CodeEditorAppSettings": { "$ref": "#/definitions/CodeEditorAppSettings" }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + }, "DefaultLandingUri": { "type": "string", "description": "Defines which Amazon SageMaker application users are directed to by default.", @@ -561,6 +564,68 @@ } }, "markdownDescription": "A collection of settings that configure user interaction with the RStudioServerPro app.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StudioWebPortalSettings": { + "type": "object", + "description": "Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.", + "additionalProperties": false, + "properties": { + "HiddenMlTools": { + "type": "array", + "description": "The machine learning tools that are hidden from the Studio left navigation pane.", + "insertionOrder": false, + "uniqueItems": true, + "minItems": 0, + "items": { + "$ref": "#/definitions/MlTools" + }, + "markdownDescription": "The machine learning tools that are hidden from the Studio left navigation pane.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "HiddenAppTypes": { + "type": "array", + "description": "Applications supported in Studio that are hidden from the Studio left navigation pane.", + "insertionOrder": false, + "uniqueItems": true, + "minItems": 0, + "items": { + "$ref": "#/definitions/AppType" + }, + "markdownDescription": "Applications supported in Studio that are hidden from the Studio left navigation pane.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MlTools": { + "type": "string", + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoML", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DataWrangler | FeatureStore | EmrClusters | AutoML | Experiments | Training | ModelEvaluation | Pipelines | Models | JumpStart | InferenceRecommender | Endpoints | Projects \nUpdate requires: No interruption" + }, + "AppType": { + "type": "string", + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: JupyterServer | TensorBoard | RStudioServerPro | JupyterLab | CodeEditor | DetailedProfiler | Canvas \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-secretsmanager-secret.json b/server/schema/resources/aws-secretsmanager-secret.json index 663b911d..bbb8e04e 100644 --- a/server/schema/resources/aws-secretsmanager-secret.json +++ b/server/schema/resources/aws-secretsmanager-secret.json @@ -180,7 +180,8 @@ "secretsmanager:DescribeSecret", "secretsmanager:GetRandomPassword", "secretsmanager:CreateSecret", - "secretsmanager:TagResource" + "secretsmanager:TagResource", + "secretsmanager:ReplicateSecretToRegions" ] }, "delete": { diff --git a/server/schema/resources/aws-securityhub-automationrule.json b/server/schema/resources/aws-securityhub-automationrule.json index f64bc07a..99888daa 100644 --- a/server/schema/resources/aws-securityhub-automationrule.json +++ b/server/schema/resources/aws-securityhub-automationrule.json @@ -865,7 +865,7 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": true, + "cloudFormationSystemTags": false, "tagProperty": "/properties/Tags" }, "handlers": { diff --git a/server/schema/resources/aws-securityhub-configurationpolicy.json b/server/schema/resources/aws-securityhub-configurationpolicy.json new file mode 100644 index 00000000..c062e453 --- /dev/null +++ b/server/schema/resources/aws-securityhub-configurationpolicy.json @@ -0,0 +1,337 @@ +{ + "typeName": "AWS::SecurityHub::ConfigurationPolicy", + "description": "The AWS::SecurityHub::ConfigurationPolicy resource represents the Central Configuration Policy in your account.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-securityhub", + "definitions": { + "Tags": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]{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, + "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 key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ParameterValue": { + "type": "object", + "additionalProperties": false, + "description": "An object that includes the data type of a security control parameter and its current value.", + "maxProperties": 1, + "minProperties": 1, + "properties": { + "Boolean": { + "type": "boolean", + "description": "A control parameter that is a boolean.", + "markdownDescription": "A control parameter that is a boolean.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Double": { + "type": "number", + "description": "A control parameter that is a double.", + "markdownDescription": "A control parameter that is a double.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Enum": { + "type": "string", + "description": "A control parameter that is an enum.", + "maxLength": 2048, + "markdownDescription": "A control parameter that is an enum.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "EnumList": { + "type": "array", + "description": "A control parameter that is a list of enums.", + "maxItems": 100, + "insertionOrder": true, + "uniqueItems": true, + "items": { + "type": "string", + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "markdownDescription": "A control parameter that is a list of enums.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Integer": { + "type": "integer", + "description": "A control parameter that is an integer.", + "markdownDescription": "A control parameter that is an integer.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "IntegerList": { + "type": "array", + "description": "A control parameter that is a list of integers.", + "maxItems": 100, + "insertionOrder": true, + "uniqueItems": true, + "items": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "markdownDescription": "A control parameter that is a list of integers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "String": { + "type": "string", + "description": "A control parameter that is a string.", + "maxLength": 2048, + "markdownDescription": "A control parameter that is a string.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "StringList": { + "type": "array", + "description": "A control parameter that is a list of strings.", + "maxItems": 100, + "insertionOrder": true, + "uniqueItems": true, + "items": { + "type": "string", + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "markdownDescription": "A control parameter that is a list of strings.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "An object that includes the data type of a security control parameter and its current value.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ParameterConfiguration": { + "type": "object", + "additionalProperties": false, + "description": "An object that provides the current value of a security control parameter and identifies whether it has been customized.", + "properties": { + "ValueType": { + "type": "string", + "description": "Identifies whether a control parameter uses a custom user-defined value or subscribes to the default AWS Security Hub behavior.", + "enum": [ + "DEFAULT", + "CUSTOM" + ], + "markdownDescription": "Identifies whether a control parameter uses a custom user-defined value or subscribes to the default AWS Security Hub behavior.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DEFAULT | CUSTOM \nUpdate requires: No interruption" + }, + "Value": { + "$ref": "#/definitions/ParameterValue" + } + }, + "required": [ + "ValueType" + ], + "markdownDescription": "An object that provides the current value of a security control parameter and identifies whether it has been customized.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SecurityControlCustomParameter": { + "type": "object", + "additionalProperties": false, + "description": "An object of security control and control parameter value that are included in a configuration policy.", + "properties": { + "Parameters": { + "type": "object", + "minProperties": 1, + "description": "An object that specifies parameter values for a control in a configuration policy.", + "additionalProperties": false, + "patternProperties": { + "^[-_+=.:/@\\w\\s]{1,128}$": { + "$ref": "#/definitions/ParameterConfiguration" + } + }, + "markdownDescription": "An object that specifies parameter values for a control in a configuration policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SecurityControlId": { + "type": "string", + "description": "The ID of the security control.", + "maxLength": 2048, + "markdownDescription": "The ID of the security control.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "An object of security control and control parameter value that are included in a configuration policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SecurityControlsConfiguration": { + "type": "object", + "description": "An object that defines which security controls are enabled in an AWS Security Hub configuration policy.", + "additionalProperties": false, + "properties": { + "DisabledSecurityControlIdentifiers": { + "type": "array", + "description": "A list of security controls that are disabled in the configuration policy", + "maxItems": 1000, + "insertionOrder": true, + "uniqueItems": true, + "items": { + "type": "string", + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "markdownDescription": "A list of security controls that are disabled in the configuration policy\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "EnabledSecurityControlIdentifiers": { + "type": "array", + "description": "A list of security controls that are enabled in the configuration policy.", + "maxItems": 1000, + "insertionOrder": true, + "uniqueItems": true, + "items": { + "type": "string", + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "markdownDescription": "A list of security controls that are enabled in the configuration policy.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SecurityControlCustomParameters": { + "type": "array", + "description": "A list of security controls and control parameter values that are included in a configuration policy.", + "maxItems": 1000, + "insertionOrder": true, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/SecurityControlCustomParameter" + }, + "markdownDescription": "A list of security controls and control parameter values that are included in a configuration policy.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "An object that defines which security controls are enabled in an AWS Security Hub configuration policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SecurityHubPolicy": { + "type": "object", + "description": "An object that defines how AWS Security Hub is configured.", + "additionalProperties": false, + "properties": { + "EnabledStandardIdentifiers": { + "type": "array", + "description": "A list that defines which security standards are enabled in the configuration policy.", + "maxItems": 1000, + "insertionOrder": true, + "uniqueItems": true, + "items": { + "type": "string", + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "markdownDescription": "A list that defines which security standards are enabled in the configuration policy.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ServiceEnabled": { + "description": "Indicates whether Security Hub is enabled in the policy.", + "type": "boolean", + "markdownDescription": "Indicates whether Security Hub is enabled in the policy.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "SecurityControlsConfiguration": { + "$ref": "#/definitions/SecurityControlsConfiguration" + } + }, + "markdownDescription": "An object that defines how AWS Security Hub is configured.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Policy": { + "description": "An object that defines how Security Hub is configured.", + "type": "object", + "additionalProperties": false, + "properties": { + "SecurityHub": { + "$ref": "#/definitions/SecurityHubPolicy" + } + }, + "markdownDescription": "An object that defines how Security Hub is configured.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Name": { + "description": "The name of the configuration policy.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The name of the configuration policy.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Description": { + "description": "The description of the configuration policy.", + "type": "string", + "minLength": 0, + "maxLength": 512, + "markdownDescription": "The description of the configuration policy.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 512 \nUpdate requires: No interruption" + }, + "ConfigurationPolicy": { + "$ref": "#/definitions/Policy" + }, + "Tags": { + "$ref": "#/definitions/Tags" + } + }, + "additionalProperties": false, + "required": [ + "ConfigurationPolicy", + "Name" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Id", + "/properties/CreatedAt", + "/properties/UpdatedAt", + "/properties/ServiceEnabled" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, + "handlers": { + "create": { + "permissions": [ + "securityhub:CreateConfigurationPolicy", + "securityhub:TagResource", + "securityhub:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "securityhub:GetConfigurationPolicy", + "securityhub:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "securityhub:UpdateConfigurationPolicy", + "securityhub:TagResource", + "securityhub:UntagResource", + "securityhub:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "securityhub:GetConfigurationPolicy", + "securityhub:DeleteConfigurationPolicy" + ] + }, + "list": { + "permissions": [ + "securityhub:ListConfigurationPolicies", + "securityhub:ListTagsForResource" + ] + } + }, + "attributes": { + "Arn": { + "description": "The Amazon Resource Name (ARN) of the configuration policy.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the configuration policy.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws\\S*:securityhub:[a-z0-9-]+:[0-9]{12}:configuration-policy/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ \nUpdate requires: No interruption" + }, + "Id": { + "description": "The universally unique identifier (UUID) of the configuration policy.", + "type": "string", + "markdownDescription": "The universally unique identifier (UUID) of the configuration policy.\n\n---\n\nRequired: No \nType: String \nPattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ \nUpdate requires: No interruption" + }, + "CreatedAt": { + "description": "The date and time, in UTC and ISO 8601 format.", + "type": "string", + "markdownDescription": "The date and time, in UTC and ISO 8601 format.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "UpdatedAt": { + "description": "The date and time, in UTC and ISO 8601 format.", + "type": "string", + "markdownDescription": "The date and time, in UTC and ISO 8601 format.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ServiceEnabled": { + "type": "boolean", + "description": "Indicates whether the service that the configuration policy applies to is enabled in the policy.", + "markdownDescription": "Indicates whether the service that the configuration policy applies to is enabled in the policy.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-securityhub-findingaggregator.json b/server/schema/resources/aws-securityhub-findingaggregator.json new file mode 100644 index 00000000..c31c14d2 --- /dev/null +++ b/server/schema/resources/aws-securityhub-findingaggregator.json @@ -0,0 +1,88 @@ +{ + "typeName": "AWS::SecurityHub::FindingAggregator", + "description": "The AWS::SecurityHub::FindingAggregator resource represents the AWS Security Hub Finding Aggregator in your account. One finding aggregator resource is created for each account in non opt-in region in which you configure region linking mode.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-securityhub", + "definitions": { + "Region": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-zA-Z0-9-]{1,32}$ \nUpdate requires: No interruption" + } + }, + "properties": { + "RegionLinkingMode": { + "description": "Indicates whether to link all Regions, all Regions except for a list of excluded Regions, or a list of included Regions", + "type": "string", + "enum": [ + "ALL_REGIONS", + "ALL_REGIONS_EXCEPT_SPECIFIED", + "SPECIFIED_REGIONS" + ], + "markdownDescription": "Indicates whether to link all Regions, all Regions except for a list of excluded Regions, or a list of included Regions\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ALL_REGIONS | ALL_REGIONS_EXCEPT_SPECIFIED | SPECIFIED_REGIONS \nUpdate requires: No interruption" + }, + "Regions": { + "description": "The list of excluded Regions or included Regions", + "type": "array", + "insertionOrder": false, + "uniqueItems": true, + "minItems": 1, + "maxItems": 50, + "items": { + "$ref": "#/definitions/Region" + }, + "markdownDescription": "The list of excluded Regions or included Regions\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "RegionLinkingMode" + ], + "readOnlyProperties": [ + "/properties/FindingAggregatorArn", + "/properties/FindingAggregationRegion" + ], + "primaryIdentifier": [ + "/properties/FindingAggregatorArn" + ], + "tagging": { + "taggable": false + }, + "handlers": { + "create": { + "permissions": [ + "securityhub:CreateFindingAggregator" + ] + }, + "read": { + "permissions": [ + "securityhub:GetFindingAggregator" + ] + }, + "update": { + "permissions": [ + "securityhub:UpdateFindingAggregator" + ] + }, + "delete": { + "permissions": [ + "securityhub:DeleteFindingAggregator" + ] + }, + "list": { + "permissions": [ + "securityhub:ListFindingAggregators" + ] + } + }, + "attributes": { + "FindingAggregatorArn": { + "description": "The ARN of the FindingAggregator being created and assigned as the unique identifier", + "type": "string", + "markdownDescription": "The ARN of the FindingAggregator being created and assigned as the unique identifier\n\n---\n\nRequired: No \nType: String \nPattern: arn:aws\\S*:securityhub:\\S* \nUpdate requires: No interruption" + }, + "FindingAggregationRegion": { + "description": "The aggregation Region of the FindingAggregator", + "$ref": "#/definitions/Region", + "markdownDescription": "The aggregation Region of the FindingAggregator\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-securityhub-organizationconfiguration.json b/server/schema/resources/aws-securityhub-organizationconfiguration.json new file mode 100644 index 00000000..b0c713e5 --- /dev/null +++ b/server/schema/resources/aws-securityhub-organizationconfiguration.json @@ -0,0 +1,107 @@ +{ + "typeName": "AWS::SecurityHub::OrganizationConfiguration", + "description": "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.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-securityhub", + "properties": { + "AutoEnable": { + "description": "Whether to automatically enable Security Hub in new member accounts when they join the organization.", + "type": "boolean", + "markdownDescription": "Whether to automatically enable Security Hub in new member accounts when they join the organization.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + }, + "AutoEnableStandards": { + "description": "Whether to automatically enable Security Hub default standards in new member accounts when they join the organization.", + "type": "string", + "enum": [ + "DEFAULT", + "NONE" + ], + "markdownDescription": "Whether to automatically enable Security Hub default standards in new member accounts when they join the organization.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEFAULT | NONE \nUpdate requires: No interruption" + }, + "ConfigurationType": { + "description": "Indicates whether the organization uses local or central configuration.", + "type": "string", + "enum": [ + "CENTRAL", + "LOCAL" + ], + "markdownDescription": "Indicates whether the organization uses local or central configuration.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CENTRAL | LOCAL \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "AutoEnable" + ], + "readOnlyProperties": [ + "/properties/OrganizationConfigurationIdentifier", + "/properties/Status", + "/properties/StatusMessage", + "/properties/MemberAccountLimitReached" + ], + "primaryIdentifier": [ + "/properties/OrganizationConfigurationIdentifier" + ], + "tagging": { + "taggable": false + }, + "handlers": { + "create": { + "permissions": [ + "securityhub:UpdateOrganizationConfiguration", + "securityhub:DescribeOrganizationConfiguration", + "organizations:DescribeOrganization" + ] + }, + "read": { + "permissions": [ + "securityhub:DescribeOrganizationConfiguration" + ] + }, + "update": { + "permissions": [ + "securityhub:UpdateOrganizationConfiguration", + "securityhub:DescribeOrganizationConfiguration", + "organizations:DescribeOrganization" + ] + }, + "delete": { + "permissions": [ + "securityhub:UpdateOrganizationConfiguration", + "securityhub:DescribeOrganizationConfiguration", + "securityhub:ListFindingAggregators", + "organizations:DescribeOrganization" + ] + }, + "list": { + "permissions": [ + "securityhub:DescribeOrganizationConfiguration" + ] + } + }, + "attributes": { + "Status": { + "description": "Describes whether central configuration could be enabled as the ConfigurationType for the organization.", + "type": "string", + "enum": [ + "PENDING", + "ENABLED", + "FAILED" + ], + "markdownDescription": "Describes whether central configuration could be enabled as the ConfigurationType for the organization.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PENDING | ENABLED | FAILED \nUpdate requires: No interruption" + }, + "StatusMessage": { + "description": "Provides an explanation if the value of Status is equal to FAILED when ConfigurationType is equal to CENTRAL.", + "type": "string", + "markdownDescription": "Provides an explanation if the value of Status is equal to FAILED when ConfigurationType is equal to CENTRAL.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MemberAccountLimitReached": { + "description": "Whether the maximum number of allowed member accounts are already associated with the Security Hub administrator account.", + "type": "boolean", + "markdownDescription": "Whether the maximum number of allowed member accounts are already associated with the Security Hub administrator account.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "OrganizationConfigurationIdentifier": { + "description": "The identifier of the OrganizationConfiguration being created and assigned as the unique identifier.", + "type": "string", + "markdownDescription": "The identifier of the OrganizationConfiguration being created and assigned as the unique identifier.\n\n---\n\nRequired: No \nType: String \nPattern: ^[0-9]{12}/[a-zA-Z0-9-]{1,32}/securityhub-organization-configuration$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-securityhub-policyassociation.json b/server/schema/resources/aws-securityhub-policyassociation.json new file mode 100644 index 00000000..a4efe81f --- /dev/null +++ b/server/schema/resources/aws-securityhub-policyassociation.json @@ -0,0 +1,117 @@ +{ + "typeName": "AWS::SecurityHub::PolicyAssociation", + "description": "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.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-securityhub", + "properties": { + "ConfigurationPolicyId": { + "description": "The universally unique identifier (UUID) of the configuration policy or a value of SELF_MANAGED_SECURITY_HUB for a self-managed configuration", + "type": "string", + "markdownDescription": "The universally unique identifier (UUID) of the configuration policy or a value of SELF_MANAGED_SECURITY_HUB for a self-managed configuration\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^SELF_MANAGED_SECURITY_HUB$ \nUpdate requires: No interruption" + }, + "TargetId": { + "description": "The identifier of the target account, organizational unit, or the root", + "type": "string", + "markdownDescription": "The identifier of the target account, organizational unit, or the root\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "TargetType": { + "description": "Indicates whether the target is an AWS account, organizational unit, or the organization root", + "type": "string", + "enum": [ + "ACCOUNT", + "ORGANIZATIONAL_UNIT", + "ROOT" + ], + "markdownDescription": "Indicates whether the target is an AWS account, organizational unit, or the organization root\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ACCOUNT | ORGANIZATIONAL_UNIT | ROOT \nUpdate requires: Replacement" + } + }, + "additionalProperties": false, + "required": [ + "TargetId", + "TargetType", + "ConfigurationPolicyId" + ], + "readOnlyProperties": [ + "/properties/AssociationStatus", + "/properties/AssociationType", + "/properties/AssociationStatusMessage", + "/properties/UpdatedAt", + "/properties/AssociationIdentifier" + ], + "createOnlyProperties": [ + "/properties/TargetId", + "/properties/TargetType" + ], + "primaryIdentifier": [ + "/properties/AssociationIdentifier" + ], + "tagging": { + "taggable": false + }, + "handlers": { + "create": { + "permissions": [ + "securityhub:StartConfigurationPolicyAssociation", + "securityhub:GetConfigurationPolicyAssociation" + ] + }, + "read": { + "permissions": [ + "securityhub:GetConfigurationPolicyAssociation", + "securityhub:GetConfigurationPolicyAssociation" + ] + }, + "update": { + "permissions": [ + "securityhub:StartConfigurationPolicyAssociation", + "securityhub:GetConfigurationPolicyAssociation" + ] + }, + "delete": { + "permissions": [ + "securityhub:StartConfigurationPolicyDisassociation", + "securityhub:GetConfigurationPolicyAssociation" + ] + }, + "list": { + "permissions": [ + "securityhub:ListConfigurationPolicyAssociations" + ] + } + }, + "attributes": { + "AssociationStatus": { + "description": "The current status of the association between the specified target and the configuration", + "type": "string", + "enum": [ + "SUCCESS", + "PENDING", + "FAILED" + ], + "markdownDescription": "The current status of the association between the specified target and the configuration\n\n---\n\nRequired: No \nType: String \nAllowed Values: SUCCESS | PENDING | FAILED \nUpdate requires: No interruption" + }, + "AssociationType": { + "description": "Indicates whether the association between the specified target and the configuration was directly applied by the Security Hub delegated administrator or inherited from a parent", + "type": "string", + "enum": [ + "APPLIED", + "INHERITED" + ], + "markdownDescription": "Indicates whether the association between the specified target and the configuration was directly applied by the Security Hub delegated administrator or inherited from a parent\n\n---\n\nRequired: No \nType: String \nAllowed Values: APPLIED | INHERITED \nUpdate requires: No interruption" + }, + "AssociationStatusMessage": { + "description": "An explanation for a FAILED value for AssociationStatus", + "type": "string", + "markdownDescription": "An explanation for a FAILED value for AssociationStatus\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "UpdatedAt": { + "description": "The date and time, in UTC and ISO 8601 format, that the configuration policy association was last updated", + "type": "string", + "markdownDescription": "The date and time, in UTC and ISO 8601 format, that the configuration policy association was last updated\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AssociationIdentifier": { + "description": "A unique identifier to indicates if the target has an association", + "type": "string", + "markdownDescription": "A unique identifier to indicates if the target has an 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-securityhub-securitycontrol.json b/server/schema/resources/aws-securityhub-securitycontrol.json new file mode 100644 index 00000000..36ec0563 --- /dev/null +++ b/server/schema/resources/aws-securityhub-securitycontrol.json @@ -0,0 +1,238 @@ +{ + "typeName": "AWS::SecurityHub::SecurityControl", + "description": "A security control in Security Hub describes a security best practice related to a specific resource.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-securityhub", + "definitions": { + "NonEmptyString": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: .*\\S.* \nUpdate requires: No interruption" + }, + "NonEmptyStringList": { + "items": { + "$ref": "#/definitions/NonEmptyString" + }, + "type": "array", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "IntegerList": { + "items": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "type": "array", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Parameters": { + "type": "object", + "patternProperties": { + ".*\\S.*": { + "$ref": "#/definitions/ParameterConfiguration" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ParameterConfiguration": { + "type": "object", + "properties": { + "ValueType": { + "type": "string", + "enum": [ + "DEFAULT", + "CUSTOM" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DEFAULT | CUSTOM \nUpdate requires: No interruption" + }, + "Value": { + "$ref": "#/definitions/ParameterValue" + } + }, + "additionalProperties": false, + "required": [ + "ValueType" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ParameterValue": { + "type": "object", + "properties": { + "Boolean": { + "description": "A control parameter that is a boolean.", + "type": "boolean", + "markdownDescription": "A control parameter that is a boolean.\n\n---\n\nRequired: Conditional \nType: Boolean \nUpdate requires: No interruption" + }, + "Double": { + "description": "A control parameter that is a double.", + "type": "number", + "markdownDescription": "A control parameter that is a double.\n\n---\n\nRequired: Conditional \nType: Number \nUpdate requires: No interruption" + }, + "Enum": { + "description": "A control parameter that is a enum.", + "$ref": "#/definitions/NonEmptyString", + "markdownDescription": "A control parameter that is a enum.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + }, + "EnumList": { + "description": "A control parameter that is a list of enums.", + "$ref": "#/definitions/NonEmptyStringList", + "markdownDescription": "A control parameter that is a list of enums.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + }, + "Integer": { + "description": "A control parameter that is a integer.", + "type": "integer", + "markdownDescription": "A control parameter that is a integer.\n\n---\n\nRequired: Conditional \nType: Integer \nUpdate requires: No interruption" + }, + "IntegerList": { + "description": "A control parameter that is a list of integers.", + "$ref": "#/definitions/IntegerList", + "markdownDescription": "A control parameter that is a list of integers.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + }, + "String": { + "description": "A control parameter that is a string.", + "$ref": "#/definitions/NonEmptyString", + "markdownDescription": "A control parameter that is a string.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + }, + "StringList": { + "description": "A control parameter that is a list of strings.", + "$ref": "#/definitions/NonEmptyStringList", + "markdownDescription": "A control parameter that is a list of strings.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + } + }, + "oneOf": [ + { + "required": [ + "Boolean" + ] + }, + { + "required": [ + "Double" + ] + }, + { + "required": [ + "Enum" + ] + }, + { + "required": [ + "EnumList" + ] + }, + { + "required": [ + "Integer" + ] + }, + { + "required": [ + "IntegerList" + ] + }, + { + "required": [ + "String" + ] + }, + { + "required": [ + "StringList" + ] + } + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "SecurityControlId": { + "description": "The unique identifier of a security control across standards. Values for this field typically consist of an AWS service name and a number, such as APIGateway.3.", + "$ref": "#/definitions/NonEmptyString", + "markdownDescription": "The unique identifier of a security control across standards. Values for this field typically consist of an AWS service name and a number, such as APIGateway.3.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + }, + "SecurityControlArn": { + "description": "The Amazon Resource Name (ARN) for a security control across standards, such as `arn:aws:securityhub:eu-central-1:123456789012:security-control/S3.1`. This parameter doesn't mention a specific standard.", + "$ref": "#/definitions/NonEmptyString", + "markdownDescription": "The Amazon Resource Name (ARN) for a security control across standards, such as `arn:aws:securityhub:eu-central-1:123456789012:security-control/S3.1`. This parameter doesn't mention a specific standard.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + }, + "LastUpdateReason": { + "description": "The most recent reason for updating the customizable properties of a security control. This differs from the UpdateReason field of the BatchUpdateStandardsControlAssociations API, which tracks the reason for updating the enablement status of a control. This field accepts alphanumeric characters in addition to white spaces, dashes, and underscores.", + "type": "string", + "markdownDescription": "The most recent reason for updating the customizable properties of a security control. This differs from the UpdateReason field of the BatchUpdateStandardsControlAssociations API, which tracks the reason for updating the enablement status of a control. This field accepts alphanumeric characters in addition to white spaces, dashes, and underscores.\n\n---\n\nRequired: No \nType: String \nPattern: ^([^\u0000-\u007f]|[-_ a-zA-Z0-9])+$ \nUpdate requires: No interruption" + }, + "Parameters": { + "description": "An object that identifies the name of a control parameter, its current value, and whether it has been customized.", + "$ref": "#/definitions/Parameters", + "markdownDescription": "An object that identifies the name of a control parameter, its current value, and whether it has been customized.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "SecurityControlId" + ] + }, + { + "required": [ + "SecurityControlArn" + ] + } + ], + "required": [ + "Parameters" + ], + "primaryIdentifier": [ + "/properties/SecurityControlId" + ], + "additionalIdentifiers": [ + [ + "/properties/SecurityControlArn" + ] + ], + "tagging": { + "taggable": false + }, + "handlers": { + "create": { + "permissions": [ + "securityhub:BatchGetSecurityControls", + "securityhub:DescribeStandardsControls", + "securityhub:UpdateSecurityControl", + "securityhub:UpdateStandardsControl" + ], + "timeoutInMinutes": 2160 + }, + "read": { + "permissions": [ + "securityhub:BatchGetSecurityControls", + "securityhub:DescribeStandardsControls" + ] + }, + "update": { + "permissions": [ + "securityhub:BatchGetSecurityControls", + "securityhub:DescribeStandardsControls", + "securityhub:UpdateSecurityControl", + "securityhub:UpdateStandardsControl" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "securityhub:BatchGetSecurityControls", + "securityhub:DescribeStandardsControls", + "securityhub:UpdateSecurityControl", + "securityhub:UpdateStandardsControl" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "securityhub:BatchGetSecurityControls", + "securityhub:DescribeStandardsControls", + "securityhub:ListSecurityControlDefinitions" + ] + } + }, + "attributes": {} +} \ No newline at end of file diff --git a/server/schema/resources/aws-securitylake-datalake.json b/server/schema/resources/aws-securitylake-datalake.json index c83dd23b..cf527ff4 100644 --- a/server/schema/resources/aws-securitylake-datalake.json +++ b/server/schema/resources/aws-securitylake-datalake.json @@ -136,7 +136,7 @@ "MetaStoreManagerRoleArn": { "description": "The Amazon Resource Name (ARN) used to index AWS Glue table partitions that are generated by the ingestion and normalization of AWS log sources and custom sources.", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) used to index AWS Glue table partitions that are generated by the ingestion and normalization of AWS log sources and custom sources.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:.*$ \nUpdate requires: Replacement" + "markdownDescription": "The Amazon Resource Name (ARN) used to index AWS Glue table partitions that are generated by the ingestion and normalization of AWS log sources and custom sources.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:.*$ \nUpdate requires: No interruption" }, "Tags": { "type": "array", @@ -151,16 +151,13 @@ "primaryIdentifier": [ "/properties/Arn" ], - "createOnlyProperties": [ - "/properties/MetaStoreManagerRoleArn" - ], - "writeOnlyProperties": [ - "/properties/MetaStoreManagerRoleArn" - ], "readOnlyProperties": [ "/properties/Arn", "/properties/S3BucketArn" ], + "writeOnlyProperties": [ + "/properties/MetaStoreManagerRoleArn" + ], "tagging": { "taggable": true, "tagOnCreate": true, diff --git a/server/schema/resources/aws-securitylake-subscriber.json b/server/schema/resources/aws-securitylake-subscriber.json index 5e4397bd..590096a9 100644 --- a/server/schema/resources/aws-securitylake-subscriber.json +++ b/server/schema/resources/aws-securitylake-subscriber.json @@ -59,30 +59,25 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Source": { + "properties": { + "AwsLogSource": { + "$ref": "#/definitions/AwsLogSource" + }, + "CustomLogSource": { + "$ref": "#/definitions/CustomLogSource" + } + }, + "additionalProperties": false, "oneOf": [ { - "type": "object", - "properties": { - "AwsLogSource": { - "$ref": "#/definitions/AwsLogSource" - } - }, "required": [ "AwsLogSource" - ], - "additionalProperties": false + ] }, { - "type": "object", - "properties": { - "CustomLogSource": { - "$ref": "#/definitions/CustomLogSource" - } - }, "required": [ "CustomLogSource" - ], - "additionalProperties": false + ] } ] }, diff --git a/server/schema/resources/aws-securitylake-subscribernotification.json b/server/schema/resources/aws-securitylake-subscribernotification.json new file mode 100644 index 00000000..3c03db22 --- /dev/null +++ b/server/schema/resources/aws-securitylake-subscribernotification.json @@ -0,0 +1,215 @@ +{ + "typeName": "AWS::SecurityLake::SubscriberNotification", + "description": "Resource Type definition for AWS::SecurityLake::SubscriberNotification", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-securitylake.git", + "definitions": { + "HttpsNotificationConfiguration": { + "type": "object", + "properties": { + "AuthorizationApiKeyName": { + "type": "string", + "description": "The key name for the notification subscription.", + "markdownDescription": "The key name for the notification subscription.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AuthorizationApiKeyValue": { + "type": "string", + "description": "The key value for the notification subscription.", + "markdownDescription": "The key value for the notification subscription.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Endpoint": { + "type": "string", + "description": "The subscription endpoint in Security Lake.", + "markdownDescription": "The subscription endpoint in Security Lake.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^https?://.+$ \nUpdate requires: No interruption" + }, + "HttpMethod": { + "type": "string", + "enum": [ + "POST", + "PUT" + ], + "description": "The HTTPS method used for the notification subscription.", + "markdownDescription": "The HTTPS method used for the notification subscription.\n\n---\n\nRequired: No \nType: String \nAllowed Values: POST | PUT \nUpdate requires: No interruption" + }, + "TargetRoleArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role that you created.", + "markdownDescription": "The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role that you created.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:.*$ \nUpdate requires: No interruption" + } + }, + "description": "The configuration for HTTPS subscriber notification.", + "additionalProperties": false, + "required": [ + "Endpoint", + "TargetRoleArn" + ], + "markdownDescription": "The configuration for HTTPS subscriber notification.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SqsNotificationConfiguration": { + "type": "object", + "description": "The configurations for SQS subscriber notification. The members of this structure are context-dependent.", + "markdownDescription": "The configurations for SQS subscriber notification. The members of this structure are context-dependent.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NotificationConfiguration": { + "type": "object", + "properties": { + "HttpsNotificationConfiguration": { + "$ref": "#/definitions/HttpsNotificationConfiguration" + }, + "SqsNotificationConfiguration": { + "$ref": "#/definitions/SqsNotificationConfiguration" + } + }, + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "HttpsNotificationConfiguration" + ] + }, + { + "required": [ + "SqsNotificationConfiguration" + ] + } + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "NotificationConfiguration": { + "$ref": "#/definitions/NotificationConfiguration" + }, + "SubscriberArn": { + "description": "The ARN for the subscriber", + "type": "string", + "markdownDescription": "The ARN for the subscriber\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:.*$ \nUpdate requires: Replacement" + } + }, + "tagging": { + "taggable": false + }, + "additionalProperties": false, + "required": [ + "SubscriberArn", + "NotificationConfiguration" + ], + "primaryIdentifier": [ + "/properties/SubscriberArn" + ], + "readOnlyProperties": [ + "/properties/SubscriberEndpoint" + ], + "createOnlyProperties": [ + "/properties/SubscriberArn" + ], + "writeOnlyProperties": [ + "/properties/NotificationConfiguration/HttpsNotificationConfiguration/AuthorizationApiKeyName", + "/properties/NotificationConfiguration/HttpsNotificationConfiguration/AuthorizationApiKeyValue", + "/properties/NotificationConfiguration/HttpsNotificationConfiguration/Endpoint", + "/properties/NotificationConfiguration/HttpsNotificationConfiguration/HttpMethod", + "/properties/NotificationConfiguration/HttpsNotificationConfiguration/TargetRoleArn" + ], + "replacementStrategy": "delete_then_create", + "handlers": { + "create": { + "permissions": [ + "securitylake:CreateDataLake", + "securitylake:CreateSubscriber", + "securitylake:CreateSubscriberNotification", + "securitylake:GetSubscriber", + "iam:CreateServiceLinkedRole", + "iam:PutRolePolicy", + "iam:DeleteRolePolicy", + "iam:PassRole", + "s3:PutBucketNotification", + "s3:GetBucketNotification", + "events:CreateApiDestination", + "events:CreateConnection", + "events:CreateRule", + "events:UpdateConnection", + "events:DeleteConnection", + "events:UpdateApiDestination", + "events:DeleteApiDestination", + "events:ListApiDestinations", + "events:ListConnections", + "events:PutRule", + "events:DescribeRule", + "events:DeleteRule", + "events:PutTargets", + "events:RemoveTargets", + "events:ListTargetsByRule", + "secretsmanager:CreateSecret", + "sqs:CreateQueue", + "sqs:GetQueueAttributes", + "sqs:GetQueueUrl", + "sqs:SetQueueAttributes" + ] + }, + "read": { + "permissions": [ + "securitylake:GetSubscriber" + ] + }, + "update": { + "permissions": [ + "securitylake:UpdateSubscriberNotification", + "securitylake:GetSubscriber", + "iam:CreateServiceLinkedRole", + "iam:PutRolePolicy", + "iam:DeleteRolePolicy", + "iam:PassRole", + "events:CreateApiDestination", + "events:CreateConnection", + "events:UpdateConnection", + "events:DeleteConnection", + "events:UpdateApiDestination", + "events:DeleteApiDestination", + "events:DeleteRule", + "events:ListApiDestinations", + "events:ListConnections", + "events:PutRule", + "events:DescribeRule", + "events:DeleteRule", + "events:PutTargets", + "events:RemoveTargets", + "events:ListTargetsByRule", + "secretsmanager:CreateSecret", + "s3:GetBucketNotificationConfiguration", + "s3:PutBucketNotificationConfiguration", + "s3:PutBucketNotification", + "s3:GetBucketNotification", + "sqs:CreateQueue", + "sqs:DeleteQueue", + "sqs:GetQueueAttributes", + "sqs:SetQueueAttributes" + ] + }, + "delete": { + "permissions": [ + "securitylake:DeleteSubscriberNotification", + "securitylake:GetSubscriber", + "iam:DeleteRole", + "iam:DeleteRolePolicy", + "events:DeleteApiDestination", + "events:DeleteConnection", + "events:DeleteRule", + "events:ListTargetsByRule", + "events:DescribeRule", + "events:RemoveTargets", + "sqs:DeleteQueue" + ] + }, + "list": { + "permissions": [ + "securitylake:ListSubscribers" + ] + } + }, + "attributes": { + "SubscriberEndpoint": { + "description": "The endpoint the subscriber should listen to for notifications", + "type": "string", + "markdownDescription": "The endpoint the subscriber should listen to for notifications\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-ses-configurationset.json b/server/schema/resources/aws-ses-configurationset.json index 0794e3e5..af30da62 100644 --- a/server/schema/resources/aws-ses-configurationset.json +++ b/server/schema/resources/aws-ses-configurationset.json @@ -11,9 +11,12 @@ "CustomRedirectDomain": { "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" + "markdownDescription": "The domain to use for tracking open and click events.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, + "required": [ + "CustomRedirectDomain" + ], "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" }, "DeliveryOptions": { diff --git a/server/schema/resources/aws-ses-configurationseteventdestination.json b/server/schema/resources/aws-ses-configurationseteventdestination.json index f859273e..1ae94e90 100644 --- a/server/schema/resources/aws-ses-configurationseteventdestination.json +++ b/server/schema/resources/aws-ses-configurationseteventdestination.json @@ -42,6 +42,11 @@ "description": "An object that contains SNS topic ARN associated event destination.", "$ref": "#/definitions/SnsDestination", "markdownDescription": "An object that contains SNS topic ARN associated event destination.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "EventBridgeDestination": { + "description": "An object that contains Event bus ARN associated with the event bridge destination.", + "$ref": "#/definitions/EventBridgeDestination", + "markdownDescription": "An object that contains Event bus ARN associated with the event bridge destination.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -49,6 +54,23 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "EventBridgeDestination": { + "type": "object", + "additionalProperties": false, + "description": "An object that contains Event bus ARN associated with the event bridge destination.", + "properties": { + "EventBusArn": { + "type": "string", + "minLength": 36, + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 36 \nMaximum Length: 1024 \nPattern: ^arn:aws[a-z0-9-]*:events:[a-z0-9-]+:\\d{12}:event-bus/[^:]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "EventBusArn" + ], + "markdownDescription": "An object that contains Event bus ARN associated with the event bridge destination.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SnsDestination": { "type": "object", "additionalProperties": false, diff --git a/server/schema/resources/aws-ses-mailmanageraddoninstance.json b/server/schema/resources/aws-ses-mailmanageraddoninstance.json new file mode 100644 index 00000000..1d71c951 --- /dev/null +++ b/server/schema/resources/aws-ses-mailmanageraddoninstance.json @@ -0,0 +1,124 @@ +{ + "typeName": "AWS::SES::MailManagerAddonInstance", + "description": "Definition of AWS::SES::MailManagerAddonInstance Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "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 \nPattern: ^[a-zA-Z0-9/_\\+=\\.:@\\-]+$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9/_\\+=\\.:@\\-]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "AddonSubscriptionId": { + "type": "string", + "maxLength": 67, + "minLength": 4, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 4 \nMaximum Length: 67 \nPattern: ^as-[a-zA-Z0-9]{1,64}$ \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" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ] + }, + "required": [ + "AddonSubscriptionId" + ], + "readOnlyProperties": [ + "/properties/AddonInstanceArn", + "/properties/AddonInstanceId", + "/properties/AddonName" + ], + "createOnlyProperties": [ + "/properties/AddonSubscriptionId" + ], + "primaryIdentifier": [ + "/properties/AddonInstanceId" + ], + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetAddonInstance", + "ses:CreateAddonInstance" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetAddonInstance" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetAddonInstance" + ] + }, + "delete": { + "permissions": [ + "ses:GetAddonInstance", + "ses:DeleteAddonInstance" + ] + }, + "list": { + "permissions": [ + "ses:ListAddonInstances" + ] + } + }, + "additionalProperties": false, + "attributes": { + "AddonInstanceArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AddonInstanceId": { + "type": "string", + "maxLength": 67, + "minLength": 4, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 4 \nMaximum Length: 67 \nPattern: ^ai-[a-zA-Z0-9]{1,64}$ \nUpdate requires: No interruption" + }, + "AddonName": { + "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-ses-mailmanageraddonsubscription.json b/server/schema/resources/aws-ses-mailmanageraddonsubscription.json new file mode 100644 index 00000000..7430a08e --- /dev/null +++ b/server/schema/resources/aws-ses-mailmanageraddonsubscription.json @@ -0,0 +1,117 @@ +{ + "typeName": "AWS::SES::MailManagerAddonSubscription", + "description": "Definition of AWS::SES::MailManagerAddonSubscription Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "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 \nPattern: ^[a-zA-Z0-9/_\\+=\\.:@\\-]+$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9/_\\+=\\.:@\\-]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "AddonName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \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": [ + "AddonName" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ] + }, + "createOnlyProperties": [ + "/properties/AddonName" + ], + "readOnlyProperties": [ + "/properties/AddonSubscriptionArn", + "/properties/AddonSubscriptionId" + ], + "primaryIdentifier": [ + "/properties/AddonSubscriptionId" + ], + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetAddonSubscription", + "ses:CreateAddonSubscription" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetAddonSubscription" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetAddonSubscription" + ] + }, + "delete": { + "permissions": [ + "ses:GetAddonSubscription", + "ses:DeleteAddonSubscription" + ] + }, + "list": { + "permissions": [ + "ses:ListAddonSubscriptions" + ] + } + }, + "additionalProperties": false, + "attributes": { + "AddonSubscriptionArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AddonSubscriptionId": { + "type": "string", + "maxLength": 67, + "minLength": 4, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 4 \nMaximum Length: 67 \nPattern: ^as-[a-zA-Z0-9]{1,64}$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-ses-mailmanagerarchive.json b/server/schema/resources/aws-ses-mailmanagerarchive.json new file mode 100644 index 00000000..1995424c --- /dev/null +++ b/server/schema/resources/aws-ses-mailmanagerarchive.json @@ -0,0 +1,178 @@ +{ + "typeName": "AWS::SES::MailManagerArchive", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "description": "Definition of AWS::SES::MailManagerArchive Resource Type", + "definitions": { + "ArchiveRetention": { + "oneOf": [ + { + "type": "object", + "title": "RetentionPeriod", + "properties": { + "RetentionPeriod": { + "$ref": "#/definitions/RetentionPeriod" + } + }, + "required": [ + "RetentionPeriod" + ], + "additionalProperties": false + } + ] + }, + "ArchiveState": { + "type": "string", + "enum": [ + "ACTIVE", + "PENDING_DELETION" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACTIVE | PENDING_DELETION \nUpdate requires: No interruption" + }, + "RetentionPeriod": { + "type": "string", + "enum": [ + "THREE_MONTHS", + "SIX_MONTHS", + "NINE_MONTHS", + "ONE_YEAR", + "EIGHTEEN_MONTHS", + "TWO_YEARS", + "THIRTY_MONTHS", + "THREE_YEARS", + "FOUR_YEARS", + "FIVE_YEARS", + "SIX_YEARS", + "SEVEN_YEARS", + "EIGHT_YEARS", + "NINE_YEARS", + "TEN_YEARS", + "PERMANENT" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: THREE_MONTHS | SIX_MONTHS | NINE_MONTHS | ONE_YEAR | EIGHTEEN_MONTHS | TWO_YEARS | THIRTY_MONTHS | THREE_YEARS | FOUR_YEARS | FIVE_YEARS | SIX_YEARS | SEVEN_YEARS | EIGHT_YEARS | NINE_YEARS | TEN_YEARS | PERMANENT \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: ^[a-zA-Z0-9/_\\+=\\.:@\\-]+$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9/_\\+=\\.:@\\-]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "ArchiveName": { + "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][a-zA-Z0-9_-]*[a-zA-Z0-9]$ \nUpdate requires: No interruption" + }, + "KmsKeyArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws(|-cn|-us-gov):kms:[a-z0-9-]{1,20}:[0-9]{12}:(key|alias)/.+$ \nUpdate requires: Replacement" + }, + "Retention": { + "$ref": "#/definitions/ArchiveRetention" + }, + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "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": [ + "ses:TagResource", + "ses:UntagResource" + ] + }, + "readOnlyProperties": [ + "/properties/ArchiveArn", + "/properties/ArchiveId", + "/properties/ArchiveState" + ], + "createOnlyProperties": [ + "/properties/KmsKeyArn" + ], + "primaryIdentifier": [ + "/properties/ArchiveId" + ], + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetArchive", + "ses:CreateArchive", + "kms:DescribeKey", + "kms:Decrypt", + "kms:GenerateDataKey" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetArchive" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetArchive", + "ses:UpdateArchive" + ] + }, + "delete": { + "permissions": [ + "ses:GetArchive", + "ses:DeleteArchive" + ] + }, + "list": { + "permissions": [ + "ses:ListArchives" + ] + } + }, + "additionalProperties": false, + "attributes": { + "ArchiveArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ArchiveId": { + "type": "string", + "maxLength": 66, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 66 \nUpdate requires: No interruption" + }, + "ArchiveState": { + "$ref": "#/definitions/ArchiveState" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-ses-mailmanageringresspoint.json b/server/schema/resources/aws-ses-mailmanageringresspoint.json new file mode 100644 index 00000000..9bbf2f5d --- /dev/null +++ b/server/schema/resources/aws-ses-mailmanageringresspoint.json @@ -0,0 +1,218 @@ +{ + "typeName": "AWS::SES::MailManagerIngressPoint", + "description": "Definition of AWS::SES::MailManagerIngressPoint Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "definitions": { + "IngressPointConfiguration": { + "oneOf": [ + { + "type": "object", + "title": "SmtpPassword", + "properties": { + "SmtpPassword": { + "type": "string", + "maxLength": 64, + "minLength": 8, + "pattern": "^[A-Za-z0-9!@#$%^&*()_+\\-=\\[\\]{}|.,?]+$" + } + }, + "required": [ + "SmtpPassword" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "SecretArn", + "properties": { + "SecretArn": { + "type": "string", + "pattern": "^arn:(aws|aws-cn|aws-us-gov):secretsmanager:[a-z0-9-]+:\\d{12}:secret:[a-zA-Z0-9/_+=,.@-]+$" + } + }, + "required": [ + "SecretArn" + ], + "additionalProperties": false + } + ] + }, + "IngressPointStatus": { + "type": "string", + "enum": [ + "PROVISIONING", + "DEPROVISIONING", + "UPDATING", + "ACTIVE", + "CLOSED", + "FAILED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PROVISIONING | DEPROVISIONING | UPDATING | ACTIVE | CLOSED | FAILED \nUpdate requires: No interruption" + }, + "IngressPointStatusToUpdate": { + "type": "string", + "enum": [ + "ACTIVE", + "CLOSED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACTIVE | CLOSED \nUpdate requires: No interruption" + }, + "IngressPointType": { + "type": "string", + "enum": [ + "OPEN", + "AUTH" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: OPEN | AUTH \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: ^[a-zA-Z0-9/_\\+=\\.:@\\-]+$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9/_\\+=\\.:@\\-]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "TrafficPolicyId": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + }, + "IngressPointConfiguration": { + "$ref": "#/definitions/IngressPointConfiguration" + }, + "IngressPointName": { + "type": "string", + "maxLength": 63, + "minLength": 3, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 63 \nPattern: ^[A-Za-z0-9_\\-]+$ \nUpdate requires: No interruption" + }, + "RuleSetId": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + }, + "StatusToUpdate": { + "$ref": "#/definitions/IngressPointStatusToUpdate" + }, + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Type": { + "$ref": "#/definitions/IngressPointType" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ] + }, + "required": [ + "Type", + "TrafficPolicyId", + "RuleSetId" + ], + "readOnlyProperties": [ + "/properties/IngressPointId", + "/properties/IngressPointArn", + "/properties/Status", + "/properties/ARecord" + ], + "createOnlyProperties": [ + "/properties/Type" + ], + "writeOnlyProperties": [ + "/properties/IngressPointConfiguration" + ], + "primaryIdentifier": [ + "/properties/IngressPointId" + ], + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetIngressPoint", + "ses:CreateIngressPoint", + "iam:CreateServiceLinkedRole" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetIngressPoint" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetIngressPoint", + "ses:UpdateIngressPoint" + ] + }, + "delete": { + "permissions": [ + "ses:GetIngressPoint", + "ses:DeleteIngressPoint" + ] + }, + "list": { + "permissions": [ + "ses:ListIngressPoints" + ] + } + }, + "additionalProperties": false, + "attributes": { + "ARecord": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IngressPointArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IngressPointId": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + }, + "Status": { + "$ref": "#/definitions/IngressPointStatus" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-ses-mailmanagerrelay.json b/server/schema/resources/aws-ses-mailmanagerrelay.json new file mode 100644 index 00000000..5844cf45 --- /dev/null +++ b/server/schema/resources/aws-ses-mailmanagerrelay.json @@ -0,0 +1,170 @@ +{ + "typeName": "AWS::SES::MailManagerRelay", + "description": "Definition of AWS::SES::MailManagerRelay Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "definitions": { + "NoAuthentication": { + "type": "object", + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RelayAuthentication": { + "oneOf": [ + { + "type": "object", + "title": "SecretArn", + "properties": { + "SecretArn": { + "type": "string", + "pattern": "^arn:(aws|aws-cn|aws-us-gov):secretsmanager:[a-z0-9-]+:\\d{12}:secret:[a-zA-Z0-9/_+=,.@-]+$" + } + }, + "required": [ + "SecretArn" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "NoAuthentication", + "properties": { + "NoAuthentication": { + "$ref": "#/definitions/NoAuthentication" + } + }, + "required": [ + "NoAuthentication" + ], + "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 \nPattern: ^[a-zA-Z0-9/_\\+=\\.:@\\-]+$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9/_\\+=\\.:@\\-]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ] + }, + "properties": { + "Authentication": { + "$ref": "#/definitions/RelayAuthentication" + }, + "RelayName": { + "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" + }, + "ServerName": { + "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: No interruption" + }, + "ServerPort": { + "type": "number", + "maximum": 65535, + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Authentication", + "ServerName", + "ServerPort" + ], + "readOnlyProperties": [ + "/properties/RelayArn", + "/properties/RelayId" + ], + "primaryIdentifier": [ + "/properties/RelayId" + ], + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetRelay", + "ses:CreateRelay" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetRelay" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetRelay", + "ses:UpdateRelay" + ] + }, + "delete": { + "permissions": [ + "ses:GetRelay", + "ses:DeleteRelay" + ] + }, + "list": { + "permissions": [ + "ses:ListRelays" + ] + } + }, + "additionalProperties": false, + "attributes": { + "RelayArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RelayId": { + "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" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-ses-mailmanagerruleset.json b/server/schema/resources/aws-ses-mailmanagerruleset.json new file mode 100644 index 00000000..128a651f --- /dev/null +++ b/server/schema/resources/aws-ses-mailmanagerruleset.json @@ -0,0 +1,934 @@ +{ + "typeName": "AWS::SES::MailManagerRuleSet", + "description": "Definition of AWS::SES::MailManagerRuleSet Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "definitions": { + "ActionFailurePolicy": { + "type": "string", + "enum": [ + "CONTINUE", + "DROP" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CONTINUE | DROP \nUpdate requires: No interruption" + }, + "AddHeaderAction": { + "type": "object", + "properties": { + "HeaderName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[xX]\\-[a-zA-Z0-9\\-]+$ \nUpdate requires: No interruption" + }, + "HeaderValue": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Analysis": { + "type": "object", + "properties": { + "Analyzer": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-zA-Z0-9:_/+=,@.#-]+$ \nUpdate requires: No interruption" + }, + "ResultField": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^[\\sa-zA-Z0-9_]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ArchiveAction": { + "type": "object", + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "TargetArchive": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[a-zA-Z0-9:_/+=,@.#-]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "TargetArchive" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DeliverToMailboxAction": { + "type": "object", + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailboxArn": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[a-zA-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": [ + "MailboxArn", + "RoleArn" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DropAction": { + "type": "object", + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MailFrom": { + "type": "string", + "enum": [ + "REPLACE", + "PRESERVE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: REPLACE | PRESERVE \nUpdate requires: No interruption" + }, + "RelayAction": { + "type": "object", + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "Relay": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[a-zA-Z0-9:_/+=,@.#-]+$ \nUpdate requires: No interruption" + }, + "MailFrom": { + "$ref": "#/definitions/MailFrom" + } + }, + "required": [ + "Relay" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ReplaceRecipientAction": { + "type": "object", + "properties": { + "ReplaceWith": { + "type": "array", + "items": { + "type": "string", + "maxLength": 254, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 254 \nPattern: ^[0-9A-Za-z@+.-]+$ \nUpdate requires: No interruption" + }, + "maxItems": 100, + "minItems": 1, + "uniqueItems": true, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Rule": { + "type": "object", + "properties": { + "Name": { + "type": "string", + "maxLength": 32, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32 \nPattern: ^[a-zA-Z0-9_.-]+$ \nUpdate requires: No interruption" + }, + "Conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Unless": { + "type": "array", + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Actions": { + "type": "array", + "items": { + "$ref": "#/definitions/RuleAction" + }, + "maxItems": 10, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Actions" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RuleAction": { + "oneOf": [ + { + "type": "object", + "title": "Drop", + "properties": { + "Drop": { + "$ref": "#/definitions/DropAction" + } + }, + "required": [ + "Drop" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "Relay", + "properties": { + "Relay": { + "$ref": "#/definitions/RelayAction" + } + }, + "required": [ + "Relay" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "Archive", + "properties": { + "Archive": { + "$ref": "#/definitions/ArchiveAction" + } + }, + "required": [ + "Archive" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "WriteToS3", + "properties": { + "WriteToS3": { + "$ref": "#/definitions/S3Action" + } + }, + "required": [ + "WriteToS3" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "Send", + "properties": { + "Send": { + "$ref": "#/definitions/SendAction" + } + }, + "required": [ + "Send" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "AddHeader", + "properties": { + "AddHeader": { + "$ref": "#/definitions/AddHeaderAction" + } + }, + "required": [ + "AddHeader" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "ReplaceRecipient", + "properties": { + "ReplaceRecipient": { + "$ref": "#/definitions/ReplaceRecipientAction" + } + }, + "required": [ + "ReplaceRecipient" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "DeliverToMailbox", + "properties": { + "DeliverToMailbox": { + "$ref": "#/definitions/DeliverToMailboxAction" + } + }, + "required": [ + "DeliverToMailbox" + ], + "additionalProperties": false + } + ] + }, + "RuleBooleanEmailAttribute": { + "type": "string", + "enum": [ + "READ_RECEIPT_REQUESTED", + "TLS", + "TLS_WRAPPED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: READ_RECEIPT_REQUESTED | TLS | TLS_WRAPPED \nUpdate requires: No interruption" + }, + "RuleBooleanExpression": { + "type": "object", + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RuleBooleanOperator": { + "type": "string", + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: IS_TRUE | IS_FALSE \nUpdate requires: No interruption" + }, + "RuleBooleanToEvaluate": { + "oneOf": [ + { + "type": "object", + "title": "Attribute", + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleBooleanEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "additionalProperties": false + } + ] + }, + "RuleCondition": { + "oneOf": [ + { + "type": "object", + "title": "BooleanExpression", + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/RuleBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "StringExpression", + "properties": { + "StringExpression": { + "$ref": "#/definitions/RuleStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "NumberExpression", + "properties": { + "NumberExpression": { + "$ref": "#/definitions/RuleNumberExpression" + } + }, + "required": [ + "NumberExpression" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "IpExpression", + "properties": { + "IpExpression": { + "$ref": "#/definitions/RuleIpExpression" + } + }, + "required": [ + "IpExpression" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "VerdictExpression", + "properties": { + "VerdictExpression": { + "$ref": "#/definitions/RuleVerdictExpression" + } + }, + "required": [ + "VerdictExpression" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "DmarcExpression", + "properties": { + "DmarcExpression": { + "$ref": "#/definitions/RuleDmarcExpression" + } + }, + "required": [ + "DmarcExpression" + ], + "additionalProperties": false + } + ] + }, + "RuleDmarcExpression": { + "type": "object", + "properties": { + "Operator": { + "$ref": "#/definitions/RuleDmarcOperator" + }, + "Values": { + "type": "array", + "items": { + "$ref": "#/definitions/RuleDmarcPolicy" + }, + "maxItems": 10, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Operator", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RuleDmarcOperator": { + "type": "string", + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: EQUALS | NOT_EQUALS \nUpdate requires: No interruption" + }, + "RuleDmarcPolicy": { + "type": "string", + "enum": [ + "NONE", + "QUARANTINE", + "REJECT" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: NONE | QUARANTINE | REJECT \nUpdate requires: No interruption" + }, + "RuleIpEmailAttribute": { + "type": "string", + "enum": [ + "SOURCE_IP" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SOURCE_IP \nUpdate requires: No interruption" + }, + "RuleIpExpression": { + "type": "object", + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleIpOperator" + }, + "Values": { + "type": "array", + "items": { + "type": "string", + "maxLength": 18, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 18 \nPattern: ^(([0-9]|.|/)*)$ \nUpdate requires: No interruption" + }, + "maxItems": 10, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RuleIpOperator": { + "type": "string", + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CIDR_MATCHES | NOT_CIDR_MATCHES \nUpdate requires: No interruption" + }, + "RuleIpToEvaluate": { + "oneOf": [ + { + "type": "object", + "title": "Attribute", + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleIpEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "additionalProperties": false + } + ] + }, + "RuleNumberEmailAttribute": { + "type": "string", + "enum": [ + "MESSAGE_SIZE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: MESSAGE_SIZE \nUpdate requires: No interruption" + }, + "RuleNumberExpression": { + "type": "object", + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleNumberToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleNumberOperator" + }, + "Value": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RuleNumberOperator": { + "type": "string", + "enum": [ + "EQUALS", + "NOT_EQUALS", + "LESS_THAN", + "GREATER_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN_OR_EQUAL" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: EQUALS | NOT_EQUALS | LESS_THAN | GREATER_THAN | LESS_THAN_OR_EQUAL | GREATER_THAN_OR_EQUAL \nUpdate requires: No interruption" + }, + "RuleNumberToEvaluate": { + "oneOf": [ + { + "type": "object", + "title": "Attribute", + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleNumberEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "additionalProperties": false + } + ] + }, + "RuleStringEmailAttribute": { + "type": "string", + "enum": [ + "MAIL_FROM", + "HELO", + "RECIPIENT", + "SENDER", + "FROM", + "SUBJECT", + "TO", + "CC" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: MAIL_FROM | HELO | RECIPIENT | SENDER | FROM | SUBJECT | TO | CC \nUpdate requires: No interruption" + }, + "RuleStringExpression": { + "type": "object", + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleStringOperator" + }, + "Values": { + "type": "array", + "items": { + "type": "string", + "maxLength": 4096, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nUpdate requires: No interruption" + }, + "maxItems": 10, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RuleStringOperator": { + "type": "string", + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: EQUALS | NOT_EQUALS | STARTS_WITH | ENDS_WITH | CONTAINS \nUpdate requires: No interruption" + }, + "RuleStringToEvaluate": { + "oneOf": [ + { + "type": "object", + "title": "Attribute", + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "additionalProperties": false + } + ] + }, + "RuleVerdict": { + "type": "string", + "enum": [ + "PASS", + "FAIL", + "GRAY", + "PROCESSING_FAILED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PASS | FAIL | GRAY | PROCESSING_FAILED \nUpdate requires: No interruption" + }, + "RuleVerdictAttribute": { + "type": "string", + "enum": [ + "SPF", + "DKIM" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SPF | DKIM \nUpdate requires: No interruption" + }, + "RuleVerdictExpression": { + "type": "object", + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleVerdictToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleVerdictOperator" + }, + "Values": { + "type": "array", + "items": { + "$ref": "#/definitions/RuleVerdict" + }, + "maxItems": 10, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RuleVerdictOperator": { + "type": "string", + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: EQUALS | NOT_EQUALS \nUpdate requires: No interruption" + }, + "RuleVerdictToEvaluate": { + "oneOf": [ + { + "type": "object", + "title": "Attribute", + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleVerdictAttribute" + } + }, + "required": [ + "Attribute" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "Analysis", + "properties": { + "Analysis": { + "$ref": "#/definitions/Analysis" + } + }, + "required": [ + "Analysis" + ], + "additionalProperties": false + } + ] + }, + "S3Action": { + "type": "object", + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "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" + }, + "S3Bucket": { + "type": "string", + "maxLength": 62, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 62 \nPattern: ^[a-zA-Z0-9.-]+$ \nUpdate requires: No interruption" + }, + "S3Prefix": { + "type": "string", + "maxLength": 62, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 62 \nPattern: ^[a-zA-Z0-9!_.*'()/-]+$ \nUpdate requires: No interruption" + }, + "S3SseKmsKeyId": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^[a-zA-Z0-9-:/]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "RoleArn", + "S3Bucket" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SendAction": { + "type": "object", + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "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": [ + "RoleArn" + ], + "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 \nPattern: ^[a-zA-Z0-9/_\\+=\\.:@\\-]+$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9/_\\+=\\.:@\\-]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ] + }, + "properties": { + "RuleSetName": { + "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" + }, + "Rules": { + "type": "array", + "items": { + "$ref": "#/definitions/Rule" + }, + "maxItems": 40, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Rules" + ], + "readOnlyProperties": [ + "/properties/RuleSetArn", + "/properties/RuleSetId" + ], + "primaryIdentifier": [ + "/properties/RuleSetId" + ], + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetRuleSet", + "ses:CreateRuleSet" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetRuleSet" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetRuleSet", + "ses:UpdateRuleSet" + ] + }, + "delete": { + "permissions": [ + "ses:GetRuleSet", + "ses:DeleteRuleSet" + ] + }, + "list": { + "permissions": [ + "ses:ListRuleSets" + ] + } + }, + "additionalProperties": false, + "attributes": { + "RuleSetArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RuleSetId": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-ses-mailmanagertrafficpolicy.json b/server/schema/resources/aws-ses-mailmanagertrafficpolicy.json new file mode 100644 index 00000000..7136bf6d --- /dev/null +++ b/server/schema/resources/aws-ses-mailmanagertrafficpolicy.json @@ -0,0 +1,462 @@ +{ + "typeName": "AWS::SES::MailManagerTrafficPolicy", + "description": "Definition of AWS::SES::MailManagerTrafficPolicy Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "definitions": { + "AcceptAction": { + "type": "string", + "enum": [ + "ALLOW", + "DENY" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALLOW | DENY \nUpdate requires: No interruption" + }, + "IngressAnalysis": { + "type": "object", + "properties": { + "Analyzer": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-zA-Z0-9:_/+=,@.#-]+$ \nUpdate requires: No interruption" + }, + "ResultField": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^[\\sa-zA-Z0-9_]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IngressBooleanExpression": { + "type": "object", + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IngressBooleanOperator": { + "type": "string", + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: IS_TRUE | IS_FALSE \nUpdate requires: No interruption" + }, + "IngressBooleanToEvaluate": { + "oneOf": [ + { + "type": "object", + "title": "Analysis", + "properties": { + "Analysis": { + "$ref": "#/definitions/IngressAnalysis" + } + }, + "required": [ + "Analysis" + ], + "additionalProperties": false + } + ] + }, + "IngressIpOperator": { + "type": "string", + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CIDR_MATCHES | NOT_CIDR_MATCHES \nUpdate requires: No interruption" + }, + "IngressIpToEvaluate": { + "oneOf": [ + { + "type": "object", + "title": "Attribute", + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressIpv4Attribute" + } + }, + "required": [ + "Attribute" + ], + "additionalProperties": false + } + ] + }, + "IngressIpv4Attribute": { + "type": "string", + "enum": [ + "SENDER_IP" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SENDER_IP \nUpdate requires: No interruption" + }, + "IngressIpv4Expression": { + "type": "object", + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressIpOperator" + }, + "Values": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/([0-9]|[12][0-9]|3[0-2])$ \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IngressStringEmailAttribute": { + "type": "string", + "enum": [ + "RECIPIENT" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: RECIPIENT \nUpdate requires: No interruption" + }, + "IngressStringExpression": { + "type": "object", + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressStringOperator" + }, + "Values": { + "type": "array", + "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" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IngressStringOperator": { + "type": "string", + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: EQUALS | NOT_EQUALS | STARTS_WITH | ENDS_WITH | CONTAINS \nUpdate requires: No interruption" + }, + "IngressStringToEvaluate": { + "oneOf": [ + { + "type": "object", + "title": "Attribute", + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "additionalProperties": false + } + ] + }, + "IngressTlsAttribute": { + "type": "string", + "enum": [ + "TLS_PROTOCOL" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: TLS_PROTOCOL \nUpdate requires: No interruption" + }, + "IngressTlsProtocolAttribute": { + "type": "string", + "enum": [ + "TLS1_2", + "TLS1_3" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: TLS1_2 | TLS1_3 \nUpdate requires: No interruption" + }, + "IngressTlsProtocolExpression": { + "type": "object", + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressTlsProtocolToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressTlsProtocolOperator" + }, + "Value": { + "$ref": "#/definitions/IngressTlsProtocolAttribute" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IngressTlsProtocolOperator": { + "type": "string", + "enum": [ + "MINIMUM_TLS_VERSION", + "IS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: MINIMUM_TLS_VERSION | IS \nUpdate requires: No interruption" + }, + "IngressTlsProtocolToEvaluate": { + "oneOf": [ + { + "type": "object", + "title": "Attribute", + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressTlsAttribute" + } + }, + "required": [ + "Attribute" + ], + "additionalProperties": false + } + ] + }, + "PolicyCondition": { + "oneOf": [ + { + "type": "object", + "title": "StringExpression", + "properties": { + "StringExpression": { + "$ref": "#/definitions/IngressStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "IpExpression", + "properties": { + "IpExpression": { + "$ref": "#/definitions/IngressIpv4Expression" + } + }, + "required": [ + "IpExpression" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "TlsExpression", + "properties": { + "TlsExpression": { + "$ref": "#/definitions/IngressTlsProtocolExpression" + } + }, + "required": [ + "TlsExpression" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "BooleanExpression", + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/IngressBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "additionalProperties": false + } + ] + }, + "PolicyStatement": { + "type": "object", + "properties": { + "Conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyCondition" + }, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "Action": { + "$ref": "#/definitions/AcceptAction" + } + }, + "required": [ + "Action", + "Conditions" + ], + "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 \nPattern: ^[a-zA-Z0-9/_\\+=\\.:@\\-]+$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9/_\\+=\\.:@\\-]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "DefaultAction": { + "$ref": "#/definitions/AcceptAction" + }, + "MaxMessageSizeBytes": { + "type": "number", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "PolicyStatements": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyStatement" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "TrafficPolicyName": { + "type": "string", + "maxLength": 63, + "minLength": 3, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 63 \nPattern: ^[A-Za-z0-9_\\-]+$ \nUpdate requires: No interruption" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ] + }, + "required": [ + "DefaultAction", + "PolicyStatements" + ], + "readOnlyProperties": [ + "/properties/TrafficPolicyArn", + "/properties/TrafficPolicyId" + ], + "primaryIdentifier": [ + "/properties/TrafficPolicyId" + ], + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetTrafficPolicy", + "ses:CreateTrafficPolicy" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetTrafficPolicy" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetTrafficPolicy", + "ses:UpdateTrafficPolicy" + ] + }, + "delete": { + "permissions": [ + "ses:GetTrafficPolicy", + "ses:DeleteTrafficPolicy" + ] + }, + "list": { + "permissions": [ + "ses:ListTrafficPolicies" + ] + } + }, + "additionalProperties": false, + "attributes": { + "TrafficPolicyArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TrafficPolicyId": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-shield-drtaccess.json b/server/schema/resources/aws-shield-drtaccess.json index 71b6a707..816c9fc7 100644 --- a/server/schema/resources/aws-shield-drtaccess.json +++ b/server/schema/resources/aws-shield-drtaccess.json @@ -84,7 +84,9 @@ ] }, "list": { - "permissions": [] + "permissions": [ + "shield:DescribeDRTAccess" + ] } }, "attributes": { diff --git a/server/schema/resources/aws-signer-profilepermission.json b/server/schema/resources/aws-signer-profilepermission.json index 2802858f..3e50eb06 100644 --- a/server/schema/resources/aws-signer-profilepermission.json +++ b/server/schema/resources/aws-signer-profilepermission.json @@ -5,7 +5,7 @@ "properties": { "ProfileName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[0-9a-zA-Z_]{2,64}$ \nUpdate requires: Replacement" }, "ProfileVersion": { "type": "string", diff --git a/server/schema/resources/aws-signer-signingprofile.json b/server/schema/resources/aws-signer-signingprofile.json index 5f938142..59323c76 100644 --- a/server/schema/resources/aws-signer-signingprofile.json +++ b/server/schema/resources/aws-signer-signingprofile.json @@ -15,6 +15,12 @@ "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" }, + "ProfileName": { + "type": "string", + "minLength": 2, + "maxLength": 64, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 2 \nMaximum Length: 64 \nPattern: ^[0-9a-zA-Z_]$ \nUpdate requires: No interruption" + }, "ProfileVersion": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[0-9a-zA-Z]{10}$ \nUpdate requires: No interruption" @@ -84,6 +90,7 @@ "PlatformId" ], "createOnlyProperties": [ + "/properties/ProfileName", "/properties/PlatformId", "/properties/SignatureValidityPeriod" ], @@ -137,9 +144,9 @@ }, "attributes": { "ProfileName": { - "description": "A name for the signing profile. AWS CloudFormation generates a unique physical ID and uses that ID for the signing profile name. ", - "type": "string", - "markdownDescription": "A name for the signing profile. AWS CloudFormation generates a unique physical ID and uses that ID for the signing profile name. \n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A name for the signing profile. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the signing profile name. ", + "$ref": "#/definitions/ProfileName", + "markdownDescription": "A name for the signing profile. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the signing profile name. \n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" }, "ProfileVersion": { "description": "A version for the signing profile. AWS Signer generates a unique version for each profile of the same profile name.", diff --git a/server/schema/resources/aws-ssm-resourcedatasync.json b/server/schema/resources/aws-ssm-resourcedatasync.json index c7af15da..a342598e 100644 --- a/server/schema/resources/aws-ssm-resourcedatasync.json +++ b/server/schema/resources/aws-ssm-resourcedatasync.json @@ -164,6 +164,9 @@ "primaryIdentifier": [ "/properties/SyncName" ], + "tagging": { + "taggable": false + }, "readOnlyProperties": [ "/properties/SyncName" ], diff --git a/server/schema/resources/aws-ssmincidents-replicationset.json b/server/schema/resources/aws-ssmincidents-replicationset.json index 8cd0068f..6ac682e7 100644 --- a/server/schema/resources/aws-ssmincidents-replicationset.json +++ b/server/schema/resources/aws-ssmincidents-replicationset.json @@ -114,7 +114,13 @@ "required": [ "Regions" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, "readOnlyProperties": [ "/properties/Arn" ], diff --git a/server/schema/resources/aws-ssmincidents-responseplan.json b/server/schema/resources/aws-ssmincidents-responseplan.json index 486aded5..e5ea0a8d 100644 --- a/server/schema/resources/aws-ssmincidents-responseplan.json +++ b/server/schema/resources/aws-ssmincidents-responseplan.json @@ -433,7 +433,13 @@ "Name", "IncidentTemplate" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, "handlers": { "create": { "permissions": [ @@ -444,7 +450,10 @@ "iam:PassRole", "secretsmanager:GetSecretValue", "kms:Decrypt", - "kms:GenerateDataKey*" + "kms:GenerateDataKey", + "kms:GenerateDataKeyPair", + "kms:GenerateDataKeyPairWithoutPlaintext", + "kms:GenerateDataKeyWithoutPlaintext" ] }, "read": { @@ -463,7 +472,10 @@ "iam:PassRole", "secretsmanager:GetSecretValue", "kms:Decrypt", - "kms:GenerateDataKey*" + "kms:GenerateDataKey", + "kms:GenerateDataKeyPair", + "kms:GenerateDataKeyPairWithoutPlaintext", + "kms:GenerateDataKeyWithoutPlaintext" ] }, "delete": { diff --git a/server/schema/resources/aws-sso-application.json b/server/schema/resources/aws-sso-application.json new file mode 100644 index 00000000..ffa4e8c1 --- /dev/null +++ b/server/schema/resources/aws-sso-application.json @@ -0,0 +1,213 @@ +{ + "typeName": "AWS::SSO::Application", + "description": "Resource Type definition for Identity Center (SSO) Application", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-application", + "definitions": { + "Tag": { + "description": "The metadata that you apply to the Identity Center (SSO) Application to help you categorize and organize them.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[\\w+=,.@-]+$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[\\w+=,.@-]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "The metadata that you apply to the Identity Center (SSO) Application to help you categorize and organize them.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SignInOptions": { + "description": "A structure that describes the sign-in options for an application portal", + "type": "object", + "properties": { + "Origin": { + "description": "This determines how IAM Identity Center navigates the user to the target application", + "type": "string", + "enum": [ + "IDENTITY_CENTER", + "APPLICATION" + ], + "markdownDescription": "This determines how IAM Identity Center navigates the user to the target application\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: IDENTITY_CENTER | APPLICATION \nUpdate requires: No interruption" + }, + "ApplicationUrl": { + "description": "The URL that accepts authentication requests for an application, this is a required parameter if the Origin parameter is APPLICATION", + "type": "string", + "minLength": 1, + "maxLength": 512, + "markdownDescription": "The URL that accepts authentication requests for an application, this is a required parameter if the Origin parameter is APPLICATION\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^http(s)?:\\/\\/[-a-zA-Z0-9+&@#\\/%?=~_|!:,.;]*[-a-zA-Z0-9+&bb@#\\/%?=~_|]$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Origin" + ], + "additionalProperties": false, + "markdownDescription": "A structure that describes the sign-in options for an application portal\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PortalOptionsConfiguration": { + "description": "A structure that describes the options for the access portal associated with an application", + "type": "object", + "properties": { + "Visibility": { + "description": "Indicates whether this application is visible in the access portal", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Indicates whether this application is visible in the access portal\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, + "SignInOptions": { + "description": "A structure that describes the sign-in options for the access portal", + "$ref": "#/definitions/SignInOptions", + "markdownDescription": "A structure that describes the sign-in options for the access portal\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "required": [], + "additionalProperties": false, + "markdownDescription": "A structure that describes the options for the access portal associated with an application\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Name": { + "description": "The name you want to assign to this Identity Center (SSO) Application", + "type": "string", + "minLength": 0, + "maxLength": 255, + "markdownDescription": "The name you want to assign to this Identity Center (SSO) Application\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 255 \nPattern: ^[\\w+=,.@-]+$ \nUpdate requires: No interruption" + }, + "Description": { + "description": "The description information for the Identity Center (SSO) Application", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The description information for the Identity Center (SSO) Application\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "InstanceArn": { + "description": "The ARN of the instance of IAM Identity Center under which the operation will run", + "type": "string", + "minLength": 10, + "maxLength": 1224, + "markdownDescription": "The ARN of the instance of IAM Identity Center under which the operation will run\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 10 \nMaximum Length: 1224 \nPattern: ^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$ \nUpdate requires: Replacement" + }, + "ApplicationProviderArn": { + "description": "The ARN of the application provider under which the operation will run", + "type": "string", + "minLength": 10, + "maxLength": 1224, + "markdownDescription": "The ARN of the application provider under which the operation will run\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 10 \nMaximum Length: 1224 \nPattern: ^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::aws:applicationProvider/[a-zA-Z0-9-/]+$ \nUpdate requires: Replacement" + }, + "Status": { + "description": "Specifies whether the application is enabled or disabled", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Specifies whether the application is enabled or disabled\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, + "PortalOptions": { + "description": "A structure that describes the options for the portal associated with an application", + "$ref": "#/definitions/PortalOptionsConfiguration", + "markdownDescription": "A structure that describes the options for the portal associated with an application\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "description": "Specifies tags to be attached to the application", + "$ref": "#/definitions/Tag", + "markdownDescription": "Specifies tags to be attached to the application\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "maxItems": 75, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Name", + "InstanceArn", + "ApplicationProviderArn" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags" + }, + "createOnlyProperties": [ + "/properties/InstanceArn", + "/properties/ApplicationProviderArn" + ], + "readOnlyProperties": [ + "/properties/ApplicationArn" + ], + "primaryIdentifier": [ + "/properties/ApplicationArn" + ], + "handlers": { + "create": { + "permissions": [ + "sso:CreateApplication", + "sso:DescribeApplication", + "sso:TagResource" + ] + }, + "read": { + "permissions": [ + "sso:DescribeApplication", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateApplication", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:DescribeApplication" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteApplication" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "InstanceArn": { + "$ref": "resource-schema.json#/properties/InstanceArn" + } + }, + "required": [ + "InstanceArn" + ] + }, + "permissions": [ + "sso:ListApplications" + ] + } + }, + "attributes": { + "ApplicationArn": { + "description": "The Application ARN that is returned upon creation of the Identity Center (SSO) Application", + "type": "string", + "minLength": 10, + "maxLength": 1224, + "markdownDescription": "The Application ARN that is returned upon creation of the Identity Center (SSO) Application\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" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-sso-applicationassignment.json b/server/schema/resources/aws-sso-applicationassignment.json new file mode 100644 index 00000000..007307c0 --- /dev/null +++ b/server/schema/resources/aws-sso-applicationassignment.json @@ -0,0 +1,82 @@ +{ + "typeName": "AWS::SSO::ApplicationAssignment", + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false + }, + "description": "Resource Type definition for SSO application access grant to a user or group.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-application-assignment", + "properties": { + "ApplicationArn": { + "description": "The ARN of the application.", + "type": "string", + "minLength": 10, + "maxLength": 1224, + "markdownDescription": "The ARN of the application.\n\n---\n\nRequired: Yes \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: Replacement" + }, + "PrincipalType": { + "description": "The entity type for which the assignment will be created.", + "type": "string", + "enum": [ + "USER", + "GROUP" + ], + "markdownDescription": "The entity type for which the assignment will be created.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: USER | GROUP \nUpdate requires: Replacement" + }, + "PrincipalId": { + "description": "An identifier for an object in IAM Identity Center, such as a user or group", + "type": "string", + "minLength": 1, + "maxLength": 47, + "markdownDescription": "An identifier for an object in IAM Identity Center, such as a user or group\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 47 \nPattern: ^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$ \nUpdate requires: Replacement" + } + }, + "additionalProperties": false, + "required": [ + "ApplicationArn", + "PrincipalType", + "PrincipalId" + ], + "createOnlyProperties": [ + "/properties/ApplicationArn", + "/properties/PrincipalType", + "/properties/PrincipalId" + ], + "primaryIdentifier": [ + "/properties/ApplicationArn", + "/properties/PrincipalType", + "/properties/PrincipalId" + ], + "handlers": { + "create": { + "permissions": [ + "sso:CreateApplicationAssignment", + "sso:DescribeApplicationAssignment" + ] + }, + "read": { + "permissions": [ + "sso:DescribeApplicationAssignment" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteApplicationAssignment" + ] + }, + "list": { + "permissions": [ + "sso:ListApplicationAssignments" + ], + "handlerSchema": { + "properties": { + "ApplicationArn": { + "$ref": "resource-schema.json#/properties/ApplicationArn" + } + } + } + } + }, + "attributes": {} +} \ No newline at end of file diff --git a/server/schema/resources/aws-sso-instance.json b/server/schema/resources/aws-sso-instance.json new file mode 100644 index 00000000..cd2471ec --- /dev/null +++ b/server/schema/resources/aws-sso-instance.json @@ -0,0 +1,138 @@ +{ + "typeName": "AWS::SSO::Instance", + "description": "Resource Type definition for Identity Center (SSO) Instance", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "definitions": { + "Tag": { + "description": "The metadata that you apply to the Identity Center (SSO) Instance to help you categorize and organize them.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: [\\w+=,.@-]+ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: [\\w+=,.@-]+ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "The metadata that you apply to the Identity Center (SSO) Instance to help you categorize and organize them.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Name": { + "description": "The name you want to assign to this Identity Center (SSO) Instance", + "type": "string", + "minLength": 1, + "maxLength": 32, + "markdownDescription": "The name you want to assign to this Identity Center (SSO) Instance\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32 \nPattern: ^[\\w+=,.@-]+$ \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + } + }, + "attributes": { + "InstanceArn": { + "description": "The SSO Instance ARN that is returned upon creation of the Identity Center (SSO) Instance", + "type": "string", + "minLength": 10, + "maxLength": 1224, + "markdownDescription": "The SSO Instance ARN that is returned upon creation of the Identity Center (SSO) Instance\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:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$ \nUpdate requires: No interruption" + }, + "OwnerAccountId": { + "description": "The AWS accountId of the owner of the Identity Center (SSO) Instance", + "type": "string", + "minLength": 12, + "maxLength": 12, + "markdownDescription": "The AWS accountId of the owner of the Identity Center (SSO) Instance\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 12 \nPattern: ^\\d{12}?$ \nUpdate requires: No interruption" + }, + "IdentityStoreId": { + "description": "The ID of the identity store associated with the created Identity Center (SSO) Instance", + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "The ID of the identity store associated with the created Identity Center (SSO) Instance\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9-]*$ \nUpdate requires: No interruption" + }, + "Status": { + "description": "The status of the Identity Center (SSO) Instance, create_in_progress/delete_in_progress/active", + "type": "string", + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "markdownDescription": "The status of the Identity Center (SSO) Instance, create_in_progress/delete_in_progress/active\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATE_IN_PROGRESS | DELETE_IN_PROGRESS | ACTIVE \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-stepfunctions-activity.json b/server/schema/resources/aws-stepfunctions-activity.json index 906559c5..c4fa5080 100644 --- a/server/schema/resources/aws-stepfunctions-activity.json +++ b/server/schema/resources/aws-stepfunctions-activity.json @@ -25,6 +25,36 @@ "Value" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EncryptionConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string", + "minLength": 1, + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "KmsDataKeyReusePeriodSeconds": { + "type": "integer", + "minimum": 60, + "maximum": 900, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Type": { + "type": "string", + "enum": [ + "CUSTOMER_MANAGED_KMS_KEY", + "AWS_OWNED_KEY" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CUSTOMER_MANAGED_KMS_KEY | AWS_OWNED_KEY \nUpdate requires: No interruption" + } + }, + "required": [ + "Type" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -42,6 +72,9 @@ "$ref": "#/definitions/TagsEntry" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/EncryptionConfiguration" } }, "additionalProperties": false, @@ -62,12 +95,15 @@ "/properties/Arn" ], "createOnlyProperties": [ - "/properties/Name" + "/properties/Name", + "/properties/EncryptionConfiguration" ], "handlers": { "create": { "permissions": [ - "states:CreateActivity" + "states:CreateActivity", + "states:TagResource", + "kms:DescribeKey" ] }, "read": { @@ -85,8 +121,14 @@ }, "delete": { "permissions": [ + "states:DescribeActivity", "states:DeleteActivity" ] + }, + "list": { + "permissions": [ + "states:ListActivities" + ] } }, "attributes": { diff --git a/server/schema/resources/aws-stepfunctions-statemachine.json b/server/schema/resources/aws-stepfunctions-statemachine.json index b4acdb29..004e80ed 100644 --- a/server/schema/resources/aws-stepfunctions-statemachine.json +++ b/server/schema/resources/aws-stepfunctions-statemachine.json @@ -1,137 +1,47 @@ { - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": true - }, "typeName": "AWS::StepFunctions::StateMachine", - "readOnlyProperties": [ - "/properties/Arn", - "/properties/Name", - "/properties/StateMachineRevisionId" - ], "description": "Resource schema for StateMachine", - "createOnlyProperties": [ - "/properties/StateMachineName", - "/properties/StateMachineType" - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "required": [ - "RoleArn" - ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git", - "handlers": { - "read": { - "permissions": [ - "states:DescribeStateMachine", - "states:ListTagsForResource" - ] - }, - "create": { - "permissions": [ - "states:CreateStateMachine", - "states:DescribeStateMachine", - "states:TagResource", - "iam:PassRole", - "s3:GetObject" - ] - }, - "update": { - "permissions": [ - "states:UpdateStateMachine", - "states:TagResource", - "states:UntagResource", - "states:ListTagsForResource", - "iam:PassRole" - ] - }, - "list": { - "permissions": [ - "states:ListStateMachines" - ] - }, - "delete": { - "permissions": [ - "states:DeleteStateMachine", - "states:DescribeStateMachine" - ] - } - }, - "writeOnlyProperties": [ - "/properties/Definition", - "/properties/DefinitionS3Location", - "/properties/DefinitionSubstitutions" - ], - "additionalIdentifiers": [ - [ - "/properties/StateMachineName" - ] - ], - "additionalProperties": false, "definitions": { - "LoggingConfiguration": { - "additionalProperties": false, + "TagsEntry": { "type": "object", "properties": { - "IncludeExecutionData": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "Destinations": { - "minItems": 1, - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/LogDestination" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \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" }, - "Level": { + "Value": { "type": "string", - "enum": [ - "ALL", - "ERROR", - "FATAL", - "OFF" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALL | ERROR | FATAL | OFF \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "DefinitionSubstitutions": { - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - }, - { - "type": "boolean" - } - ] + "minLength": 1, + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "additionalProperties": false, - "type": "object", - "minProperties": 1, + "required": [ + "Key", + "Value" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Definition": { + "CloudWatchLogsLogGroup": { "type": "object", - "minProperties": 1, + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LogDestination": { - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { "CloudWatchLogsLogGroup": { "$ref": "#/definitions/CloudWatchLogsLogGroup" @@ -139,61 +49,92 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TagsEntry": { - "additionalProperties": false, + "LoggingConfiguration": { "type": "object", + "additionalProperties": false, "properties": { - "Value": { - "minLength": 1, + "Level": { "type": "string", - "maxLength": 256, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "enum": [ + "ALL", + "ERROR", + "FATAL", + "OFF" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALL | ERROR | FATAL | OFF \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" + "IncludeExecutionData": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Destinations": { + "type": "array", + "minItems": 1, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LogDestination" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "required": [ - "Key", - "Value" - ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "CloudWatchLogsLogGroup": { + "TracingConfiguration": { + "type": "object", "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EncryptionConfiguration": { "type": "object", + "additionalProperties": false, "properties": { - "LogGroupArn": { - "relationshipRef": { - "typeName": "AWS::Logs::LogGroup", - "propertyPath": "/properties/Arn" - }, + "KmsKeyId": { + "type": "string", "minLength": 1, + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "KmsDataKeyReusePeriodSeconds": { + "type": "integer", + "minimum": 60, + "maximum": 900, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Type": { "type": "string", - "maxLength": 256, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "enum": [ + "CUSTOMER_MANAGED_KMS_KEY", + "AWS_OWNED_KEY" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CUSTOMER_MANAGED_KMS_KEY | AWS_OWNED_KEY \nUpdate requires: No interruption" } }, + "required": [ + "Type" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "S3Location": { - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { "Bucket": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Version": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "Key": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Version": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -202,31 +143,52 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TracingConfiguration": { - "additionalProperties": false, + "DefinitionSubstitutions": { "type": "object", - "properties": { - "Enabled": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "additionalProperties": false, + "patternProperties": { + ".*": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "boolean" + } + ] } }, + "minProperties": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Definition": { + "type": "object", + "minProperties": 1, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { - "DefinitionSubstitutions": { - "$ref": "#/definitions/DefinitionSubstitutions" - }, - "Definition": { - "$ref": "#/definitions/Definition" + "DefinitionString": { + "type": "string", + "minLength": 1, + "maxLength": 1048576, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1048576 \nUpdate requires: No interruption" }, "RoleArn": { - "minLength": 1, "type": "string", + "minLength": 1, "maxLength": 256, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, + "StateMachineName": { + "type": "string", + "minLength": 1, + "maxLength": 80, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 80 \nUpdate requires: Replacement" + }, "StateMachineType": { "type": "string", "enum": [ @@ -235,55 +197,127 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: STANDARD | EXPRESS \nUpdate requires: Replacement" }, + "LoggingConfiguration": { + "$ref": "#/definitions/LoggingConfiguration" + }, "TracingConfiguration": { "$ref": "#/definitions/TracingConfiguration" }, - "DefinitionString": { - "minLength": 1, - "type": "string", - "maxLength": 1048576, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1048576 \nUpdate requires: No interruption" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/LoggingConfiguration" + "EncryptionConfiguration": { + "$ref": "#/definitions/EncryptionConfiguration" }, "DefinitionS3Location": { "$ref": "#/definitions/S3Location" }, - "StateMachineName": { - "minLength": 1, - "type": "string", - "maxLength": 80, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 80 \nUpdate requires: Replacement" + "DefinitionSubstitutions": { + "$ref": "#/definitions/DefinitionSubstitutions" + }, + "Definition": { + "$ref": "#/definitions/Definition" }, "Tags": { + "type": "array", "uniqueItems": false, "insertionOrder": false, - "type": "array", "items": { "$ref": "#/definitions/TagsEntry" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, + "required": [ + "RoleArn" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags" + }, + "additionalProperties": false, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Name", + "/properties/StateMachineRevisionId" + ], + "createOnlyProperties": [ + "/properties/StateMachineName", + "/properties/StateMachineType" + ], + "writeOnlyProperties": [ + "/properties/Definition", + "/properties/DefinitionS3Location", + "/properties/DefinitionSubstitutions" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "additionalIdentifiers": [ + [ + "/properties/StateMachineName" + ] + ], + "handlers": { + "create": { + "permissions": [ + "states:CreateStateMachine", + "states:DescribeStateMachine", + "states:TagResource", + "iam:PassRole", + "s3:GetObject", + "kms:DescribeKey", + "kms:GenerateDataKey" + ] + }, + "read": { + "permissions": [ + "states:DescribeStateMachine", + "states:ListTagsForResource", + "kms:Decrypt" + ] + }, + "update": { + "permissions": [ + "states:UpdateStateMachine", + "states:TagResource", + "states:UntagResource", + "states:ListTagsForResource", + "iam:PassRole", + "kms:DescribeKey", + "kms:GenerateDataKey" + ] + }, + "delete": { + "permissions": [ + "states:DeleteStateMachine", + "states:DescribeStateMachine" + ] + }, + "list": { + "permissions": [ + "states:ListStateMachines" + ] + } + }, "attributes": { - "Name": { + "Arn": { + "type": "string", "minLength": 1, + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "Name": { "type": "string", + "minLength": 1, "maxLength": 80, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 80 \nUpdate requires: No interruption" }, "StateMachineRevisionId": { - "minLength": 1, "type": "string", + "minLength": 1, "maxLength": 256, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" - }, - "Arn": { - "minLength": 1, - "type": "string", - "maxLength": 2048, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-stepfunctions-statemachinealias.json b/server/schema/resources/aws-stepfunctions-statemachinealias.json index 7476d841..53e15776 100644 --- a/server/schema/resources/aws-stepfunctions-statemachinealias.json +++ b/server/schema/resources/aws-stepfunctions-statemachinealias.json @@ -165,7 +165,8 @@ "cloudwatch:DescribeAlarms", "states:UpdateStateMachineAlias", "states:DescribeStateMachineAlias" - ] + ], + "timeoutInMinutes": 2160 }, "delete": { "permissions": [ diff --git a/server/schema/resources/aws-synthetics-canary.json b/server/schema/resources/aws-synthetics-canary.json index bd375424..a846e4c1 100644 --- a/server/schema/resources/aws-synthetics-canary.json +++ b/server/schema/resources/aws-synthetics-canary.json @@ -1,190 +1,205 @@ { + "tagging": { + "taggable": true + }, + "deprecatedProperties": [ + "/properties/DeleteLambdaResourcesOnCanaryDeletion" + ], "typeName": "AWS::Synthetics::Canary", + "readOnlyProperties": [ + "/properties/Id", + "/properties/State", + "/properties/Code/SourceLocationArn" + ], "description": "Resource Type definition for AWS::Synthetics::Canary", + "createOnlyProperties": [ + "/properties/Name" + ], + "primaryIdentifier": [ + "/properties/Name" + ], + "required": [ + "Name", + "Code", + "ArtifactS3Location", + "ExecutionRoleArn", + "Schedule", + "RuntimeVersion" + ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-synthetics", - "properties": { - "Name": { - "description": "Name of the canary.", - "type": "string", - "markdownDescription": "Name of the canary.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[0-9a-z_\\-]{1,21}$ \nUpdate requires: Replacement" - }, - "Code": { - "description": "Provide the canary script source", - "$ref": "#/definitions/Code", - "markdownDescription": "Provide the canary script source\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, - "ArtifactS3Location": { - "description": "Provide the s3 bucket output location for test results", - "type": "string", - "markdownDescription": "Provide the s3 bucket output location for test results\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(s3|S3):// \nUpdate requires: No interruption" - }, - "ArtifactConfig": { - "description": "Provide artifact configuration", - "$ref": "#/definitions/ArtifactConfig", - "markdownDescription": "Provide artifact configuration\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Schedule": { - "description": "Frequency to run your canaries", - "$ref": "#/definitions/Schedule", - "markdownDescription": "Frequency to run your canaries\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, - "ExecutionRoleArn": { - "description": "Lambda Execution role used to run your canaries", - "type": "string", - "markdownDescription": "Lambda Execution role used to run your canaries\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "RuntimeVersion": { - "description": "Runtime version of Synthetics Library", - "type": "string", - "markdownDescription": "Runtime version of Synthetics Library\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "SuccessRetentionPeriod": { - "description": "Retention period of successful canary runs represented in number of days", - "type": "integer", - "markdownDescription": "Retention period of successful canary runs represented in number of days\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "FailureRetentionPeriod": { - "description": "Retention period of failed canary runs represented in number of days", - "type": "integer", - "markdownDescription": "Retention period of failed canary runs represented in number of days\n\n---\n\nRequired: No \nType: Integer \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" - }, - "VPCConfig": { - "description": "Provide VPC Configuration if enabled.", - "$ref": "#/definitions/VPCConfig", - "markdownDescription": "Provide VPC Configuration if enabled.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "handlers": { + "read": { + "permissions": [ + "synthetics:GetCanary", + "synthetics:DescribeCanaries", + "synthetics:ListTagsForResource", + "iam:ListRoles", + "s3:ListAllMyBuckets", + "s3:GetBucketLocation" + ] }, - "RunConfig": { - "description": "Provide canary run configuration", - "$ref": "#/definitions/RunConfig", - "markdownDescription": "Provide canary run configuration\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "create": { + "permissions": [ + "synthetics:CreateCanary", + "synthetics:StartCanary", + "synthetics:GetCanary", + "synthetics:TagResource", + "s3:CreateBucket", + "s3:GetObject", + "s3:GetObjectVersion", + "s3:PutBucketEncryption", + "s3:PutEncryptionConfiguration", + "s3:GetBucketLocation", + "lambda:CreateFunction", + "lambda:AddPermission", + "lambda:PublishVersion", + "lambda:UpdateFunctionConfiguration", + "lambda:GetFunctionConfiguration", + "lambda:GetLayerVersionByArn", + "lambda:GetLayerVersion", + "lambda:PublishLayerVersion", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "iam:PassRole" + ] }, - "StartCanaryAfterCreation": { - "description": "Runs canary if set to True. Default is False", - "type": "boolean", - "markdownDescription": "Runs canary if set to True. Default is False\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "update": { + "permissions": [ + "synthetics:UpdateCanary", + "synthetics:StartCanary", + "synthetics:StopCanary", + "synthetics:GetCanary", + "synthetics:TagResource", + "synthetics:UntagResource", + "s3:GetObject", + "s3:GetObjectVersion", + "s3:PutBucketEncryption", + "s3:PutEncryptionConfiguration", + "s3:GetBucketLocation", + "lambda:AddPermission", + "lambda:PublishVersion", + "lambda:UpdateFunctionConfiguration", + "lambda:GetFunctionConfiguration", + "lambda:GetLayerVersionByArn", + "lambda:GetLayerVersion", + "lambda:PublishLayerVersion", + "iam:PassRole" + ] }, - "VisualReference": { - "description": "Visual reference configuration for visual testing", - "$ref": "#/definitions/VisualReference", - "markdownDescription": "Visual reference configuration for visual testing\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "list": { + "permissions": [ + "synthetics:DescribeCanaries" + ] }, - "DeleteLambdaResourcesOnCanaryDeletion": { - "description": "Deletes associated lambda resources created by Synthetics if set to True. Default is False", - "type": "boolean", - "markdownDescription": "Deletes associated lambda resources created by Synthetics if set to True. Default is False\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "delete": { + "permissions": [ + "synthetics:DeleteCanary", + "synthetics:GetCanary" + ] } }, + "writeOnlyProperties": [ + "/properties/Code/S3Bucket", + "/properties/Code/S3Key", + "/properties/Code/S3ObjectVersion", + "/properties/Code/Script", + "/properties/DeleteLambdaResourcesOnCanaryDeletion", + "/properties/StartCanaryAfterCreation", + "/properties/RunConfig/EnvironmentVariables", + "/properties/VisualReference" + ], + "additionalProperties": false, "definitions": { - "Schedule": { - "type": "object", + "VisualReference": { "additionalProperties": false, + "type": "object", "properties": { - "Expression": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "BaseScreenshots": { + "description": "List of screenshots used as base reference for visual testing", + "type": "array", + "items": { + "$ref": "#/definitions/BaseScreenshot" + }, + "markdownDescription": "List of screenshots used as base reference for visual testing\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "DurationInSeconds": { + "BaseCanaryRunId": { + "description": "Canary run id to be used as base reference for visual testing", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Canary run id to be used as base reference for visual testing\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "Expression" + "BaseCanaryRunId" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Code": { - "type": "object", + "S3Encryption": { "additionalProperties": false, + "type": "object", "properties": { - "S3Bucket": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: No interruption" - }, - "S3Key": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: No interruption" - }, - "S3ObjectVersion": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Script": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: No interruption" - }, - "Handler": { + "KmsKeyArn": { + "description": "KMS key Arn for encrypting artifacts when uploading to S3. You must specify KMS key Arn for SSE_KMS encryption mode only.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: No interruption" + "markdownDescription": "KMS key Arn for encrypting artifacts when uploading to S3. You must specify KMS key Arn for SSE_KMS encryption mode only.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SourceLocationArn": { + "EncryptionMode": { + "description": "Encryption mode for encrypting artifacts when uploading to S3. Valid values: SSE_S3 and SSE_KMS.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Encryption mode for encrypting artifacts when uploading to S3. Valid values: SSE_S3 and SSE_KMS.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "required": [ - "Handler" - ], - "oneOf": [ - { - "required": [ - "S3Bucket", - "S3Key" - ] - }, - { - "required": [ - "Script" - ] + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ArtifactConfig": { + "additionalProperties": false, + "type": "object", + "properties": { + "S3Encryption": { + "description": "Encryption configuration for uploading artifacts to S3", + "$ref": "#/definitions/S3Encryption", + "markdownDescription": "Encryption configuration for uploading artifacts to S3\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } - ], + }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tag": { - "description": "A key-value pair to associate with a resource.", + "Schedule": { "additionalProperties": false, "type": "object", "properties": { - "Key": { + "DurationInSeconds": { "type": "string", - "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 -. ", - "minLength": 1, - "maxLength": 128, - "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 \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Value": { + "Expression": { "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": 0, - "maxLength": 256, - "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 \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "Value", - "Key" + "Expression" ], - "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "VPCConfig": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "VpcId": { + "relationshipRef": { + "typeName": "AWS::EC2::VPC", + "propertyPath": "/properties/VpcId" + }, "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SubnetIds": { "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" }, @@ -193,6 +208,20 @@ "SecurityGroupIds": { "type": "array", "items": { + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::EC2::SecurityGroup", + "propertyPath": "/properties/GroupId" + } + }, + { + "relationshipRef": { + "typeName": "AWS::EC2::VPC", + "propertyPath": "/properties/DefaultSecurityGroup" + } + } + ], "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, @@ -205,15 +234,53 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "RunConfig": { + "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 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", + "maxLength": 256, + "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 \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 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", + "maxLength": 128, + "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 \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Key" + ], + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RunConfig": { "additionalProperties": false, + "type": "object", "properties": { "TimeoutInSeconds": { "description": "Provide maximum canary timeout per run in seconds", "type": "integer", "markdownDescription": "Provide maximum canary timeout per run in seconds\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "EnvironmentVariables": { + "patternProperties": { + "[a-zA-Z][a-zA-Z0-9_]+": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "description": "Environment variable key-value pairs.", + "additionalProperties": false, + "type": "object", + "markdownDescription": "Environment variable key-value pairs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "MemoryInMB": { "description": "Provide maximum memory available for canary in MB", "type": "integer", @@ -223,217 +290,176 @@ "description": "Enable active tracing if set to true", "type": "boolean", "markdownDescription": "Enable active tracing if set to true\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "EnvironmentVariables": { - "type": "object", - "additionalProperties": false, - "description": "Environment variable key-value pairs.", - "patternProperties": { - "[a-zA-Z][a-zA-Z0-9_]+": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "Environment variable key-value pairs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "VisualReference": { - "type": "object", + "Code": { + "oneOf": [ + { + "required": [ + "S3Bucket", + "S3Key" + ] + }, + { + "required": [ + "Script" + ] + } + ], "additionalProperties": false, + "type": "object", "properties": { - "BaseCanaryRunId": { + "Script": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: No interruption" + }, + "S3ObjectVersion": { "type": "string", - "description": "Canary run id to be used as base reference for visual testing", - "markdownDescription": "Canary run id to be used as base reference for visual testing\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "BaseScreenshots": { - "type": "array", - "description": "List of screenshots used as base reference for visual testing", - "items": { - "$ref": "#/definitions/BaseScreenshot" + "S3Bucket": { + "relationshipRef": { + "typeName": "AWS::S3::Bucket", + "propertyPath": "/properties/BucketName" }, - "markdownDescription": "List of screenshots used as base reference for visual testing\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: No interruption" + }, + "S3Key": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: No interruption" + }, + "Handler": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: No interruption" + }, + "SourceLocationArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ - "BaseCanaryRunId" + "Handler" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "BaseScreenshot": { "type": "object", "properties": { - "ScreenshotName": { - "type": "string", - "description": "Name of the screenshot to be used as base reference for visual testing", - "markdownDescription": "Name of the screenshot to be used as base reference for visual testing\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, "IgnoreCoordinates": { - "type": "array", "description": "List of coordinates of rectangles to be ignored during visual testing", + "type": "array", "items": { - "type": "string", "description": "Coordinates of a rectangle to be ignored during visual testing", + "type": "string", "markdownDescription": "Coordinates of a rectangle to be ignored during visual testing\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "List of coordinates of rectangles to be ignored during visual testing\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ScreenshotName": { + "description": "Name of the screenshot to be used as base reference for visual testing", + "type": "string", + "markdownDescription": "Name of the screenshot to be used as base reference for visual testing\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "ScreenshotName" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "VisualReference": { + "description": "Visual reference configuration for visual testing", + "$ref": "#/definitions/VisualReference", + "markdownDescription": "Visual reference configuration for visual testing\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "ArtifactConfig": { - "type": "object", - "additionalProperties": false, - "properties": { - "S3Encryption": { - "$ref": "#/definitions/S3Encryption", - "description": "Encryption configuration for uploading artifacts to S3", - "markdownDescription": "Encryption configuration for uploading artifacts to S3\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Provide artifact configuration", + "$ref": "#/definitions/ArtifactConfig", + "markdownDescription": "Provide artifact configuration\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "S3Encryption": { - "type": "object", - "additionalProperties": false, - "properties": { - "EncryptionMode": { - "type": "string", - "description": "Encryption mode for encrypting artifacts when uploading to S3. Valid values: SSE_S3 and SSE_KMS.", - "markdownDescription": "Encryption mode for encrypting artifacts when uploading to S3. Valid values: SSE_S3 and SSE_KMS.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "KmsKeyArn": { - "type": "string", - "description": "KMS key Arn for encrypting artifacts when uploading to S3. You must specify KMS key Arn for SSE_KMS encryption mode only.", - "markdownDescription": "KMS key Arn for encrypting artifacts when uploading to S3. You must specify KMS key Arn for SSE_KMS encryption mode only.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "required": [ - "Name", - "Code", - "ArtifactS3Location", - "ExecutionRoleArn", - "Schedule", - "RuntimeVersion" - ], - "tagging": { - "taggable": true - }, - "handlers": { - "create": { - "permissions": [ - "synthetics:CreateCanary", - "synthetics:StartCanary", - "synthetics:GetCanary", - "synthetics:TagResource", - "s3:CreateBucket", - "s3:GetObject", - "s3:GetObjectVersion", - "s3:PutBucketEncryption", - "s3:PutEncryptionConfiguration", - "s3:GetBucketLocation", - "lambda:CreateFunction", - "lambda:AddPermission", - "lambda:PublishVersion", - "lambda:UpdateFunctionConfiguration", - "lambda:GetFunctionConfiguration", - "lambda:GetLayerVersionByArn", - "lambda:GetLayerVersion", - "lambda:PublishLayerVersion", - "ec2:DescribeVpcs", - "ec2:DescribeSubnets", - "ec2:DescribeSecurityGroups", - "iam:PassRole" - ] + "SuccessRetentionPeriod": { + "description": "Retention period of successful canary runs represented in number of days", + "type": "integer", + "markdownDescription": "Retention period of successful canary runs represented in number of days\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "update": { - "permissions": [ - "synthetics:UpdateCanary", - "synthetics:StartCanary", - "synthetics:StopCanary", - "synthetics:GetCanary", - "synthetics:TagResource", - "synthetics:UntagResource", - "s3:GetObject", - "s3:GetObjectVersion", - "s3:PutBucketEncryption", - "s3:PutEncryptionConfiguration", - "s3:GetBucketLocation", - "lambda:AddPermission", - "lambda:PublishVersion", - "lambda:UpdateFunctionConfiguration", - "lambda:GetFunctionConfiguration", - "lambda:GetLayerVersionByArn", - "lambda:GetLayerVersion", - "lambda:PublishLayerVersion", - "iam:PassRole" - ] + "RuntimeVersion": { + "description": "Runtime version of Synthetics Library", + "type": "string", + "markdownDescription": "Runtime version of Synthetics Library\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "read": { - "permissions": [ - "synthetics:GetCanary", - "synthetics:DescribeCanaries", - "synthetics:ListTagsForResource", - "iam:ListRoles", - "s3:ListAllMyBuckets", - "s3:GetBucketLocation" - ] + "VPCConfig": { + "description": "Provide VPC Configuration if enabled.", + "$ref": "#/definitions/VPCConfig", + "markdownDescription": "Provide VPC Configuration if enabled.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "synthetics:DeleteCanary", - "synthetics:GetCanary" - ] + "RunConfig": { + "description": "Provide canary run configuration", + "$ref": "#/definitions/RunConfig", + "markdownDescription": "Provide canary run configuration\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "list": { - "permissions": [ - "synthetics:DescribeCanaries" - ] + "FailureRetentionPeriod": { + "description": "Retention period of failed canary runs represented in number of days", + "type": "integer", + "markdownDescription": "Retention period of failed canary runs represented in number of days\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Code": { + "description": "Provide the canary script source", + "$ref": "#/definitions/Code", + "markdownDescription": "Provide the canary script source\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "Name": { + "description": "Name of the canary.", + "type": "string", + "markdownDescription": "Name of the canary.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[0-9a-z_\\-]{1,21}$ \nUpdate requires: Replacement" + }, + "ExecutionRoleArn": { + "description": "Lambda Execution role used to run your canaries", + "type": "string", + "markdownDescription": "Lambda Execution role used to run your canaries\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "DeleteLambdaResourcesOnCanaryDeletion": { + "description": "Deletes associated lambda resources created by Synthetics if set to True. Default is False", + "type": "boolean", + "markdownDescription": "Deletes associated lambda resources created by Synthetics if set to True. Default is False\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Schedule": { + "description": "Frequency to run your canaries", + "$ref": "#/definitions/Schedule", + "markdownDescription": "Frequency to run your canaries\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "ArtifactS3Location": { + "description": "Provide the s3 bucket output location for test results", + "type": "string", + "markdownDescription": "Provide the s3 bucket output location for test results\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(s3|S3):// \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" + }, + "StartCanaryAfterCreation": { + "description": "Runs canary if set to True. Default is False", + "type": "boolean", + "markdownDescription": "Runs canary if set to True. Default is False\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "primaryIdentifier": [ - "/properties/Name" - ], - "readOnlyProperties": [ - "/properties/Id", - "/properties/State", - "/properties/Code/SourceLocationArn" - ], - "writeOnlyProperties": [ - "/properties/Code/S3Bucket", - "/properties/Code/S3Key", - "/properties/Code/S3ObjectVersion", - "/properties/Code/Script", - "/properties/DeleteLambdaResourcesOnCanaryDeletion", - "/properties/StartCanaryAfterCreation", - "/properties/RunConfig/EnvironmentVariables", - "/properties/VisualReference" - ], - "deprecatedProperties": [ - "/properties/DeleteLambdaResourcesOnCanaryDeletion" - ], "attributes": { - "Id": { - "description": "Id of the canary", - "type": "string", - "markdownDescription": "Id of the canary\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "State": { "description": "State of the canary", "type": "string", "markdownDescription": "State of the canary\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Id": { + "description": "Id of the canary", + "type": "string", + "markdownDescription": "Id of the canary\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-transfer-agreement.json b/server/schema/resources/aws-transfer-agreement.json index 327a8e8d..ace33ded 100644 --- a/server/schema/resources/aws-transfer-agreement.json +++ b/server/schema/resources/aws-transfer-agreement.json @@ -36,7 +36,7 @@ "type": "string", "minLength": 1, "maxLength": 200, - "markdownDescription": "A textual description for the agreement.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: ^[\\w\\- ]*$ \nUpdate requires: No interruption" + "markdownDescription": "A textual description for the agreement.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: ^[\\u0021-\\u007E]+$ \nUpdate requires: No interruption" }, "ServerId": { "description": "A unique identifier for the server.", @@ -63,7 +63,7 @@ "description": "Specifies the base directory for the agreement.", "type": "string", "maxLength": 1024, - "markdownDescription": "Specifies the base directory for the agreement.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nPattern: ^$|/.* \nUpdate requires: No interruption" + "markdownDescription": "Specifies the base directory for the agreement.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nPattern: ^(|/.*)$ \nUpdate requires: No interruption" }, "AccessRole": { "description": "Specifies the access role for the agreement.", diff --git a/server/schema/resources/aws-transfer-certificate.json b/server/schema/resources/aws-transfer-certificate.json index eacd5e58..67f94729 100644 --- a/server/schema/resources/aws-transfer-certificate.json +++ b/server/schema/resources/aws-transfer-certificate.json @@ -35,30 +35,31 @@ "type": "string", "enum": [ "SIGNING", - "ENCRYPTION" + "ENCRYPTION", + "TLS" ], - "markdownDescription": "Specifies the usage type for the certificate.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SIGNING | ENCRYPTION \nUpdate requires: No interruption" + "markdownDescription": "Specifies the usage type for the certificate.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SIGNING | ENCRYPTION | TLS \nUpdate requires: No interruption" }, "Certificate": { "description": "Specifies the certificate body to be imported.", "type": "string", "minLength": 1, "maxLength": 16384, - "markdownDescription": "Specifies the certificate body to be imported.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 16384 \nPattern: ^[\t\n\r -\u00ff]* \nUpdate requires: Replacement" + "markdownDescription": "Specifies the certificate body to be imported.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 16384 \nPattern: ^[\\t\\n\\r\\u0020-\\u00FF]+$ \nUpdate requires: Replacement" }, "CertificateChain": { "description": "Specifies the certificate chain to be imported.", "type": "string", "minLength": 1, "maxLength": 2097152, - "markdownDescription": "Specifies the certificate chain to be imported.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2097152 \nPattern: ^[\t\n\r -\u00ff]* \nUpdate requires: Replacement" + "markdownDescription": "Specifies the certificate chain to be imported.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2097152 \nPattern: ^[\\t\\n\\r\\u0020-\\u00FF]+$ \nUpdate requires: Replacement" }, "PrivateKey": { "description": "Specifies the private key for the certificate.", "type": "string", "minLength": 1, "maxLength": 16384, - "markdownDescription": "Specifies the private key for the certificate.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 16384 \nPattern: ^[\t\n\r -\u00ff]* \nUpdate requires: Replacement" + "markdownDescription": "Specifies the private key for the certificate.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 16384 \nPattern: ^[\\t\\n\\r\\u0020-\\u00FF]+$ \nUpdate requires: Replacement" }, "ActiveDate": { "description": "Specifies the active date for the certificate.", @@ -75,7 +76,7 @@ "type": "string", "minLength": 1, "maxLength": 200, - "markdownDescription": "A textual description for the certificate.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: ^[\\w\\- ]*$ \nUpdate requires: No interruption" + "markdownDescription": "A textual description for the certificate.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: ^[\\u0021-\\u007E]+$ \nUpdate requires: No interruption" }, "Tags": { "description": "Key-value pairs that can be used to group and search for certificates. Tags are metadata attached to certificates for any purpose.", @@ -190,7 +191,7 @@ "type": "string", "minLength": 0, "maxLength": 48, - "markdownDescription": "Specifies Certificate's serial.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 48 \nPattern: ^[\\p{XDigit}{2}:?]* \nUpdate requires: No interruption" + "markdownDescription": "Specifies Certificate's serial.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 48 \nPattern: ^[0-9a-fA-F{}:?]*$ \nUpdate requires: No interruption" }, "NotBeforeDate": { "description": "Specifies the not before date for the certificate.", diff --git a/server/schema/resources/aws-transfer-connector.json b/server/schema/resources/aws-transfer-connector.json index 49776b04..381f2455 100644 --- a/server/schema/resources/aws-transfer-connector.json +++ b/server/schema/resources/aws-transfer-connector.json @@ -67,7 +67,7 @@ "description": "The message subject for this AS2 connector configuration.", "minLength": 1, "maxLength": 1024, - "markdownDescription": "The message subject for this AS2 connector configuration.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^[\\p{Print}\\p{Blank}]+ \nUpdate requires: No interruption" + "markdownDescription": "The message subject for this AS2 connector configuration.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^[\\u0020-\\u007E\\t]+$ \nUpdate requires: No interruption" }, "Compression": { "type": "string", @@ -85,9 +85,10 @@ "AES128_CBC", "AES192_CBC", "AES256_CBC", - "NONE" + "NONE", + "DES_EDE3_CBC" ], - "markdownDescription": "Encryption algorithm for this AS2 connector configuration.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AES128_CBC | AES192_CBC | AES256_CBC | NONE \nUpdate requires: No interruption" + "markdownDescription": "Encryption algorithm for this AS2 connector configuration.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AES128_CBC | AES192_CBC | AES256_CBC | NONE | DES_EDE3_CBC \nUpdate requires: No interruption" }, "SigningAlgorithm": { "type": "string", @@ -183,6 +184,12 @@ "type": "string", "maxLength": 255, "markdownDescription": "URL for Connector\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "SecurityPolicyName": { + "description": "Security policy for SFTP Connector", + "type": "string", + "maxLength": 50, + "markdownDescription": "Security policy for SFTP Connector\n\n---\n\nRequired: No \nType: String \nMaximum Length: 50 \nPattern: TransferSFTPConnectorSecurityPolicy-[A-Za-z0-9-]+ \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -192,7 +199,8 @@ ], "readOnlyProperties": [ "/properties/Arn", - "/properties/ConnectorId" + "/properties/ConnectorId", + "/properties/ServiceManagedEgressIpAddresses" ], "primaryIdentifier": [ "/properties/ConnectorId" @@ -250,6 +258,16 @@ "minLength": 19, "maxLength": 19, "markdownDescription": "A unique identifier for the connector.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 19 \nMaximum Length: 19 \nPattern: ^c-([0-9a-f]{17})$ \nUpdate requires: No interruption" + }, + "ServiceManagedEgressIpAddresses": { + "description": "The list of egress IP addresses of this connector. These IP addresses are assigned automatically when you create the connector.", + "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" + }, + "markdownDescription": "The list of egress IP addresses of this connector. These IP addresses are assigned automatically when you create the connector.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-transfer-profile.json b/server/schema/resources/aws-transfer-profile.json index 88fdc961..61f48595 100644 --- a/server/schema/resources/aws-transfer-profile.json +++ b/server/schema/resources/aws-transfer-profile.json @@ -42,7 +42,7 @@ "type": "string", "minLength": 1, "maxLength": 128, - "markdownDescription": "AS2 identifier agreed with a trading partner.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "AS2 identifier agreed with a trading partner.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[\\u0020-\\u007E\\s]*$ \nUpdate requires: No interruption" }, "ProfileType": { "description": "Enum specifying whether the profile is local or associated with a trading partner.", diff --git a/server/schema/resources/aws-transfer-workflow.json b/server/schema/resources/aws-transfer-workflow.json index 23ae2caa..1aa7d0fa 100644 --- a/server/schema/resources/aws-transfer-workflow.json +++ b/server/schema/resources/aws-transfer-workflow.json @@ -191,7 +191,7 @@ "enum": [ "PGP" ], - "markdownDescription": "Specifies which encryption method to use.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PGP \nUpdate requires: No interruption" + "markdownDescription": "Specifies which encryption method to use.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: PGP \nUpdate requires: No interruption" }, "OverwriteExisting": { "description": "A flag that indicates whether or not to overwrite an existing file of the same name. The default is FALSE.", @@ -210,6 +210,10 @@ "markdownDescription": "Specifies which file to use as input to the workflow step.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^\\$\\{(\\w+.)+\\w+\\}$ \nUpdate requires: No interruption" } }, + "required": [ + "DestinationFileLocation", + "Type" + ], "additionalProperties": false, "markdownDescription": "Details for a step that performs a file decryption.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -368,7 +372,13 @@ "primaryIdentifier": [ "/properties/WorkflowId" ], - "taggable": true, + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-verifiedpermissions-identitysource.json b/server/schema/resources/aws-verifiedpermissions-identitysource.json index d8bbbac0..aa9d5c3d 100644 --- a/server/schema/resources/aws-verifiedpermissions-identitysource.json +++ b/server/schema/resources/aws-verifiedpermissions-identitysource.json @@ -51,18 +51,34 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IdentitySourceConfiguration": { - "type": "object", - "title": "CognitoUserPoolConfiguration", - "properties": { - "CognitoUserPoolConfiguration": { - "$ref": "#/definitions/CognitoUserPoolConfiguration" + "oneOf": [ + { + "type": "object", + "title": "CognitoUserPoolConfiguration", + "properties": { + "CognitoUserPoolConfiguration": { + "$ref": "#/definitions/CognitoUserPoolConfiguration" + } + }, + "required": [ + "CognitoUserPoolConfiguration" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "OpenIdConnectConfiguration", + "properties": { + "OpenIdConnectConfiguration": { + "$ref": "#/definitions/OpenIdConnectConfiguration" + } + }, + "required": [ + "OpenIdConnectConfiguration" + ], + "additionalProperties": false } - }, - "required": [ - "CognitoUserPoolConfiguration" - ], - "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + ] }, "IdentitySourceDetails": { "type": "object", @@ -99,6 +115,139 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "OpenIdConnectAccessTokenConfiguration": { + "type": "object", + "properties": { + "PrincipalIdClaim": { + "type": "string", + "default": "sub", + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" + }, + "Audiences": { + "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" + }, + "maxItems": 255, + "minItems": 1, + "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" + }, + "OpenIdConnectConfiguration": { + "type": "object", + "properties": { + "Issuer": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^https://.*$ \nUpdate requires: No interruption" + }, + "EntityIdPrefix": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + }, + "GroupConfiguration": { + "$ref": "#/definitions/OpenIdConnectGroupConfiguration" + }, + "TokenSelection": { + "$ref": "#/definitions/OpenIdConnectTokenSelection" + } + }, + "required": [ + "Issuer", + "TokenSelection" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OpenIdConnectGroupConfiguration": { + "type": "object", + "properties": { + "GroupClaim": { + "type": "string", + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" + }, + "GroupEntityType": { + "type": "string", + "maxLength": 200, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: ^([_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "GroupClaim", + "GroupEntityType" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OpenIdConnectIdentityTokenConfiguration": { + "type": "object", + "properties": { + "PrincipalIdClaim": { + "type": "string", + "default": "sub", + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" + }, + "ClientIds": { + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" + }, + "maxItems": 1000, + "minItems": 0, + "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" + }, + "OpenIdConnectTokenSelection": { + "oneOf": [ + { + "type": "object", + "title": "AccessTokenOnly", + "properties": { + "AccessTokenOnly": { + "$ref": "#/definitions/OpenIdConnectAccessTokenConfiguration" + } + }, + "required": [ + "AccessTokenOnly" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "IdentityTokenOnly", + "properties": { + "IdentityTokenOnly": { + "$ref": "#/definitions/OpenIdConnectIdentityTokenConfiguration" + } + }, + "required": [ + "IdentityTokenOnly" + ], + "additionalProperties": false + } + ] + }, "OpenIdIssuer": { "type": "string", "enum": [ diff --git a/server/schema/resources/aws-vpclattice-listener.json b/server/schema/resources/aws-vpclattice-listener.json index 2e9dc12e..18080866 100644 --- a/server/schema/resources/aws-vpclattice-listener.json +++ b/server/schema/resources/aws-vpclattice-listener.json @@ -119,9 +119,10 @@ "type": "string", "enum": [ "HTTP", - "HTTPS" + "HTTPS", + "TLS_PASSTHROUGH" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: HTTP | HTTPS \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: HTTP | HTTPS | TLS_PASSTHROUGH \nUpdate requires: Replacement" }, "ServiceIdentifier": { "type": "string", diff --git a/server/schema/resources/aws-vpclattice-targetgroup.json b/server/schema/resources/aws-vpclattice-targetgroup.json index 57ba350c..31ba9872 100644 --- a/server/schema/resources/aws-vpclattice-targetgroup.json +++ b/server/schema/resources/aws-vpclattice-targetgroup.json @@ -99,9 +99,10 @@ "type": "string", "enum": [ "HTTP", - "HTTPS" + "HTTPS", + "TCP" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: HTTP | HTTPS \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: HTTP | HTTPS | TCP \nUpdate requires: No interruption" }, "ProtocolVersion": { "type": "string", diff --git a/server/schema/resources/aws-workspaces-workspacespool.json b/server/schema/resources/aws-workspaces-workspacespool.json new file mode 100644 index 00000000..20e1b0dc --- /dev/null +++ b/server/schema/resources/aws-workspaces-workspacespool.json @@ -0,0 +1,208 @@ +{ + "typeName": "AWS::WorkSpaces::WorkspacesPool", + "description": "Resource Type definition for AWS::WorkSpaces::WorkspacesPool", + "definitions": { + "Tag": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "markdownDescription": "\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" + }, + "ApplicationSettingsStatus": { + "type": "string", + "enum": [ + "DISABLED", + "ENABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" + }, + "Capacity": { + "type": "object", + "properties": { + "DesiredUserSessions": { + "type": "integer", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "required": [ + "DesiredUserSessions" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ApplicationSettings": { + "type": "object", + "properties": { + "Status": { + "$ref": "#/definitions/ApplicationSettingsStatus" + }, + "SettingsGroup": { + "type": "string", + "maxLength": 100, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 100 \nPattern: ^[A-Za-z0-9_./()!*'-]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Status" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TimeoutSettings": { + "type": "object", + "properties": { + "DisconnectTimeoutInSeconds": { + "type": "integer", + "minimum": 60, + "maximum": 36000, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "IdleDisconnectTimeoutInSeconds": { + "type": "integer", + "minimum": 0, + "maximum": 36000, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MaxUserDurationInSeconds": { + "type": "integer", + "minimum": 600, + "maximum": 432000, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "required": [], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Capacity": { + "$ref": "#/definitions/Capacity" + }, + "PoolName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$ \nUpdate requires: Replacement" + }, + "Description": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9_./() -]+$ \nUpdate requires: No interruption" + }, + "BundleId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^wsb-[0-9a-z]{8,63}$ \nUpdate requires: No interruption" + }, + "DirectoryId": { + "type": "string", + "minLength": 10, + "maxLength": 65, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 10 \nMaximum Length: 65 \nPattern: ^wsd-[0-9a-z]{8,63}$ \nUpdate requires: No interruption" + }, + "ApplicationSettings": { + "$ref": "#/definitions/ApplicationSettings" + }, + "TimeoutSettings": { + "$ref": "#/definitions/TimeoutSettings" + }, + "Tags": { + "type": "array", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "PoolName", + "BundleId", + "DirectoryId", + "Capacity" + ], + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, + "primaryIdentifier": [ + "/properties/PoolId" + ], + "createOnlyProperties": [ + "/properties/PoolName" + ], + "readOnlyProperties": [ + "/properties/PoolId", + "/properties/PoolArn", + "/properties/CreatedAt" + ], + "writeOnlyProperties": [ + "/properties/Tags" + ], + "deprecatedProperties": [ + "/properties/Tags/TagKey", + "/properties/Tags/TagValue" + ], + "handlers": { + "create": { + "permissions": [ + "workspaces:CreateWorkspacesPool", + "workspaces:DescribeWorkspacesPools", + "workspaces:CreateTags" + ] + }, + "read": { + "permissions": [ + "workspaces:DescribeWorkspacesPools" + ] + }, + "update": { + "permissions": [ + "workspaces:UpdateWorkspacesPool" + ] + }, + "delete": { + "permissions": [ + "workspaces:DescribeWorkspacesPools", + "workspaces:TerminateWorkspacesPool" + ] + }, + "list": { + "permissions": [ + "workspaces:DescribeWorkspacesPools" + ] + } + }, + "attributes": { + "PoolId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^wspool-[0-9a-z]{9}$ \nUpdate requires: No interruption" + }, + "PoolArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$ \nUpdate requires: No interruption" + }, + "CreatedAt": { + "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-workspacesthinclient-environment.json b/server/schema/resources/aws-workspacesthinclient-environment.json index 31fee11f..7847d770 100644 --- a/server/schema/resources/aws-workspacesthinclient-environment.json +++ b/server/schema/resources/aws-workspacesthinclient-environment.json @@ -181,6 +181,17 @@ "$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" + }, + "DeviceCreationTags": { + "type": "array", + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "description": "An array of key-value pairs to apply to the newly created devices for this environment.", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to the newly created devices for this environment.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "tagging": {