From 9155eec44bf6592d2a0b32e0e39a028f997f393a Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 22 Sep 2026 16:11:14 +0000 Subject: [PATCH] chore(schema): update --- samtranslator/schema/schema.json | 18615 +++++++++++++++++---- schema_source/cloudformation.schema.json | 18615 +++++++++++++++++---- 2 files changed, 31574 insertions(+), 5656 deletions(-) diff --git a/samtranslator/schema/schema.json b/samtranslator/schema/schema.json index ebf3cceb8..16a499b56 100644 --- a/samtranslator/schema/schema.json +++ b/samtranslator/schema/schema.json @@ -4769,8 +4769,7 @@ "required": [ "Descriptors", "Name", - "RecordType", - "RegistryId" + "RecordType" ], "type": "object" }, @@ -4810,6 +4809,15 @@ }, "type": "object" }, + "AWS::AgentRegistry::RegistryRecord.AgUiDescriptor": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.SourceOnlyDescriptorSource" + } + }, + "type": "object" + }, "AWS::AgentRegistry::RegistryRecord.AgentSkillsAdditionalData": { "additionalProperties": false, "properties": { @@ -4894,15 +4902,30 @@ "AgentSkillsDefinition": { "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.AgentSkillsDefinitionDescriptor" }, + "Agui": { + "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.AgUiDescriptor" + }, "Custom": { "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.CustomDescriptor" }, + "Http": { + "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.HttpDescriptor" + }, "McpServer": { "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.McpServerDescriptor" } }, "type": "object" }, + "AWS::AgentRegistry::RegistryRecord.HttpDescriptor": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.SourceOnlyDescriptorSource" + } + }, + "type": "object" + }, "AWS::AgentRegistry::RegistryRecord.McpServerAdditionalData": { "additionalProperties": false, "properties": { @@ -5036,6 +5059,27 @@ ], "type": "object" }, + "AWS::AgentRegistry::RegistryRecord.SourceOnlyDescriptorSource": { + "additionalProperties": false, + "properties": { + "FromUrl": { + "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.SourceOnlyDescriptorSourceFromUrl" + } + }, + "type": "object" + }, + "AWS::AgentRegistry::RegistryRecord.SourceOnlyDescriptorSourceFromUrl": { + "additionalProperties": false, + "properties": { + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, "AWS::AmazonMQ::Broker": { "additionalProperties": false, "properties": { @@ -13842,6 +13886,106 @@ ], "type": "object" }, + "AWS::AppConfig::ExperimentRun": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationIdentifier": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ExperimentDefinitionIdentifier": { + "type": "string" + }, + "ExposurePercentage": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TreatmentOverrides": { + "$ref": "#/definitions/AWS::AppConfig::ExperimentRun.TreatmentOverrides" + } + }, + "required": [ + "ApplicationIdentifier", + "ExperimentDefinitionIdentifier", + "ExposurePercentage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::ExperimentRun" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::ExperimentRun.TreatmentOverrides": { + "additionalProperties": false, + "properties": { + "Inline": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "AWS::AppConfig::Extension": { "additionalProperties": false, "properties": { @@ -22731,6 +22875,9 @@ "title": "Description", "type": "string" }, + "DisableIMDSV1": { + "type": "boolean" + }, "DisplayName": { "markdownDescription": "The image builder name to display.", "title": "DisplayName", @@ -23902,9 +24049,6 @@ "title": "ApiId", "type": "string" }, - "ApiKeyId": { - "type": "string" - }, "Description": { "markdownDescription": "Unique description of your API key.", "title": "Description", @@ -28535,6 +28679,70 @@ ], "type": "object" }, + "AWS::Artifact::ComplianceInquiry": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Artifact::ComplianceInquiry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Artifact::Report": { "additionalProperties": false, "properties": { @@ -35994,7 +36202,7 @@ ], "type": "object" }, - "AWS::BackupGateway::Hypervisor": { + "AWS::BackupGateway::Gateway": { "additionalProperties": false, "properties": { "Condition": { @@ -36029,50 +36237,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Host": { - "markdownDescription": "The server host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN).", - "title": "Host", - "type": "string" - }, - "KmsKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service used to encrypt the hypervisor.", - "title": "KmsKeyArn", - "type": "string" - }, - "LogGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the group of gateways within the requested log.", - "title": "LogGroupArn", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the hypervisor.", - "title": "Name", + "GatewayDisplayName": { "type": "string" }, - "Password": { - "markdownDescription": "The password for the hypervisor.", - "title": "Password", + "GatewayType": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::BackupGateway::Gateway.TagsItems" }, - "markdownDescription": "The tags of the hypervisor configuration to import.", - "title": "Tags", "type": "array" - }, - "Username": { - "markdownDescription": "The username for the hypervisor.", - "title": "Username", - "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::BackupGateway::Hypervisor" + "AWS::BackupGateway::Gateway" ], "type": "string" }, @@ -36090,7 +36272,141 @@ ], "type": "object" }, - "AWS::BackupSearch::SearchJob": { + "AWS::BackupGateway::Gateway.MaintenanceStartTime": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "number" + }, + "DayOfWeek": { + "type": "number" + }, + "HourOfDay": { + "type": "number" + }, + "MinuteOfHour": { + "type": "number" + } + }, + "required": [ + "HourOfDay", + "MinuteOfHour" + ], + "type": "object" + }, + "AWS::BackupGateway::Gateway.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::BackupGateway::Hypervisor": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Host": { + "markdownDescription": "The server host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN).", + "title": "Host", + "type": "string" + }, + "KmsKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service used to encrypt the hypervisor.", + "title": "KmsKeyArn", + "type": "string" + }, + "LogGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the group of gateways within the requested log.", + "title": "LogGroupArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the hypervisor.", + "title": "Name", + "type": "string" + }, + "Password": { + "markdownDescription": "The password for the hypervisor.", + "title": "Password", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags of the hypervisor configuration to import.", + "title": "Tags", + "type": "array" + }, + "Username": { + "markdownDescription": "The username for the hypervisor.", + "title": "Username", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::BackupGateway::Hypervisor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::BackupSearch::SearchJob": { "additionalProperties": false, "properties": { "Condition": { @@ -42830,6 +43146,375 @@ }, "type": "object" }, + "AWS::Bedrock::EvaluationJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Bedrock::EvaluationJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.AutomatedEvaluationConfig": { + "additionalProperties": false, + "properties": { + "DatasetMetricConfigs": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluationDatasetMetricConfig" + }, + "type": "array" + }, + "EvaluatorModelConfig": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluatorModelConfig" + } + }, + "required": [ + "DatasetMetricConfigs" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.BedrockEvaluatorModel": { + "additionalProperties": false, + "properties": { + "ModelIdentifier": { + "type": "string" + } + }, + "required": [ + "ModelIdentifier" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationBedrockModel": { + "additionalProperties": false, + "properties": { + "InferenceParams": { + "type": "string" + }, + "ModelIdentifier": { + "type": "string" + } + }, + "required": [ + "ModelIdentifier" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationConfig": { + "additionalProperties": false, + "properties": { + "Automated": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.AutomatedEvaluationConfig" + }, + "Human": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.HumanEvaluationConfig" + } + }, + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationDataset": { + "additionalProperties": false, + "properties": { + "DatasetLocation": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluationDatasetLocation" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationDatasetLocation": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationDatasetMetricConfig": { + "additionalProperties": false, + "properties": { + "Dataset": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluationDataset" + }, + "MetricNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TaskType": { + "type": "string" + } + }, + "required": [ + "Dataset", + "MetricNames", + "TaskType" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationInferenceConfig": { + "additionalProperties": false, + "properties": { + "Models": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluationModelConfig" + }, + "type": "array" + }, + "RagConfigs": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.RAGConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationModelConfig": { + "additionalProperties": false, + "properties": { + "BedrockModel": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluationBedrockModel" + } + }, + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationOutputDataConfig": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluatorModelConfig": { + "additionalProperties": false, + "properties": { + "BedrockEvaluatorModels": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.BedrockEvaluatorModel" + }, + "type": "array" + } + }, + "required": [ + "BedrockEvaluatorModels" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.HumanEvaluationConfig": { + "additionalProperties": false, + "properties": { + "CustomMetrics": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.HumanEvaluationCustomMetric" + }, + "type": "array" + }, + "DatasetMetricConfigs": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluationDatasetMetricConfig" + }, + "type": "array" + }, + "HumanWorkflowConfig": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.HumanWorkflowConfig" + } + }, + "required": [ + "DatasetMetricConfigs" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.HumanEvaluationCustomMetric": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RatingMethod": { + "type": "string" + } + }, + "required": [ + "Name", + "RatingMethod" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.HumanWorkflowConfig": { + "additionalProperties": false, + "properties": { + "FlowDefinitionArn": { + "type": "string" + }, + "Instructions": { + "type": "string" + } + }, + "required": [ + "FlowDefinitionArn" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.KnowledgeBaseConfig": { + "additionalProperties": false, + "properties": { + "RetrieveAndGenerateConfig": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.RetrieveAndGenerateConfig" + }, + "RetrieveConfig": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.RetrieveConfig" + } + }, + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.KnowledgeBaseRetrievalConfiguration": { + "additionalProperties": false, + "properties": { + "VectorSearchConfiguration": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.KnowledgeBaseVectorSearchConfiguration" + } + }, + "required": [ + "VectorSearchConfiguration" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.KnowledgeBaseRetrieveAndGenerateConfiguration": { + "additionalProperties": false, + "properties": { + "KnowledgeBaseId": { + "type": "string" + }, + "ModelArn": { + "type": "string" + }, + "RetrievalConfiguration": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.KnowledgeBaseRetrievalConfiguration" + } + }, + "required": [ + "KnowledgeBaseId", + "ModelArn" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.KnowledgeBaseVectorSearchConfiguration": { + "additionalProperties": false, + "properties": { + "NumberOfResults": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.RAGConfig": { + "additionalProperties": false, + "properties": { + "KnowledgeBaseConfig": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.KnowledgeBaseConfig" + } + }, + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.RetrieveAndGenerateConfig": { + "additionalProperties": false, + "properties": { + "KnowledgeBaseConfiguration": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.KnowledgeBaseRetrieveAndGenerateConfiguration" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "KnowledgeBaseConfiguration", + "Type" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.RetrieveConfig": { + "additionalProperties": false, + "properties": { + "KnowledgeBaseId": { + "type": "string" + }, + "KnowledgeBaseRetrievalConfiguration": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.KnowledgeBaseRetrievalConfiguration" + } + }, + "required": [ + "KnowledgeBaseId", + "KnowledgeBaseRetrievalConfiguration" + ], + "type": "object" + }, "AWS::Bedrock::Flow": { "additionalProperties": false, "properties": { @@ -46217,6 +46902,9 @@ "title": "EmbeddingDataType", "type": "string" }, + "ModelConfiguration": { + "type": "object" + }, "Video": { "items": { "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.VideoConfiguration" @@ -46319,6 +47007,9 @@ }, "ServerSideEncryptionConfiguration": { "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.ManagedKnowledgeBaseServerSideEncryptionConfiguration" + }, + "SupplementalDataStorageConfiguration": { + "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.SupplementalDataStorageConfiguration" } }, "type": "object" @@ -50900,6 +51591,15 @@ }, "type": "array" }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "VpcIdentifier": { "type": "string" } @@ -51345,6 +52045,18 @@ ], "type": "object" }, + "AWS::BedrockAgentCore::GatewayRule.SystemManagedBlock": { + "additionalProperties": false, + "properties": { + "ManagedBy": { + "type": "string" + } + }, + "required": [ + "ManagedBy" + ], + "type": "object" + }, "AWS::BedrockAgentCore::GatewayRule.TargetTrafficSplitEntry": { "additionalProperties": false, "properties": { @@ -51805,12 +52517,48 @@ ], "type": "object" }, + "AWS::BedrockAgentCore::GatewayTarget.HttpConnectorSource": { + "additionalProperties": false, + "properties": { + "ConnectorId": { + "type": "string" + } + }, + "required": [ + "ConnectorId" + ], + "type": "object" + }, + "AWS::BedrockAgentCore::GatewayTarget.HttpConnectorTargetConfiguration": { + "additionalProperties": false, + "properties": { + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Source": { + "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.HttpConnectorSource" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, "AWS::BedrockAgentCore::GatewayTarget.HttpTargetConfiguration": { "additionalProperties": false, "properties": { "AgentcoreRuntime": { "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.RuntimeTargetConfiguration" }, + "Connector": { + "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.HttpConnectorTargetConfiguration" + }, "Passthrough": { "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.PassthroughTargetConfiguration" } @@ -58085,285 +58833,441 @@ ], "type": "object" }, - "AWS::BillingConductor::PricingRule.FreeTier": { - "additionalProperties": false, - "properties": { - "Activated": { - "markdownDescription": "Activate or deactivate AWS Free Tier.", - "title": "Activated", - "type": "boolean" - } - }, - "required": [ - "Activated" - ], - "type": "object" - }, - "AWS::BillingConductor::PricingRule.Tiering": { - "additionalProperties": false, - "properties": { - "FreeTier": { - "$ref": "#/definitions/AWS::BillingConductor::PricingRule.FreeTier", - "markdownDescription": "The possible AWS Free Tier configurations.", - "title": "FreeTier" - } - }, - "type": "object" - }, - "AWS::Braket::Job": { + "AWS::BillingConductor::PricingRule.CustomTier": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AlgorithmSpecification": { - "$ref": "#/definitions/AWS::Braket::Job.AlgorithmSpecification" - }, - "CheckpointConfig": { - "$ref": "#/definitions/AWS::Braket::Job.JobCheckpointConfig" - }, - "DeviceConfig": { - "$ref": "#/definitions/AWS::Braket::Job.DeviceConfig" - }, - "HyperParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "InputDataConfig": { - "items": { - "$ref": "#/definitions/AWS::Braket::Job.InputFileConfig" - }, - "type": "array" - }, - "InstanceConfig": { - "$ref": "#/definitions/AWS::Braket::Job.InstanceConfig" - }, - "JobName": { - "type": "string" - }, - "OutputDataConfig": { - "$ref": "#/definitions/AWS::Braket::Job.JobOutputDataConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::Braket::Job.JobStoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AlgorithmSpecification", - "DeviceConfig", - "InstanceConfig", - "JobName", - "OutputDataConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Braket::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Braket::Job.AlgorithmSpecification": { - "additionalProperties": false, - "properties": { - "ScriptModeConfig": { - "$ref": "#/definitions/AWS::Braket::Job.ScriptModeConfig" - } - }, - "required": [ - "ScriptModeConfig" - ], - "type": "object" - }, - "AWS::Braket::Job.DataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::Braket::Job.S3DataSource" - } - }, - "required": [ - "S3DataSource" - ], - "type": "object" - }, - "AWS::Braket::Job.DeviceConfig": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - } - }, - "required": [ - "Device" - ], - "type": "object" - }, - "AWS::Braket::Job.InputFileConfig": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "DataSource": { - "$ref": "#/definitions/AWS::Braket::Job.DataSource" - } - }, - "required": [ - "ChannelName", - "DataSource" - ], - "type": "object" - }, - "AWS::Braket::Job.InstanceConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { + "BeginRangeInclusive": { "type": "number" }, - "InstanceType": { - "type": "string" - }, - "VolumeSizeInGb": { + "EndRangeExclusive": { "type": "number" - } - }, - "required": [ - "InstanceType", - "VolumeSizeInGb" - ], - "type": "object" - }, - "AWS::Braket::Job.JobCheckpointConfig": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Braket::Job.JobOutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3Path": { - "type": "string" + "RateValue": { + "type": "number" } }, "required": [ - "S3Path" + "BeginRangeInclusive", + "RateValue" ], "type": "object" }, - "AWS::Braket::Job.JobStoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Braket::Job.S3DataSource": { + "AWS::BillingConductor::PricingRule.FreeTier": { "additionalProperties": false, "properties": { - "S3Uri": { - "type": "string" + "Activated": { + "markdownDescription": "Activate or deactivate AWS Free Tier.", + "title": "Activated", + "type": "boolean" } }, "required": [ - "S3Uri" + "Activated" ], "type": "object" }, - "AWS::Braket::Job.ScriptModeConfig": { + "AWS::BillingConductor::PricingRule.Tiering": { "additionalProperties": false, "properties": { - "CompressionType": { - "type": "string" - }, - "EntryPoint": { - "type": "string" + "CustomTiers": { + "items": { + "$ref": "#/definitions/AWS::BillingConductor::PricingRule.CustomTier" + }, + "type": "array" }, - "S3Uri": { - "type": "string" + "FreeTier": { + "$ref": "#/definitions/AWS::BillingConductor::PricingRule.FreeTier", + "markdownDescription": "The possible AWS Free Tier configurations.", + "title": "FreeTier" } }, - "required": [ - "EntryPoint", - "S3Uri" - ], "type": "object" }, - "AWS::Braket::SpendingLimit": { + "AWS::Braket::Job": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AlgorithmSpecification": { + "$ref": "#/definitions/AWS::Braket::Job.AlgorithmSpecification" + }, + "CheckpointConfig": { + "$ref": "#/definitions/AWS::Braket::Job.JobCheckpointConfig" + }, + "DeviceConfig": { + "$ref": "#/definitions/AWS::Braket::Job.DeviceConfig" + }, + "HyperParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "InputDataConfig": { + "items": { + "$ref": "#/definitions/AWS::Braket::Job.InputFileConfig" + }, + "type": "array" + }, + "InstanceConfig": { + "$ref": "#/definitions/AWS::Braket::Job.InstanceConfig" + }, + "JobName": { + "type": "string" + }, + "OutputDataConfig": { + "$ref": "#/definitions/AWS::Braket::Job.JobOutputDataConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::Braket::Job.JobStoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AlgorithmSpecification", + "DeviceConfig", + "InstanceConfig", + "JobName", + "OutputDataConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Braket::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Braket::Job.AlgorithmSpecification": { + "additionalProperties": false, + "properties": { + "ScriptModeConfig": { + "$ref": "#/definitions/AWS::Braket::Job.ScriptModeConfig" + } + }, + "required": [ + "ScriptModeConfig" + ], + "type": "object" + }, + "AWS::Braket::Job.DataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::Braket::Job.S3DataSource" + } + }, + "required": [ + "S3DataSource" + ], + "type": "object" + }, + "AWS::Braket::Job.DeviceConfig": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + } + }, + "required": [ + "Device" + ], + "type": "object" + }, + "AWS::Braket::Job.InputFileConfig": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "DataSource": { + "$ref": "#/definitions/AWS::Braket::Job.DataSource" + } + }, + "required": [ + "ChannelName", + "DataSource" + ], + "type": "object" + }, + "AWS::Braket::Job.InstanceConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "InstanceType", + "VolumeSizeInGb" + ], + "type": "object" + }, + "AWS::Braket::Job.JobCheckpointConfig": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Braket::Job.JobOutputDataConfig": { + "additionalProperties": false, + "properties": { + "S3Path": { + "type": "string" + } + }, + "required": [ + "S3Path" + ], + "type": "object" + }, + "AWS::Braket::Job.JobStoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Braket::Job.S3DataSource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Braket::Job.ScriptModeConfig": { + "additionalProperties": false, + "properties": { + "CompressionType": { + "type": "string" + }, + "EntryPoint": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "EntryPoint", + "S3Uri" + ], + "type": "object" + }, + "AWS::Braket::QuantumTask": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Associations": { + "items": { + "$ref": "#/definitions/AWS::Braket::QuantumTask.Association" + }, + "type": "array" + }, + "DeviceArn": { + "type": "string" + }, + "DeviceParameters": { + "type": "string" + }, + "ExperimentalCapabilities": { + "$ref": "#/definitions/AWS::Braket::QuantumTask.ExperimentalCapabilities" + }, + "OutputS3Bucket": { + "type": "string" + }, + "Shots": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeviceArn", + "OutputS3Bucket", + "Shots" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Braket::QuantumTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Braket::QuantumTask.ActionMetadata": { + "additionalProperties": false, + "properties": { + "ActionType": { + "type": "string" + } + }, + "required": [ + "ActionType" + ], + "type": "object" + }, + "AWS::Braket::QuantumTask.Association": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Arn", + "Type" + ], + "type": "object" + }, + "AWS::Braket::QuantumTask.ExperimentalCapabilities": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::Braket::SpendingLimit": { "additionalProperties": false, "properties": { "Condition": { @@ -62744,6 +63648,1900 @@ ], "type": "object" }, + "AWS::Chime::MediaCapturePipeline": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChimeSdkMeetingConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ChimeSdkMeetingConfiguration" + }, + "SinkArn": { + "type": "string" + }, + "SinkIamRoleArn": { + "type": "string" + }, + "SinkType": { + "type": "string" + }, + "SourceType": { + "type": "string" + }, + "SseAwsKeyManagementParams": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.SseAwsKeyManagementParams" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SinkArn", + "SinkType", + "SourceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaCapturePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.ActiveSpeakerOnlyConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveSpeakerPosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.ArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "Audio": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.AudioArtifactsConfiguration" + }, + "CompositedVideo": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.CompositedVideoArtifactsConfiguration" + }, + "Content": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ContentArtifactsConfiguration" + }, + "Video": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.VideoArtifactsConfiguration" + } + }, + "required": [ + "Audio", + "Content", + "Video" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.AudioArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "MuxType": { + "type": "string" + } + }, + "required": [ + "MuxType" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.ChimeSdkMeetingConfiguration": { + "additionalProperties": false, + "properties": { + "ArtifactsConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ArtifactsConfiguration" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.SourceConfiguration" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.CompositedVideoArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "GridViewConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.GridViewConfiguration" + }, + "Layout": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "required": [ + "GridViewConfiguration" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.ContentArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "MuxType": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.GridViewConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveSpeakerOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ActiveSpeakerOnlyConfiguration" + }, + "CanvasOrientation": { + "type": "string" + }, + "ContentShareLayout": { + "type": "string" + }, + "HorizontalLayoutConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.HorizontalLayoutConfiguration" + }, + "PresenterOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.PresenterOnlyConfiguration" + }, + "VerticalLayoutConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.VerticalLayoutConfiguration" + }, + "VideoAttribute": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.VideoAttribute" + } + }, + "required": [ + "ContentShareLayout" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.HorizontalLayoutConfiguration": { + "additionalProperties": false, + "properties": { + "TileAspectRatio": { + "type": "string" + }, + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.PresenterOnlyConfiguration": { + "additionalProperties": false, + "properties": { + "PresenterPosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.SelectedVideoStreams": { + "additionalProperties": false, + "properties": { + "AttendeeIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExternalUserIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "SelectedVideoStreams": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.SelectedVideoStreams" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.SseAwsKeyManagementParams": { + "additionalProperties": false, + "properties": { + "AwsKmsEncryptionContext": { + "type": "string" + }, + "AwsKmsKeyId": { + "type": "string" + } + }, + "required": [ + "AwsKmsKeyId" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.VerticalLayoutConfiguration": { + "additionalProperties": false, + "properties": { + "TileAspectRatio": { + "type": "string" + }, + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.VideoArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "MuxType": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.VideoAttribute": { + "additionalProperties": false, + "properties": { + "BorderColor": { + "type": "string" + }, + "BorderThickness": { + "type": "number" + }, + "CornerRadius": { + "type": "number" + }, + "HighlightColor": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Sinks": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ConcatenationSink" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ConcatenationSource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Sinks", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaConcatenationPipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.ArtifactsConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "Audio": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.AudioConcatenationConfiguration" + }, + "CompositedVideo": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.CompositedVideoConcatenationConfiguration" + }, + "Content": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ContentConcatenationConfiguration" + }, + "DataChannel": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.DataChannelConcatenationConfiguration" + }, + "MeetingEvents": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.MeetingEventsConcatenationConfiguration" + }, + "TranscriptionMessages": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.TranscriptionMessagesConcatenationConfiguration" + }, + "Video": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.VideoConcatenationConfiguration" + } + }, + "required": [ + "Audio", + "CompositedVideo", + "Content", + "DataChannel", + "MeetingEvents", + "TranscriptionMessages", + "Video" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.AudioConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.ChimeSdkMeetingConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "ArtifactsConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ArtifactsConcatenationConfiguration" + } + }, + "required": [ + "ArtifactsConfiguration" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.CompositedVideoConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.ConcatenationSink": { + "additionalProperties": false, + "properties": { + "S3BucketSinkConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.S3BucketSinkConfiguration" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "S3BucketSinkConfiguration", + "Type" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.ConcatenationSource": { + "additionalProperties": false, + "properties": { + "MediaCapturePipelineSourceConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.MediaCapturePipelineSourceConfiguration" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "MediaCapturePipelineSourceConfiguration", + "Type" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.ContentConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.DataChannelConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.MediaCapturePipelineSourceConfiguration": { + "additionalProperties": false, + "properties": { + "ChimeSdkMeetingConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ChimeSdkMeetingConcatenationConfiguration" + }, + "MediaPipelineArn": { + "type": "string" + } + }, + "required": [ + "ChimeSdkMeetingConfiguration", + "MediaPipelineArn" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.MeetingEventsConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.S3BucketSinkConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.TranscriptionMessagesConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.VideoConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KinesisVideoStreamRecordingSourceRuntimeConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamRecordingSourceRuntimeConfiguration" + }, + "KinesisVideoStreamSourceRuntimeConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamSourceRuntimeConfiguration" + }, + "MediaInsightsPipelineConfigurationArn": { + "type": "string" + }, + "MediaInsightsRuntimeMetadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "S3RecordingSinkRuntimeConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.S3RecordingSinkRuntimeConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MediaInsightsPipelineConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaInsightsPipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.ChannelDefinition": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "number" + }, + "ParticipantRole": { + "type": "string" + } + }, + "required": [ + "ChannelId" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.FragmentSelector": { + "additionalProperties": false, + "properties": { + "FragmentSelectorType": { + "type": "string" + }, + "TimestampRange": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.TimestampRange" + } + }, + "required": [ + "FragmentSelectorType", + "TimestampRange" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamRecordingSourceRuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "FragmentSelector": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.FragmentSelector" + }, + "Streams": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.RecordingStreamConfiguration" + }, + "type": "array" + } + }, + "required": [ + "FragmentSelector", + "Streams" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamSourceRuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "MediaEncoding": { + "type": "string" + }, + "MediaSampleRate": { + "type": "number" + }, + "Streams": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.StreamConfiguration" + }, + "type": "array" + } + }, + "required": [ + "MediaEncoding", + "MediaSampleRate", + "Streams" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.RecordingStreamConfiguration": { + "additionalProperties": false, + "properties": { + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.S3RecordingSinkRuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "RecordingFileFormat": { + "type": "string" + } + }, + "required": [ + "Destination", + "RecordingFileFormat" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.StreamChannelDefinition": { + "additionalProperties": false, + "properties": { + "ChannelDefinitions": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.ChannelDefinition" + }, + "type": "array" + }, + "NumberOfChannels": { + "type": "number" + } + }, + "required": [ + "NumberOfChannels" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.StreamConfiguration": { + "additionalProperties": false, + "properties": { + "FragmentNumber": { + "type": "string" + }, + "StreamArn": { + "type": "string" + }, + "StreamChannelDefinition": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.StreamChannelDefinition" + } + }, + "required": [ + "StreamArn", + "StreamChannelDefinition" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.TimestampRange": { + "additionalProperties": false, + "properties": { + "EndTimestamp": { + "type": "string" + }, + "StartTimestamp": { + "type": "string" + } + }, + "required": [ + "EndTimestamp", + "StartTimestamp" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Elements": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.MediaInsightsPipelineConfigurationElement" + }, + "type": "array" + }, + "MediaInsightsPipelineConfigurationName": { + "type": "string" + }, + "RealTimeAlertConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertConfiguration" + }, + "ResourceAccessRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Elements", + "MediaInsightsPipelineConfigurationName", + "ResourceAccessRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaInsightsPipelineConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeCallAnalyticsProcessorConfiguration": { + "additionalProperties": false, + "properties": { + "CallAnalyticsStreamCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContentIdentificationType": { + "type": "string" + }, + "ContentRedactionType": { + "type": "string" + }, + "EnablePartialResultsStabilization": { + "type": "boolean" + }, + "FilterPartialResults": { + "type": "boolean" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageModelName": { + "type": "string" + }, + "PartialResultsStability": { + "type": "string" + }, + "PiiEntityTypes": { + "type": "string" + }, + "PostCallAnalyticsSettings": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.PostCallAnalyticsSettings" + }, + "VocabularyFilterMethod": { + "type": "string" + }, + "VocabularyFilterName": { + "type": "string" + }, + "VocabularyName": { + "type": "string" + } + }, + "required": [ + "LanguageCode" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeProcessorConfiguration": { + "additionalProperties": false, + "properties": { + "ContentIdentificationType": { + "type": "string" + }, + "ContentRedactionType": { + "type": "string" + }, + "EnablePartialResultsStabilization": { + "type": "boolean" + }, + "FilterPartialResults": { + "type": "boolean" + }, + "IdentifyLanguage": { + "type": "boolean" + }, + "IdentifyMultipleLanguages": { + "type": "boolean" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageModelName": { + "type": "string" + }, + "LanguageOptions": { + "type": "string" + }, + "PartialResultsStability": { + "type": "string" + }, + "PiiEntityTypes": { + "type": "string" + }, + "PreferredLanguage": { + "type": "string" + }, + "ShowSpeakerLabel": { + "type": "boolean" + }, + "VocabularyFilterMethod": { + "type": "string" + }, + "VocabularyFilterName": { + "type": "string" + }, + "VocabularyFilterNames": { + "type": "string" + }, + "VocabularyName": { + "type": "string" + }, + "VocabularyNames": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.IssueDetectionConfiguration": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + } + }, + "required": [ + "RuleName" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.KeywordMatchConfiguration": { + "additionalProperties": false, + "properties": { + "Keywords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Negate": { + "type": "boolean" + }, + "RuleName": { + "type": "string" + } + }, + "required": [ + "Keywords", + "RuleName" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.KinesisDataStreamSinkConfiguration": { + "additionalProperties": false, + "properties": { + "InsightsTarget": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.MediaInsightsPipelineConfigurationElement": { + "additionalProperties": false, + "properties": { + "AmazonTranscribeCallAnalyticsProcessorConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeCallAnalyticsProcessorConfiguration" + }, + "AmazonTranscribeProcessorConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeProcessorConfiguration" + }, + "KinesisDataStreamSinkConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.KinesisDataStreamSinkConfiguration" + }, + "S3RecordingSinkConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.S3RecordingSinkConfiguration" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.PostCallAnalyticsSettings": { + "additionalProperties": false, + "properties": { + "ContentRedactionOutput": { + "type": "string" + }, + "DataAccessRoleArn": { + "type": "string" + }, + "OutputEncryptionKMSKeyId": { + "type": "string" + }, + "OutputLocation": { + "type": "string" + } + }, + "required": [ + "DataAccessRoleArn", + "OutputLocation" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertConfiguration": { + "additionalProperties": false, + "properties": { + "Disabled": { + "type": "boolean" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertRule": { + "additionalProperties": false, + "properties": { + "IssueDetectionConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.IssueDetectionConfiguration" + }, + "KeywordMatchConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.KeywordMatchConfiguration" + }, + "SentimentConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.SentimentConfiguration" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.S3RecordingSinkConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "RecordingFileFormat": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.SentimentConfiguration": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "SentimentType": { + "type": "string" + }, + "TimePeriod": { + "type": "number" + } + }, + "required": [ + "RuleName", + "SentimentType", + "TimePeriod" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Sinks": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSinkConfiguration" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSourceConfiguration" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Sinks", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaLiveConnectorPipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.ActiveSpeakerOnlyConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveSpeakerPosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.ChimeSdkMeetingLiveConnectorConfiguration": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CompositedVideo": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.CompositedVideoArtifactsConfiguration" + }, + "MuxType": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.SourceConfiguration" + } + }, + "required": [ + "MuxType" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.CompositedVideoArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "GridViewConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.GridViewConfiguration" + }, + "Layout": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "required": [ + "GridViewConfiguration" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.GridViewConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveSpeakerOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.ActiveSpeakerOnlyConfiguration" + }, + "CanvasOrientation": { + "type": "string" + }, + "ContentShareLayout": { + "type": "string" + }, + "HorizontalLayoutConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.HorizontalLayoutConfiguration" + }, + "PresenterOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.PresenterOnlyConfiguration" + }, + "VerticalLayoutConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.VerticalLayoutConfiguration" + }, + "VideoAttribute": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.VideoAttribute" + } + }, + "required": [ + "ContentShareLayout" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.HorizontalLayoutConfiguration": { + "additionalProperties": false, + "properties": { + "TileAspectRatio": { + "type": "string" + }, + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorRTMPConfiguration": { + "additionalProperties": false, + "properties": { + "AudioChannels": { + "type": "string" + }, + "AudioSampleRate": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSinkConfiguration": { + "additionalProperties": false, + "properties": { + "RTMPConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorRTMPConfiguration" + }, + "SinkType": { + "type": "string" + } + }, + "required": [ + "RTMPConfiguration", + "SinkType" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSourceConfiguration": { + "additionalProperties": false, + "properties": { + "ChimeSdkMeetingLiveConnectorConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.ChimeSdkMeetingLiveConnectorConfiguration" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "ChimeSdkMeetingLiveConnectorConfiguration", + "SourceType" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.PresenterOnlyConfiguration": { + "additionalProperties": false, + "properties": { + "PresenterPosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.SelectedVideoStreams": { + "additionalProperties": false, + "properties": { + "AttendeeIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExternalUserIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "SelectedVideoStreams": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.SelectedVideoStreams" + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.VerticalLayoutConfiguration": { + "additionalProperties": false, + "properties": { + "TileAspectRatio": { + "type": "string" + }, + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.VideoAttribute": { + "additionalProperties": false, + "properties": { + "BorderColor": { + "type": "string" + }, + "BorderThickness": { + "type": "number" + }, + "CornerRadius": { + "type": "number" + }, + "HighlightColor": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaPipelineKinesisVideoStreamPool": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PoolName": { + "type": "string" + }, + "StreamConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaPipelineKinesisVideoStreamPool.StreamConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaPipelineKinesisVideoStreamPool.TagsItems" + }, + "type": "array" + } + }, + "required": [ + "PoolName", + "StreamConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaPipelineKinesisVideoStreamPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaPipelineKinesisVideoStreamPool.StreamConfiguration": { + "additionalProperties": false, + "properties": { + "DataRetentionInHours": { + "type": "number" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::Chime::MediaPipelineKinesisVideoStreamPool.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Chime::MediaStreamPipeline": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Sinks": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaStreamPipeline.MediaStreamSink" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaStreamPipeline.MediaStreamSource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Sinks", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaStreamPipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaStreamPipeline.MediaStreamSink": { + "additionalProperties": false, + "properties": { + "MediaStreamType": { + "type": "string" + }, + "ReservedStreamCapacity": { + "type": "number" + }, + "SinkArn": { + "type": "string" + }, + "SinkType": { + "type": "string" + } + }, + "required": [ + "MediaStreamType", + "ReservedStreamCapacity", + "SinkArn", + "SinkType" + ], + "type": "object" + }, + "AWS::Chime::MediaStreamPipeline.MediaStreamSource": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SourceArn", + "SourceType" + ], + "type": "object" + }, + "AWS::Chime::SipMediaApplication": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "Endpoints": { + "items": { + "$ref": "#/definitions/AWS::Chime::SipMediaApplication.SipMediaApplicationEndpoint" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AwsRegion", + "Endpoints", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::SipMediaApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::SipMediaApplication.SipMediaApplicationEndpoint": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + } + }, + "required": [ + "LambdaArn" + ], + "type": "object" + }, + "AWS::Chime::VoiceConnector": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "RequireEncryption": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "RequireEncryption" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::VoiceConnector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CleanRooms::AnalysisTemplate": { "additionalProperties": false, "properties": { @@ -63655,6 +66453,39 @@ ], "type": "object" }, + "AWS::CleanRooms::ConfiguredTable.AggregationThreshold": { + "additionalProperties": false, + "properties": { + "AllowedAggregateExpressionType": { + "type": "string" + }, + "IdentityColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MinimumIdentityCount": { + "type": "number" + }, + "OutputColumnThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.OutputColumnThreshold" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "AllowedAggregateExpressionType", + "IdentityColumns", + "MinimumIdentityCount", + "Type" + ], + "type": "object" + }, "AWS::CleanRooms::ConfiguredTable.AnalysisRule": { "additionalProperties": false, "properties": { @@ -63754,6 +66585,12 @@ "title": "AdditionalAnalyses", "type": "string" }, + "AggregationThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationThreshold" + }, + "type": "array" + }, "AllowedAnalyses": { "items": { "type": "string" @@ -63770,6 +66607,9 @@ "title": "AllowedAnalysisProviders", "type": "array" }, + "ComparisonControls": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ComparisonControls" + }, "DifferentialPrivacy": { "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.DifferentialPrivacy", "markdownDescription": "The differential privacy configuration.", @@ -63854,16 +66694,38 @@ "title": "TableName", "type": "string" }, - "WorkGroup": { - "markdownDescription": "The workgroup of the Athena table reference.", - "title": "WorkGroup", - "type": "string" + "WorkGroup": { + "markdownDescription": "The workgroup of the Athena table reference.", + "title": "WorkGroup", + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName", + "WorkGroup" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ComparisonControls": { + "additionalProperties": false, + "properties": { + "AllowedColumnComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedLiteralComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "DatabaseName", - "TableName", - "WorkGroup" + "AllowedColumnComparisonColumns", + "AllowedLiteralComparisonColumns" ], "type": "object" }, @@ -63958,6 +66820,22 @@ ], "type": "object" }, + "AWS::CleanRooms::ConfiguredTable.OutputColumnThreshold": { + "additionalProperties": false, + "properties": { + "MinimumIdentityCount": { + "type": "number" + }, + "OutputColumnName": { + "type": "string" + } + }, + "required": [ + "MinimumIdentityCount", + "OutputColumnName" + ], + "type": "object" + }, "AWS::CleanRooms::ConfiguredTable.SnowflakeTableReference": { "additionalProperties": false, "properties": { @@ -64682,6 +67560,61 @@ ], "type": "object" }, + "AWS::CleanRooms::IntermediateTable.AggregationThreshold": { + "additionalProperties": false, + "properties": { + "AllowedAggregateExpressionType": { + "type": "string" + }, + "IdentityColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MinimumIdentityCount": { + "type": "number" + }, + "OutputColumnThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.OutputColumnThreshold" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "AllowedAggregateExpressionType", + "IdentityColumns", + "MinimumIdentityCount", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::IntermediateTable.ComparisonControls": { + "additionalProperties": false, + "properties": { + "AllowedColumnComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedLiteralComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AllowedColumnComparisonColumns", + "AllowedLiteralComparisonColumns" + ], + "type": "object" + }, "AWS::CleanRooms::IntermediateTable.DifferentialPrivacy": { "additionalProperties": false, "properties": { @@ -64731,6 +67664,12 @@ "AdditionalAnalyses": { "type": "string" }, + "AggregationThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.AggregationThreshold" + }, + "type": "array" + }, "AllowedAnalyses": { "items": { "type": "string" @@ -64749,6 +67688,9 @@ }, "type": "array" }, + "ComparisonControls": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.ComparisonControls" + }, "DifferentialPrivacy": { "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacy" }, @@ -64788,6 +67730,22 @@ ], "type": "object" }, + "AWS::CleanRooms::IntermediateTable.OutputColumnThreshold": { + "additionalProperties": false, + "properties": { + "MinimumIdentityCount": { + "type": "number" + }, + "OutputColumnName": { + "type": "string" + } + }, + "required": [ + "MinimumIdentityCount", + "OutputColumnName" + ], + "type": "object" + }, "AWS::CleanRooms::IntermediateTable.PopulationAnalysisConfiguration": { "additionalProperties": false, "properties": { @@ -65291,6 +68249,298 @@ }, "type": "object" }, + "AWS::CleanRoomsML::AudienceGenerationJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IncludeSeedInOutput": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CleanRoomsML::AudienceGenerationJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CleanRoomsML::AudienceGenerationJob.AudienceQualityMetrics": { + "additionalProperties": false, + "properties": { + "RecallMetric": { + "type": "number" + }, + "RelevanceMetrics": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::AudienceGenerationJob.RelevanceMetric" + }, + "type": "array" + } + }, + "required": [ + "RelevanceMetrics" + ], + "type": "object" + }, + "AWS::CleanRoomsML::AudienceGenerationJob.AudienceSize": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::CleanRoomsML::AudienceGenerationJob.RelevanceMetric": { + "additionalProperties": false, + "properties": { + "AudienceSize": { + "$ref": "#/definitions/AWS::CleanRoomsML::AudienceGenerationJob.AudienceSize" + }, + "Score": { + "type": "number" + } + }, + "required": [ + "AudienceSize" + ], + "type": "object" + }, + "AWS::CleanRoomsML::AudienceModel": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CleanRoomsML::AudienceModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredAudienceModel": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CleanRoomsML::ConfiguredAudienceModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredAudienceModel.AudienceDestination": { + "additionalProperties": false, + "properties": { + "S3Destination": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredAudienceModel.S3ConfigMap" + } + }, + "required": [ + "S3Destination" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredAudienceModel.AudienceSizeConfig": { + "additionalProperties": false, + "properties": { + "AudienceSizeBins": { + "items": { + "type": "number" + }, + "type": "array" + }, + "AudienceSizeType": { + "type": "string" + } + }, + "required": [ + "AudienceSizeBins", + "AudienceSizeType" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredAudienceModel.ConfiguredAudienceModelOutputConfig": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredAudienceModel.AudienceDestination" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Destination", + "RoleArn" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredAudienceModel.S3ConfigMap": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, "AWS::CleanRoomsML::ConfiguredModelAlgorithm": { "additionalProperties": false, "properties": { @@ -65326,153 +68576,733 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InferenceContainerConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig" - }, - "KmsKeyArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrainingContainerConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig" - } - }, - "required": [ - "Name", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CleanRoomsML::ConfiguredModelAlgorithm" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig": { - "additionalProperties": false, - "properties": { - "Arguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Entrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ImageUri": { - "type": "string" - }, - "MetricDefinitions": { - "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.MetricDefinition" - }, - "type": "array" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "type": "string" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithm.MetricDefinition": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Regex": { - "type": "string" - } - }, - "required": [ - "Name", - "Regex" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "Description": { + "type": "string" + }, + "InferenceContainerConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig" + }, + "KmsKeyArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrainingContainerConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig" + } + }, + "required": [ + "Name", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CleanRoomsML::ConfiguredModelAlgorithm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig": { + "additionalProperties": false, + "properties": { + "Arguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Entrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageUri": { + "type": "string" + }, + "MetricDefinitions": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.MetricDefinition" + }, + "type": "array" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig": { + "additionalProperties": false, + "properties": { + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithm.MetricDefinition": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "required": [ + "Name", + "Regex" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfiguredModelAlgorithmArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MembershipIdentifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PrivacyConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConfiguredModelAlgorithmArn", + "MembershipIdentifier", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig": { + "additionalProperties": false, + "properties": { + "CustomDataIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CustomDataIdentifiers" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration": { + "additionalProperties": false, + "properties": { + "CustomEntityConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig" + }, + "EntitiesToRedact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "EntitiesToRedact" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy": { + "additionalProperties": false, + "properties": { + "AllowedAccountIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FilterPattern": { + "type": "string" + }, + "LogRedactionConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration" + }, + "LogType": { + "type": "string" + } + }, + "required": [ + "AllowedAccountIds" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy": { + "additionalProperties": false, + "properties": { + "NoiseLevel": { + "type": "string" + } + }, + "required": [ + "NoiseLevel" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration": { + "additionalProperties": false, + "properties": { + "Policies": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfigurationPolicies" + } + }, + "required": [ + "Policies" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfigurationPolicies": { + "additionalProperties": false, + "properties": { + "TrainedModelExports": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy" + }, + "TrainedModelInferenceJobs": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy" + }, + "TrainedModels": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy": { + "additionalProperties": false, + "properties": { + "FilesToExport": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSize": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsMaxSize" + } + }, + "required": [ + "FilesToExport", + "MaxSize" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsMaxSize": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLogs": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy" + }, + "type": "array" + }, + "MaxOutputSize": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceMaxOutputSize" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceMaxOutputSize": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLogs": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy" + }, + "type": "array" + }, + "ContainerMetrics": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy" + }, + "MaxArtifactSize": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CleanRoomsML::MLInputChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.AccessBudget": { + "additionalProperties": false, + "properties": { + "AggregateRemainingBudget": { + "type": "number" + }, + "Details": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.AccessBudgetDetails" + }, + "type": "array" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "AggregateRemainingBudget", + "Details", + "ResourceArn" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.AccessBudgetDetails": { + "additionalProperties": false, + "properties": { + "AutoRefresh": { + "type": "string" + }, + "Budget": { + "type": "number" + }, + "BudgetType": { + "type": "string" + }, + "RemainingBudget": { + "type": "number" + } + }, + "required": [ + "Budget", + "BudgetType", + "RemainingBudget" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.ColumnClassificationDetails": { + "additionalProperties": false, + "properties": { + "ColumnMapping": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.SyntheticDataColumnProperties" + }, + "type": "array" + } + }, + "required": [ + "ColumnMapping" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.ComputeConfiguration": { + "additionalProperties": false, + "properties": { + "Worker": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.WorkerComputeConfiguration" + } + }, + "required": [ + "Worker" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.InputChannel": { + "additionalProperties": false, + "properties": { + "DataSource": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.InputChannelDataSource" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "DataSource", + "RoleArn" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.InputChannelDataSource": { + "additionalProperties": false, + "properties": { + "ProtectedQueryInputParameters": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.ProtectedQueryInputParameters" + } + }, + "required": [ + "ProtectedQueryInputParameters" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.MLSyntheticDataParameters": { + "additionalProperties": false, + "properties": { + "ColumnClassification": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.ColumnClassificationDetails" + }, + "Epsilon": { + "type": "number" + }, + "MaxMembershipInferenceAttackScore": { + "type": "number" + } + }, + "required": [ + "Epsilon", + "MaxMembershipInferenceAttackScore" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.PrivacyBudgets": { + "additionalProperties": false, + "properties": { + "AccessBudgets": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.AccessBudget" + }, + "type": "array" + } + }, + "required": [ + "AccessBudgets" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.Properties": { + "additionalProperties": false, + "properties": { + "Spark": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Spark" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.ProtectedQueryInputParameters": { + "additionalProperties": false, + "properties": { + "ComputeConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.ComputeConfiguration" + }, + "ResultFormat": { + "type": "string" + }, + "SqlParameters": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.ProtectedQuerySQLParameters" + } + }, + "required": [ + "SqlParameters" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.ProtectedQuerySQLParameters": { + "additionalProperties": false, + "properties": { + "AnalysisTemplateArn": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "QueryString": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.SyntheticDataColumnProperties": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "ColumnType": { + "type": "string" + }, + "IsPredictiveValue": { + "type": "boolean" + } + }, + "required": [ + "ColumnName", + "ColumnType", + "IsPredictiveValue" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.SyntheticDataConfiguration": { + "additionalProperties": false, + "properties": { + "SyntheticDataParameters": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.MLSyntheticDataParameters" + } + }, + "required": [ + "SyntheticDataParameters" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.WorkerComputeConfiguration": { + "additionalProperties": false, + "properties": { + "Number": { + "type": "number" + }, + "Properties": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.Properties" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::TrainedModelInferenceJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfiguredModelAlgorithmAssociationArn": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfiguredModelAlgorithmArn": { - "type": "string" + "DataSource": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.ModelInferenceDataSource" }, "Description": { "type": "string" @@ -65483,26 +69313,27 @@ "Name": { "type": "string" }, - "PrivacyConfiguration": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration" + "OutputConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceOutputConfiguration" + }, + "ResourceConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceResourceConfig" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrainedModelArn": { + "type": "string" } }, - "required": [ - "ConfiguredModelAlgorithmArn", - "MembershipIdentifier", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation" + "AWS::CleanRoomsML::TrainedModelInferenceJob" ], "type": "string" }, @@ -65516,207 +69347,67 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig": { - "additionalProperties": false, - "properties": { - "CustomDataIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CustomDataIdentifiers" + "Type" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceOutputConfiguration": { "additionalProperties": false, "properties": { - "CustomEntityConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig" + "Accept": { + "type": "string" }, - "EntitiesToRedact": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "EntitiesToRedact" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy": { - "additionalProperties": false, - "properties": { - "AllowedAccountIds": { + "Members": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceReceiverMember" }, "type": "array" - }, - "FilterPattern": { - "type": "string" - }, - "LogRedactionConfiguration": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration" - }, - "LogType": { - "type": "string" } }, "required": [ - "AllowedAccountIds" + "Members" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceReceiverMember": { "additionalProperties": false, "properties": { - "NoiseLevel": { + "AccountId": { "type": "string" } }, "required": [ - "NoiseLevel" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration": { - "additionalProperties": false, - "properties": { - "Policies": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfigurationPolicies" - } - }, - "required": [ - "Policies" + "AccountId" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfigurationPolicies": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceResourceConfig": { "additionalProperties": false, "properties": { - "TrainedModelExports": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy" - }, - "TrainedModelInferenceJobs": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy" - }, - "TrainedModels": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy" - } - }, - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { + "InstanceCount": { "type": "number" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy": { - "additionalProperties": false, - "properties": { - "FilesToExport": { - "items": { - "type": "string" - }, - "type": "array" }, - "MaxSize": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsMaxSize" - } - }, - "required": [ - "FilesToExport", - "MaxSize" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsMaxSize": { - "additionalProperties": false, - "properties": { - "Unit": { + "InstanceType": { "type": "string" - }, - "Value": { - "type": "number" } }, "required": [ - "Unit", - "Value" + "InstanceType" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.ModelInferenceDataSource": { "additionalProperties": false, "properties": { - "ContainerLogs": { - "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy" - }, - "type": "array" - }, - "MaxOutputSize": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceMaxOutputSize" - } - }, - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceMaxOutputSize": { - "additionalProperties": false, - "properties": { - "Unit": { + "MlInputChannelArn": { "type": "string" - }, - "Value": { - "type": "number" } }, "required": [ - "Unit", - "Value" + "MlInputChannelArn" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLogs": { - "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy" - }, - "type": "array" - }, - "ContainerMetrics": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy" - }, - "MaxArtifactSize": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize" - } - }, - "type": "object" - }, "AWS::CleanRoomsML::TrainingDataset": { "additionalProperties": false, "properties": { @@ -72895,6 +76586,63 @@ ], "type": "object" }, + "AWS::CloudHSMV2::Backup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudHSMV2::Backup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::CloudTrail::Channel": { "additionalProperties": false, "properties": { @@ -77092,6 +80840,149 @@ ], "type": "object" }, + "AWS::CodeBuild::Report": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::Report" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Report.CodeCoverageReportSummary": { + "additionalProperties": false, + "properties": { + "BranchCoveragePercentage": { + "type": "number" + }, + "BranchesCovered": { + "type": "number" + }, + "BranchesMissed": { + "type": "number" + }, + "LineCoveragePercentage": { + "type": "number" + }, + "LinesCovered": { + "type": "number" + }, + "LinesMissed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Report.ReportExportConfig": { + "additionalProperties": false, + "properties": { + "ExportConfigType": { + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::CodeBuild::Report.S3ReportExportConfig" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Report.S3ReportExportConfig": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "BucketOwner": { + "type": "string" + }, + "EncryptionDisabled": { + "type": "boolean" + }, + "EncryptionKey": { + "type": "string" + }, + "Packaging": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Report.TestReportSummary": { + "additionalProperties": false, + "properties": { + "DurationInNanoSeconds": { + "type": "number" + }, + "StatusCounts": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "number" + } + }, + "type": "object" + }, + "Total": { + "type": "number" + } + }, + "required": [ + "DurationInNanoSeconds", + "StatusCounts", + "Total" + ], + "type": "object" + }, "AWS::CodeBuild::ReportGroup": { "additionalProperties": false, "properties": { @@ -84345,6 +88236,85 @@ ], "type": "object" }, + "AWS::Comprehend::DocumentClassifierEndpoint": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DesiredInferenceUnits": { + "type": "number" + }, + "EndpointName": { + "type": "string" + }, + "ModelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DesiredInferenceUnits", + "EndpointName", + "ModelArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Comprehend::DocumentClassifierEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Comprehend::DominantLanguageDetectionJob": { "additionalProperties": false, "properties": { @@ -84828,34 +88798,123 @@ "Properties": { "additionalProperties": false, "properties": { - "DatasetName": { + "DatasetName": { + "type": "string" + }, + "DatasetType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FlywheelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatasetName", + "FlywheelArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Comprehend::FlywheelDataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Comprehend::PiiEntitiesDetectionJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataAccessRoleArn": { "type": "string" }, - "DatasetType": { + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob.InputDataConfig" + }, + "JobName": { "type": "string" }, - "Description": { + "LanguageCode": { "type": "string" }, - "FlywheelArn": { + "Mode": { "type": "string" }, + "RedactionConfig": { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob.RedactionConfig" + }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob.TagsItems" }, "type": "array" } }, "required": [ - "DatasetName", - "FlywheelArn" + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode", + "Mode" ], "type": "object" }, "Type": { "enum": [ - "AWS::Comprehend::FlywheelDataset" + "AWS::Comprehend::PiiEntitiesDetectionJob" ], "type": "string" }, @@ -84874,6 +88933,67 @@ ], "type": "object" }, + "AWS::Comprehend::PiiEntitiesDetectionJob.InputDataConfig": { + "additionalProperties": false, + "properties": { + "InputFormat": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Comprehend::PiiEntitiesDetectionJob.OutputDataConfig": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Comprehend::PiiEntitiesDetectionJob.RedactionConfig": { + "additionalProperties": false, + "properties": { + "MaskCharacter": { + "type": "string" + }, + "MaskMode": { + "type": "string" + }, + "PiiEntityTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Comprehend::PiiEntitiesDetectionJob.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, "AWS::Comprehend::SentimentDetectionJob": { "additionalProperties": false, "properties": { @@ -90042,7 +94162,11 @@ } }, "required": [ - "InstanceArn" + "InstanceArn", + "MetricCalculation", + "Name", + "Status", + "Unit" ], "type": "object" }, @@ -98192,9 +102316,12 @@ "type": "number" }, "CrossRegionCopyTargets": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets", + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget" + }, "markdownDescription": "*[Default policies only]* Specifies destination Regions for snapshot or AMI copies. You can specify up to 3 destination Regions. If you do not want to create cross-Region copies, omit this parameter.", - "title": "CrossRegionCopyTargets" + "title": "CrossRegionCopyTargets", + "type": "array" }, "DefaultPolicy": { "markdownDescription": "*[Default policies only]* Specify the type of default policy to create.\n\n- To create a default policy for EBS snapshots, that creates snapshots of all volumes in the Region that do not have recent backups, specify `VOLUME` .\n- To create a default policy for EBS-backed AMIs, that creates EBS-backed AMIs from all instances in the Region that do not have recent backups, specify `INSTANCE` .", @@ -98478,11 +102605,6 @@ }, "type": "object" }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::DLM::LifecyclePolicy.DeprecateRule": { "additionalProperties": false, "properties": { @@ -98570,16 +102692,6 @@ ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.ExcludeTags": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::DLM::LifecyclePolicy.Exclusions": { "additionalProperties": false, "properties": { @@ -98589,14 +102701,20 @@ "type": "boolean" }, "ExcludeTags": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeTags", + "items": { + "$ref": "#/definitions/Tag" + }, "markdownDescription": "*[Default policies for EBS-backed AMIs only]* Specifies whether to exclude volumes that have specific tags.", - "title": "ExcludeTags" + "title": "ExcludeTags", + "type": "array" }, "ExcludeVolumeTypes": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList", + "items": { + "type": "string" + }, "markdownDescription": "*[Default policies for EBS snapshots only]* Specifies the volume types to exclude. Volumes of the specified types will not be targeted by the policy.", - "title": "ExcludeVolumeTypes" + "title": "ExcludeVolumeTypes", + "type": "array" } }, "type": "object" @@ -98682,9 +102800,12 @@ "type": "number" }, "CrossRegionCopyTargets": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets", + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget" + }, "markdownDescription": "*[Default policies only]* Specifies destination Regions for snapshot or AMI copies. You can specify up to 3 destination Regions. If you do not want to create cross-Region copies, omit this parameter.", - "title": "CrossRegionCopyTargets" + "title": "CrossRegionCopyTargets", + "type": "array" }, "EventSource": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource", @@ -98939,11 +103060,6 @@ }, "type": "object" }, - "AWS::DLM::LifecyclePolicy.VolumeTypeValues": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { @@ -102094,87 +106210,245 @@ "Properties": { "additionalProperties": false, "properties": { - "CdcStartPosition": { - "markdownDescription": "Indicates when you want a change data capture (CDC) operation to start. Use either `CdcStartPosition` or `CdcStartTime` to specify when you want a CDC operation to start. Specifying both values results in an error.\n\nThe value can be in date, checkpoint, log sequence number (LSN), or system change number (SCN) format.\n\nHere is a date example: `--cdc-start-position \"2018-03-08T12:12:12\"`\n\nHere is a checkpoint example: `--cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"`\n\nHere is an LSN example: `--cdc-start-position \u201cmysql-bin-changelog.000024:373\u201d`\n\n> When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the `slotName` extra connection attribute to the name of this logical replication slot. For more information, see [Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "CdcStartPosition", - "type": "string" - }, - "CdcStartTime": { - "markdownDescription": "Indicates the start time for a change data capture (CDC) operation.", - "title": "CdcStartTime", - "type": "number" - }, - "CdcStopPosition": { - "markdownDescription": "Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.\n\nHere is a server time example: `--cdc-stop-position \"server_time:2018-02-09T12:12:12\"`\n\nHere is a commit time example: `--cdc-stop-position \"commit_time: 2018-02-09T12:12:12\"`", - "title": "CdcStopPosition", - "type": "string" + "CdcStartPosition": { + "markdownDescription": "Indicates when you want a change data capture (CDC) operation to start. Use either `CdcStartPosition` or `CdcStartTime` to specify when you want a CDC operation to start. Specifying both values results in an error.\n\nThe value can be in date, checkpoint, log sequence number (LSN), or system change number (SCN) format.\n\nHere is a date example: `--cdc-start-position \"2018-03-08T12:12:12\"`\n\nHere is a checkpoint example: `--cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"`\n\nHere is an LSN example: `--cdc-start-position \u201cmysql-bin-changelog.000024:373\u201d`\n\n> When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the `slotName` extra connection attribute to the name of this logical replication slot. For more information, see [Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "CdcStartPosition", + "type": "string" + }, + "CdcStartTime": { + "markdownDescription": "Indicates the start time for a change data capture (CDC) operation.", + "title": "CdcStartTime", + "type": "number" + }, + "CdcStopPosition": { + "markdownDescription": "Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.\n\nHere is a server time example: `--cdc-stop-position \"server_time:2018-02-09T12:12:12\"`\n\nHere is a commit time example: `--cdc-stop-position \"commit_time: 2018-02-09T12:12:12\"`", + "title": "CdcStopPosition", + "type": "string" + }, + "MigrationType": { + "markdownDescription": "The migration type. Valid values: `full-load` | `cdc` | `full-load-and-cdc`", + "title": "MigrationType", + "type": "string" + }, + "ReplicationInstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of a replication instance.", + "title": "ReplicationInstanceArn", + "type": "string" + }, + "ReplicationTaskIdentifier": { + "markdownDescription": "An identifier for the replication task.\n\nConstraints:\n\n- Must contain 1-255 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.", + "title": "ReplicationTaskIdentifier", + "type": "string" + }, + "ReplicationTaskSettings": { + "markdownDescription": "Overall settings for the task, in JSON format. For more information, see [Specifying Task Settings for AWS Database Migration Service Tasks](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html) in the *AWS Database Migration Service User Guide* .", + "title": "ReplicationTaskSettings", + "type": "string" + }, + "ResourceIdentifier": { + "markdownDescription": "A display name for the resource identifier at the end of the `EndpointArn` response parameter that is returned in the created `Endpoint` object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as `Example-App-ARN1` .\n\nFor example, this value might result in the `EndpointArn` value `arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1` . If you don't specify a `ResourceIdentifier` value, AWS DMS generates a default identifier value for the end of `EndpointArn` .", + "title": "ResourceIdentifier", + "type": "string" + }, + "SourceEndpointArn": { + "markdownDescription": "An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.", + "title": "SourceEndpointArn", + "type": "string" + }, + "TableMappings": { + "markdownDescription": "The table mappings for the task, in JSON format. For more information, see [Using Table Mapping to Specify Task Settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html) in the *AWS Database Migration Service User Guide* .", + "title": "TableMappings", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "One or more tags to be assigned to the replication task.", + "title": "Tags", + "type": "array" + }, + "TargetEndpointArn": { + "markdownDescription": "An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.", + "title": "TargetEndpointArn", + "type": "string" + }, + "TaskData": { + "markdownDescription": "Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see [Specifying Supplemental Data for Task Settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html) in the *AWS Database Migration Service User Guide.*", + "title": "TaskData", + "type": "string" + } + }, + "required": [ + "MigrationType", + "ReplicationInstanceArn", + "SourceEndpointArn", + "TableMappings", + "TargetEndpointArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationTaskAssessmentRun": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationTaskAssessmentRun" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DMS::ReplicationTaskAssessmentRun.AssessmentProgress": { + "additionalProperties": false, + "properties": { + "IndividualAssessmentCompletedCount": { + "type": "number" + }, + "IndividualAssessmentCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DRS::LaunchConfigurationTemplate": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CopyPrivateIp": { + "type": "boolean" }, - "MigrationType": { - "markdownDescription": "The migration type. Valid values: `full-load` | `cdc` | `full-load-and-cdc`", - "title": "MigrationType", - "type": "string" + "CopyTags": { + "type": "boolean" }, - "ReplicationInstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of a replication instance.", - "title": "ReplicationInstanceArn", + "ExportBucketArn": { "type": "string" }, - "ReplicationTaskIdentifier": { - "markdownDescription": "An identifier for the replication task.\n\nConstraints:\n\n- Must contain 1-255 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.", - "title": "ReplicationTaskIdentifier", + "LaunchDisposition": { "type": "string" }, - "ReplicationTaskSettings": { - "markdownDescription": "Overall settings for the task, in JSON format. For more information, see [Specifying Task Settings for AWS Database Migration Service Tasks](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html) in the *AWS Database Migration Service User Guide* .", - "title": "ReplicationTaskSettings", - "type": "string" + "LaunchIntoSourceInstance": { + "type": "boolean" }, - "ResourceIdentifier": { - "markdownDescription": "A display name for the resource identifier at the end of the `EndpointArn` response parameter that is returned in the created `Endpoint` object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as `Example-App-ARN1` .\n\nFor example, this value might result in the `EndpointArn` value `arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1` . If you don't specify a `ResourceIdentifier` value, AWS DMS generates a default identifier value for the end of `EndpointArn` .", - "title": "ResourceIdentifier", - "type": "string" + "Licensing": { + "$ref": "#/definitions/AWS::DRS::LaunchConfigurationTemplate.Licensing" }, - "SourceEndpointArn": { - "markdownDescription": "An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.", - "title": "SourceEndpointArn", - "type": "string" - }, - "TableMappings": { - "markdownDescription": "The table mappings for the task, in JSON format. For more information, see [Using Table Mapping to Specify Task Settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html) in the *AWS Database Migration Service User Guide* .", - "title": "TableMappings", - "type": "string" + "PostLaunchEnabled": { + "type": "boolean" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more tags to be assigned to the replication task.", - "title": "Tags", "type": "array" }, - "TargetEndpointArn": { - "markdownDescription": "An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.", - "title": "TargetEndpointArn", - "type": "string" - }, - "TaskData": { - "markdownDescription": "Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see [Specifying Supplemental Data for Task Settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html) in the *AWS Database Migration Service User Guide.*", - "title": "TaskData", + "TargetInstanceTypeRightSizingMethod": { "type": "string" } }, - "required": [ - "MigrationType", - "ReplicationInstanceArn", - "SourceEndpointArn", - "TableMappings", - "TargetEndpointArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::ReplicationTask" + "AWS::DRS::LaunchConfigurationTemplate" ], "type": "string" }, @@ -102188,11 +106462,19 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, + "AWS::DRS::LaunchConfigurationTemplate.Licensing": { + "additionalProperties": false, + "properties": { + "OsByol": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::DRS::RecoveryInstance": { "additionalProperties": false, "properties": { @@ -105537,6 +109819,9 @@ "markdownDescription": "Specifies configuration information for a customer-managed Secrets Manager secret where a storage location credentials is stored in Secrets Manager as plain text (for authentication token, secret key, or password) or as binary (for Kerberos keytab). This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.\n\n> You can use either `CmkSecretConfig` or `CustomSecretConfig` to provide credentials for a `CreateLocation` request. Do not provide both parameters for the same request.", "title": "CustomSecretConfig" }, + "FederatedIdentity": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.AzureFederatedIdentityConfig" + }, "Subdirectory": { "markdownDescription": "Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, `/my/images` ).", "title": "Subdirectory", @@ -105591,6 +109876,34 @@ ], "type": "object" }, + "AWS::DataSync::LocationAzureBlob.AzureFederatedIdentityConfig": { + "additionalProperties": false, + "properties": { + "AwsIamRole": { + "type": "string" + }, + "AzureOidc": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.AzureOidcConfig" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationAzureBlob.AzureOidcConfig": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "TenantId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "TenantId" + ], + "type": "object" + }, "AWS::DataSync::LocationAzureBlob.CmkSecretConfig": { "additionalProperties": false, "properties": { @@ -106758,6 +111071,9 @@ "markdownDescription": "Specifies configuration information for a customer-managed Secrets Manager secret where the secret key for a specific object storage location is stored in plain text, in Secrets Manager. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.\n\n> You can use either `CmkSecretConfig` (with `SecretKey` ) or `CustomSecretConfig` (without `SecretKey` ) to provide credentials for a `CreateLocationObjectStorage` request. Do not provide both parameters for the same request.", "title": "CustomSecretConfig" }, + "FederatedIdentity": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.ObjectStorageFederatedIdentityConfig" + }, "SecretKey": { "markdownDescription": "Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.\n\n> If you provide a secret using `SecretKey` , but do not provide secret configuration details using `CmkSecretConfig` or `CustomSecretConfig` , then DataSync stores the token using your AWS account's Secrets Manager secret.", "title": "SecretKey", @@ -106855,6 +111171,30 @@ ], "type": "object" }, + "AWS::DataSync::LocationObjectStorage.GoogleOidcConfig": { + "additionalProperties": false, + "properties": { + "IdentityPoolName": { + "type": "string" + }, + "IdentityProviderName": { + "type": "string" + }, + "ProjectName": { + "type": "string" + }, + "ProjectNumber": { + "type": "string" + } + }, + "required": [ + "IdentityPoolName", + "IdentityProviderName", + "ProjectName", + "ProjectNumber" + ], + "type": "object" + }, "AWS::DataSync::LocationObjectStorage.ManagedSecretConfig": { "additionalProperties": false, "properties": { @@ -106869,6 +111209,27 @@ ], "type": "object" }, + "AWS::DataSync::LocationObjectStorage.ObjectStorageExternalIdentityConfig": { + "additionalProperties": false, + "properties": { + "GoogleOidc": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.GoogleOidcConfig" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationObjectStorage.ObjectStorageFederatedIdentityConfig": { + "additionalProperties": false, + "properties": { + "AwsIamRole": { + "type": "string" + }, + "ExternalIdentity": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.ObjectStorageExternalIdentityConfig" + } + }, + "type": "object" + }, "AWS::DataSync::LocationS3": { "additionalProperties": false, "properties": { @@ -107428,6 +111789,9 @@ "title": "Mtime", "type": "string" }, + "ObjectMetadata": { + "type": "string" + }, "ObjectTags": { "markdownDescription": "Specifies whether you want DataSync to `PRESERVE` object tags (default behavior) when transferring between object storage systems. If you want your DataSync task to ignore object tags, specify the `NONE` value.", "title": "ObjectTags", @@ -112979,43 +117343,201 @@ "additionalProperties": false, "properties": { "FarmId": { - "markdownDescription": "The identifier assigned to the farm that contains the queue.", + "markdownDescription": "The identifier assigned to the farm that contains the queue.", + "title": "FarmId", + "type": "string" + }, + "Priority": { + "markdownDescription": "The queue environment's priority.", + "title": "Priority", + "type": "number" + }, + "QueueId": { + "markdownDescription": "The unique identifier of the queue that contains the environment.", + "title": "QueueId", + "type": "string" + }, + "Template": { + "markdownDescription": "A JSON or YAML template that describes the processing environment for the queue.", + "title": "Template", + "type": "string" + }, + "TemplateType": { + "markdownDescription": "Specifies whether the template for the queue environment is JSON or YAML.", + "title": "TemplateType", + "type": "string" + } + }, + "required": [ + "FarmId", + "Priority", + "QueueId", + "Template", + "TemplateType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Deadline::QueueEnvironment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Deadline::QueueFleetAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FarmId": { + "markdownDescription": "The identifier of the farm that contains the queue and the fleet.", + "title": "FarmId", + "type": "string" + }, + "FleetId": { + "markdownDescription": "The fleet ID.", + "title": "FleetId", + "type": "string" + }, + "QueueId": { + "markdownDescription": "The queue ID.", + "title": "QueueId", + "type": "string" + } + }, + "required": [ + "FarmId", + "FleetId", + "QueueId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Deadline::QueueFleetAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Deadline::QueueLimitAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FarmId": { + "markdownDescription": "The unique identifier of the farm that contains the queue-limit association.", "title": "FarmId", "type": "string" }, - "Priority": { - "markdownDescription": "The queue environment's priority.", - "title": "Priority", - "type": "number" + "LimitId": { + "markdownDescription": "The unique identifier of the limit in the association.", + "title": "LimitId", + "type": "string" }, "QueueId": { - "markdownDescription": "The unique identifier of the queue that contains the environment.", + "markdownDescription": "The unique identifier of the queue in the association.", "title": "QueueId", "type": "string" - }, - "Template": { - "markdownDescription": "A JSON or YAML template that describes the processing environment for the queue.", - "title": "Template", - "type": "string" - }, - "TemplateType": { - "markdownDescription": "Specifies whether the template for the queue environment is JSON or YAML.", - "title": "TemplateType", - "type": "string" } }, "required": [ "FarmId", - "Priority", - "QueueId", - "Template", - "TemplateType" + "LimitId", + "QueueId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::QueueEnvironment" + "AWS::Deadline::QueueLimitAssociation" ], "type": "string" }, @@ -113034,7 +117556,7 @@ ], "type": "object" }, - "AWS::Deadline::QueueFleetAssociation": { + "AWS::Deadline::StorageProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -113069,32 +117591,40 @@ "Properties": { "additionalProperties": false, "properties": { + "DisplayName": { + "markdownDescription": "The display name of the storage profile summary to update.\n\n> This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.", + "title": "DisplayName", + "type": "string" + }, "FarmId": { - "markdownDescription": "The identifier of the farm that contains the queue and the fleet.", + "markdownDescription": "The unique identifier of the farm that contains the storage profile.", "title": "FarmId", "type": "string" }, - "FleetId": { - "markdownDescription": "The fleet ID.", - "title": "FleetId", - "type": "string" + "FileSystemLocations": { + "items": { + "$ref": "#/definitions/AWS::Deadline::StorageProfile.FileSystemLocation" + }, + "markdownDescription": "Operating system specific file system path to the storage location.", + "title": "FileSystemLocations", + "type": "array" }, - "QueueId": { - "markdownDescription": "The queue ID.", - "title": "QueueId", + "OsFamily": { + "markdownDescription": "The operating system (OS) family.", + "title": "OsFamily", "type": "string" } }, "required": [ + "DisplayName", "FarmId", - "FleetId", - "QueueId" + "OsFamily" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::QueueFleetAssociation" + "AWS::Deadline::StorageProfile" ], "type": "string" }, @@ -113113,86 +117643,33 @@ ], "type": "object" }, - "AWS::Deadline::QueueLimitAssociation": { + "AWS::Deadline::StorageProfile.FileSystemLocation": { "additionalProperties": false, "properties": { - "Condition": { + "Name": { + "markdownDescription": "The location name.", + "title": "Name", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Path": { + "markdownDescription": "The file path.", + "title": "Path", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FarmId": { - "markdownDescription": "The unique identifier of the farm that contains the queue-limit association.", - "title": "FarmId", - "type": "string" - }, - "LimitId": { - "markdownDescription": "The unique identifier of the limit in the association.", - "title": "LimitId", - "type": "string" - }, - "QueueId": { - "markdownDescription": "The unique identifier of the queue in the association.", - "title": "QueueId", - "type": "string" - } - }, - "required": [ - "FarmId", - "LimitId", - "QueueId" - ], - "type": "object" - }, "Type": { - "enum": [ - "AWS::Deadline::QueueLimitAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "The type of file.", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "Name", + "Path", + "Type" ], "type": "object" }, - "AWS::Deadline::StorageProfile": { + "AWS::Deadline::Volume": { "additionalProperties": false, "properties": { "Condition": { @@ -113227,40 +117704,24 @@ "Properties": { "additionalProperties": false, "properties": { - "DisplayName": { - "markdownDescription": "The display name of the storage profile summary to update.\n\n> This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.", - "title": "DisplayName", + "FarmId": { "type": "string" }, - "FarmId": { - "markdownDescription": "The unique identifier of the farm that contains the storage profile.", - "title": "FarmId", + "FleetId": { "type": "string" }, - "FileSystemLocations": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::Deadline::StorageProfile.FileSystemLocation" + "$ref": "#/definitions/AWS::Deadline::Volume.TagsItems" }, - "markdownDescription": "Operating system specific file system path to the storage location.", - "title": "FileSystemLocations", "type": "array" - }, - "OsFamily": { - "markdownDescription": "The operating system (OS) family.", - "title": "OsFamily", - "type": "string" } }, - "required": [ - "DisplayName", - "FarmId", - "OsFamily" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::StorageProfile" + "AWS::Deadline::Volume" ], "type": "string" }, @@ -113274,34 +117735,23 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Deadline::StorageProfile.FileSystemLocation": { + "AWS::Deadline::Volume.TagsItems": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The location name.", - "title": "Name", - "type": "string" - }, - "Path": { - "markdownDescription": "The file path.", - "title": "Path", + "Key": { "type": "string" }, - "Type": { - "markdownDescription": "The type of file.", - "title": "Type", + "Value": { "type": "string" } }, "required": [ - "Name", - "Path", - "Type" + "Key", + "Value" ], "type": "object" }, @@ -117721,7 +122171,7 @@ ], "type": "object" }, - "AWS::DynamoDB::Backup": { + "AWS::DocDBElastic::ClusterSnapshot": { "additionalProperties": false, "properties": { "Condition": { @@ -117756,22 +122206,28 @@ "Properties": { "additionalProperties": false, "properties": { - "BackupName": { + "ClusterArn": { "type": "string" }, - "TableName": { + "SnapshotName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "BackupName", - "TableName" + "ClusterArn", + "SnapshotName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Backup" + "AWS::DocDBElastic::ClusterSnapshot" ], "type": "string" }, @@ -117996,6 +122452,12 @@ "markdownDescription": "Specifies the time to live (TTL) settings for the table. This setting will be applied to all replicas.", "title": "TimeToLiveSpecification" }, + "VectorIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.VectorIndex" + }, + "type": "array" + }, "WarmThroughput": { "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WarmThroughput", "markdownDescription": "Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the `UpdateTable` operation to meet the throughput requirements of an upcoming peak event.", @@ -118484,6 +122946,22 @@ ], "type": "object" }, + "AWS::DynamoDB::GlobalTable.SearchSchemaElement": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "SearchSchemaElementType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "SearchSchemaElementType" + ], + "type": "object" + }, "AWS::DynamoDB::GlobalTable.StreamSpecification": { "additionalProperties": false, "properties": { @@ -118546,6 +123024,52 @@ ], "type": "object" }, + "AWS::DynamoDB::GlobalTable.VectorAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + } + }, + "required": [ + "AttributeName" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.VectorIndex": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "type": "number" + }, + "DistanceFunction": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" + }, + "SearchSchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SearchSchemaElement" + }, + "type": "array" + }, + "VectorAttribute": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.VectorAttribute" + } + }, + "required": [ + "Dimensions", + "DistanceFunction", + "IndexName", + "Projection", + "VectorAttribute" + ], + "type": "object" + }, "AWS::DynamoDB::GlobalTable.WarmThroughput": { "additionalProperties": false, "properties": { @@ -118816,6 +123340,12 @@ "markdownDescription": "Specifies the Time to Live (TTL) settings for the table.\n\n> For detailed information about the limits in DynamoDB, see [Limits in Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the Amazon DynamoDB Developer Guide.", "title": "TimeToLiveSpecification" }, + "VectorIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.VectorIndex" + }, + "type": "array" + }, "WarmThroughput": { "$ref": "#/definitions/AWS::DynamoDB::Table.WarmThroughput", "markdownDescription": "Represents the warm throughput (in read units per second and write units per second) for creating a table.", @@ -119197,6 +123727,22 @@ ], "type": "object" }, + "AWS::DynamoDB::Table.SearchSchemaElement": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "SearchSchemaElementType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "SearchSchemaElementType" + ], + "type": "object" + }, "AWS::DynamoDB::Table.StreamSpecification": { "additionalProperties": false, "properties": { @@ -119241,6 +123787,52 @@ ], "type": "object" }, + "AWS::DynamoDB::Table.VectorAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + } + }, + "required": [ + "AttributeName" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.VectorIndex": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "type": "number" + }, + "DistanceFunction": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" + }, + "SearchSchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.SearchSchemaElement" + }, + "type": "array" + }, + "VectorAttribute": { + "$ref": "#/definitions/AWS::DynamoDB::Table.VectorAttribute" + } + }, + "required": [ + "Dimensions", + "DistanceFunction", + "IndexName", + "Projection", + "VectorAttribute" + ], + "type": "object" + }, "AWS::DynamoDB::Table.WarmThroughput": { "additionalProperties": false, "properties": { @@ -119257,6 +123849,159 @@ }, "type": "object" }, + "AWS::EC2::ApplicationStatusCheck": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "FailureThreshold": { + "type": "number" + }, + "HealthCheckPaths": { + "items": { + "$ref": "#/definitions/AWS::EC2::ApplicationStatusCheck.HealthCheckPath" + }, + "type": "array" + }, + "InitializationGracePeriodSeconds": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "IpScope": { + "type": "string" + }, + "IpVersion": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "StatusCodeMatcher": { + "type": "string" + }, + "SuccessThreshold": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ApplicationStatusCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ApplicationStatusCheck.HealthCheckPath": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::EC2::ApplicationStatusCheck.HealthCheckPathDestination" + }, + "type": "array" + }, + "Source": { + "$ref": "#/definitions/AWS::EC2::ApplicationStatusCheck.HealthCheckPathSource" + } + }, + "type": "object" + }, + "AWS::EC2::ApplicationStatusCheck.HealthCheckPathDestination": { + "additionalProperties": false, + "properties": { + "SecurityGroupId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::ApplicationStatusCheck.HealthCheckPathSource": { + "additionalProperties": false, + "properties": { + "SecurityGroupId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::CapacityManagerDataExport": { "additionalProperties": false, "properties": { @@ -120860,6 +125605,24 @@ }, "type": "object" }, + "AWS::EC2::EC2Fleet.CapacityReservationTargetRequest": { + "additionalProperties": false, + "properties": { + "CapacityReservationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CapacityReservationResourceGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EC2::EC2Fleet.CpuPerformanceFactorRequest": { "additionalProperties": false, "properties": { @@ -120897,6 +125660,9 @@ "title": "KmsKeyId", "type": "string" }, + "MultiAvailabilityZoneConfiguration": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.MultiAvailabilityZoneConfiguration" + }, "SnapshotId": { "markdownDescription": "The ID of the snapshot.", "title": "SnapshotId", @@ -121274,6 +126040,21 @@ }, "type": "object" }, + "AWS::EC2::EC2Fleet.MultiAvailabilityZoneConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationType": { + "type": "string" + }, + "StandbyAvailabilityZones": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.StandbyAvailabilityZone" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EC2::EC2Fleet.NetworkBandwidthGbpsRequest": { "additionalProperties": false, "properties": { @@ -121468,14 +126249,35 @@ }, "type": "object" }, + "AWS::EC2::EC2Fleet.ReservedCapacityFallbackOptionsRequest": { + "additionalProperties": false, + "properties": { + "MarketTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EC2::EC2Fleet.ReservedCapacityOptionsRequest": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationTargetRequest" + }, "ReservationTypes": { "items": { "type": "string" }, "type": "array" + }, + "ReservedCapacityFallbackOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.ReservedCapacityFallbackOptionsRequest" } }, "type": "object" @@ -121526,6 +126328,18 @@ }, "type": "object" }, + "AWS::EC2::EC2Fleet.StandbyAvailabilityZone": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::EC2Fleet.TagSpecification": { "additionalProperties": false, "properties": { @@ -139475,18 +144289,105 @@ "PropagateTags": { "type": "string" }, - "Tags": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Daemon" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Daemon.DaemonAlarmConfiguration": { + "additionalProperties": false, + "properties": { + "AlarmNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ECS::Daemon.DaemonDeploymentConfiguration": { + "additionalProperties": false, + "properties": { + "Alarms": { + "$ref": "#/definitions/AWS::ECS::Daemon.DaemonAlarmConfiguration" + }, + "BakeTimeInMinutes": { + "type": "number" + }, + "DrainPercent": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonDeployment": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { "items": { - "$ref": "#/definitions/Tag" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, "type": "array" } - }, + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Daemon" + "AWS::ECS::DaemonDeployment" ], "type": "string" }, @@ -139504,7 +144405,7 @@ ], "type": "object" }, - "AWS::ECS::Daemon.DaemonAlarmConfiguration": { + "AWS::ECS::DaemonDeployment.DaemonAlarmConfiguration": { "additionalProperties": false, "properties": { "AlarmNames": { @@ -139519,11 +144420,62 @@ }, "type": "object" }, - "AWS::ECS::Daemon.DaemonDeploymentConfiguration": { + "AWS::ECS::DaemonDeployment.DaemonCircuitBreaker": { + "additionalProperties": false, + "properties": { + "FailureCount": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "Threshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonDeployment.DaemonDeploymentAlarms": { + "additionalProperties": false, + "properties": { + "AlarmNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Status": { + "type": "string" + }, + "TriggeredAlarmNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonDeployment.DaemonDeploymentCapacityProvider": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DrainingInstanceCount": { + "type": "number" + }, + "RunningInstanceCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonDeployment.DaemonDeploymentConfiguration": { "additionalProperties": false, "properties": { "Alarms": { - "$ref": "#/definitions/AWS::ECS::Daemon.DaemonAlarmConfiguration" + "$ref": "#/definitions/AWS::ECS::DaemonDeployment.DaemonAlarmConfiguration" }, "BakeTimeInMinutes": { "type": "number" @@ -139534,6 +144486,27 @@ }, "type": "object" }, + "AWS::ECS::DaemonDeployment.DaemonDeploymentRevisionDetail": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CapacityProviders": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonDeployment.DaemonDeploymentCapacityProvider" + }, + "type": "array" + }, + "TotalDrainingInstanceCount": { + "type": "number" + }, + "TotalRunningInstanceCount": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ECS::DaemonTaskDefinition": { "additionalProperties": false, "properties": { @@ -140784,49 +145757,1062 @@ "title": "ServiceName", "type": "string" }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" - }, - "markdownDescription": "The details of the service discovery registry to associate with this service. For more information, see [Service discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) .\n\n> Each service may be associated with one service registry. Multiple service registries for each service isn't supported. > To remove this property from your service resource, specify an empty `ServiceRegistry` array.", - "title": "ServiceRegistries", - "type": "array" - }, - "Tags": { + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" + }, + "markdownDescription": "The details of the service discovery registry to associate with this service. For more information, see [Service discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) .\n\n> Each service may be associated with one service registry. Multiple service registries for each service isn't supported. > To remove this property from your service resource, specify an empty `ServiceRegistry` array.", + "title": "ServiceRegistries", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.\n\nThe following basic restrictions apply to tags:\n\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.", + "title": "Tags", + "type": "array" + }, + "TaskDefinition": { + "markdownDescription": "The `family` and `revision` ( `family:revision` ) or full ARN of the task definition to run in your service. If a `revision` isn't specified, the latest `ACTIVE` revision is used.\n\nA task definition must be specified if the service uses either the `ECS` or `CODE_DEPLOY` deployment controllers.\n\nFor more information about deployment types, see [Amazon ECS deployment types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) .", + "title": "TaskDefinition", + "type": "string" + }, + "VolumeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceVolumeConfiguration" + }, + "markdownDescription": "The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume.\n\n> To remove this property from your service resource, specify an empty `ServiceVolumeConfiguration` array.", + "title": "VolumeConfigurations", + "type": "array" + }, + "VpcLatticeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.VpcLatticeConfiguration" + }, + "markdownDescription": "The VPC Lattice configuration for the service being created.", + "title": "VpcLatticeConfigurations", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.AdvancedConfiguration": { + "additionalProperties": false, + "properties": { + "AlternateTargetGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.", + "title": "AlternateTargetGroupArn", + "type": "string" + }, + "ProductionListenerRule": { + "markdownDescription": "The Amazon Resource Name (ARN) that that identifies the production listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing production traffic.", + "title": "ProductionListenerRule", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call the Elastic Load Balancing APIs for you.", + "title": "RoleArn", + "type": "string" + }, + "TestListenerRule": { + "markdownDescription": "The Amazon Resource Name (ARN) that identifies ) that identifies the test listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing test traffic.", + "title": "TestListenerRule", + "type": "string" + } + }, + "required": [ + "AlternateTargetGroupArn" + ], + "type": "object" + }, + "AWS::ECS::Service.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "markdownDescription": "Whether the task's elastic network interface receives a public IP address.\n\nConsider the following when you set this value:\n\n- When you use `create-service` or `update-service` , the default is `DISABLED` .\n- When the service `deploymentController` is `ECS` , the value must be `DISABLED` .", + "title": "AssignPublicIp", + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified.\n\n> All specified security groups must be from the same VPC.", + "title": "SecurityGroups", + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified.\n\n> All specified subnets must be from the same VPC.", + "title": "Subnets", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::Service.CanaryConfiguration": { + "additionalProperties": false, + "properties": { + "CanaryBakeTimeInMinutes": { + "markdownDescription": "The amount of time in minutes to wait during the canary phase before shifting the remaining production traffic to the new service revision. Valid values are 0 to 1440 minutes (24 hours). The default value is 10.", + "title": "CanaryBakeTimeInMinutes", + "type": "number" + }, + "CanaryPercent": { + "markdownDescription": "The percentage of production traffic to shift to the new service revision during the canary phase. Valid values are multiples of 0.1 from 0.1 to 100.0. The default value is 5.0.", + "title": "CanaryPercent", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "markdownDescription": "The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider for each service. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used.\n\nBase value characteristics:\n\n- Only one capacity provider in a strategy can have a base defined\n- The default value is `0` if not specified\n- The valid range is 0 to 100,000\n- Base requirements are satisfied first before weight distribution", + "title": "Base", + "type": "number" + }, + "CapacityProvider": { + "markdownDescription": "The short name of the capacity provider. This can be either an AWS managed capacity provider ( `FARGATE` or `FARGATE_SPOT` ) or the name of a custom capacity provider that you created.", + "title": "CapacityProvider", + "type": "string" + }, + "Weight": { + "markdownDescription": "The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied.\n\nIf no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail.\n\nWeight value characteristics:\n\n- Weight is considered after the base value is satisfied\n- The default value is `0` if not specified\n- The valid range is 0 to 1,000\n- At least one capacity provider must have a weight greater than zero\n- Capacity providers with weight of `0` cannot place tasks\n\nTask distribution logic:\n\n- Base satisfaction: The minimum number of tasks specified by the base value are placed on that capacity provider\n- Weight distribution: After base requirements are met, additional tasks are distributed according to weight ratios\n\nExamples:\n\nEqual Distribution: Two capacity providers both with weight `1` will split tasks evenly after base requirements are met.\n\nWeighted Distribution: If capacityProviderA has weight `1` and capacityProviderB has weight `4` , then for every 1 task on A, 4 tasks will run on B.", + "title": "Weight", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentAlarms": { + "additionalProperties": false, + "properties": { + "AlarmNames": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more CloudWatch alarm names. Use a \",\" to separate the alarms.", + "title": "AlarmNames", + "type": "array" + }, + "Enable": { + "markdownDescription": "Determines whether to use the CloudWatch alarm option in the service deployment process.", + "title": "Enable", + "type": "boolean" + }, + "Rollback": { + "markdownDescription": "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is used, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.", + "title": "Rollback", + "type": "boolean" + } + }, + "required": [ + "AlarmNames", + "Enable", + "Rollback" + ], + "type": "object" + }, + "AWS::ECS::Service.DeploymentCircuitBreaker": { + "additionalProperties": false, + "properties": { + "Enable": { + "markdownDescription": "Determines whether to use the deployment circuit breaker logic for the service.", + "title": "Enable", + "type": "boolean" + }, + "ResetOnHealthyTask": { + "type": "boolean" + }, + "Rollback": { + "markdownDescription": "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.", + "title": "Rollback", + "type": "boolean" + }, + "ThresholdConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.ThresholdConfiguration" + } + }, + "required": [ + "Enable", + "Rollback" + ], + "type": "object" + }, + "AWS::ECS::Service.DeploymentConfiguration": { + "additionalProperties": false, + "properties": { + "Alarms": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentAlarms", + "markdownDescription": "Information about the CloudWatch alarms.", + "title": "Alarms" + }, + "BakeTimeInMinutes": { + "markdownDescription": "The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted.\n\nThe following rules apply when you don't specify a value:\n\n- For rolling deployments, the value is set to 3 hours (180 minutes).\n- When you use an external deployment controller ( `EXTERNAL` ), or the CodeDeploy blue/green deployment controller ( `CODE_DEPLOY` ), the value is set to 3 hours (180 minutes).\n- For all other cases, the value is set to 36 hours (2160 minutes).", + "title": "BakeTimeInMinutes", + "type": "number" + }, + "CanaryConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.CanaryConfiguration", + "markdownDescription": "Configuration for canary deployment strategy. Only valid when the deployment strategy is `CANARY` . This configuration enables shifting a fixed percentage of traffic for testing, followed by shifting the remaining traffic after a bake period.", + "title": "CanaryConfiguration" + }, + "DeploymentCircuitBreaker": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker", + "markdownDescription": "> The deployment circuit breaker can only be used for services using the rolling update ( `ECS` ) deployment type. \n\nThe *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide*", + "title": "DeploymentCircuitBreaker" + }, + "EarlySuccessCriteria": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentEarlySuccessCriteria" + }, + "LifecycleHooks": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentLifecycleHook" + }, + "markdownDescription": "An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.", + "title": "LifecycleHooks", + "type": "array" + }, + "LinearConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.LinearConfiguration", + "markdownDescription": "Configuration for linear deployment strategy. Only valid when the deployment strategy is `LINEAR` . This configuration enables progressive traffic shifting in equal percentage increments with configurable bake times between each step.", + "title": "LinearConfiguration" + }, + "MaximumPercent": { + "markdownDescription": "If a service is using the rolling update ( `ECS` ) deployment type, the `maximumPercent` parameter represents an upper limit on the number of your service's tasks that are allowed in the `RUNNING` or `PENDING` state during a deployment, as a percentage of the `desiredCount` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the `REPLICA` service scheduler and has a `desiredCount` of four tasks and a `maximumPercent` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default `maximumPercent` value for a service using the `REPLICA` service scheduler is 200%.\n\nThe Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) .\n\nIf a service is using either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the `RUNNING` state while the container instances are in the `DRAINING` state.\n\n> You can't specify a custom `maximumPercent` value for a service that uses either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and has tasks that use the EC2 launch type. \n\nIf the service uses either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service.", + "title": "MaximumPercent", + "type": "number" + }, + "MinimumHealthyPercent": { + "markdownDescription": "If a service is using the rolling update ( `ECS` ) deployment type, the `minimumHealthyPercent` represents a lower limit on the number of your service's tasks that must remain in the `RUNNING` state during a deployment, as a percentage of the `desiredCount` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a `desiredCount` of four tasks and a `minimumHealthyPercent` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks.\n\nIf any tasks are unhealthy and if `maximumPercent` doesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one \u2014 using the `minimumHealthyPercent` as a constraint \u2014 to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) .\n\nFor services that *do not* use a load balancer, the following should be noted:\n\n- A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n- If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a `RUNNING` state before the task is counted towards the minimum healthy percent total.\n- If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings.\n\nFor services that *do* use a load balancer, the following should be noted:\n\n- If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n- If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n\nThe default value for a replica service for `minimumHealthyPercent` is 100%. The default `minimumHealthyPercent` value for a service using the `DAEMON` service schedule is 0% for the AWS CLI , the AWS SDKs, and the APIs and 50% for the AWS Management Console.\n\nThe minimum number of healthy tasks during a deployment is the `desiredCount` multiplied by the `minimumHealthyPercent` /100, rounded up to the nearest integer value.\n\nIf a service is using either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the `RUNNING` state while the container instances are in the `DRAINING` state.\n\n> You can't specify a custom `minimumHealthyPercent` value for a service that uses either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and has tasks that use the EC2 launch type. \n\nIf a service is using either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.", + "title": "MinimumHealthyPercent", + "type": "number" + }, + "Strategy": { + "markdownDescription": "The deployment strategy for the service. Choose from these valid values:\n\n- `ROLLING` - When you create a service which uses the rolling update ( `ROLLING` ) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.\n- `BLUE_GREEN` - A blue/green deployment strategy ( `BLUE_GREEN` ) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.\n- `LINEAR` - A *linear* deployment strategy ( `LINEAR` ) gradually shifts traffic from the current production environment to a new environment in equal percentages over time. With Amazon ECS linear deployments, you can control the pace of traffic shifting and validate new service revisions with increasing amounts of production traffic.\n- `CANARY` - A *canary* deployment strategy ( `CANARY` ) shifts a small percentage of traffic to the new service revision first, then shifts the remaining traffic all at once after a specified time period. This allows you to test the new version with a subset of users before full deployment.", + "title": "Strategy", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentController": { + "additionalProperties": false, + "properties": { + "Type": { + "markdownDescription": "The deployment controller type to use.\n\nThe deployment controller is the mechanism that determines how tasks are deployed for your service. The valid options are:\n\n- ECS\n\nWhen you create a service which uses the `ECS` deployment controller, you can choose between the following deployment strategies:\n\n- `ROLLING` : When you create a service which uses the *rolling update* ( `ROLLING` ) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.\n\nRolling update deployments are best suited for the following scenarios:\n\n- Gradual service updates: You need to update your service incrementally without taking the entire service offline at once.\n- Limited resource requirements: You want to avoid the additional resource costs of running two complete environments simultaneously (as required by blue/green deployments).\n- Acceptable deployment time: Your application can tolerate a longer deployment process, as rolling updates replace tasks one by one.\n- No need for instant roll back: Your service can tolerate a rollback process that takes minutes rather than seconds.\n- Simple deployment process: You prefer a straightforward deployment approach without the complexity of managing multiple environments, target groups, and listeners.\n- No load balancer requirement: Your service doesn't use or require a load balancer, Application Load Balancer , Network Load Balancer , or Service Connect (which are required for blue/green deployments).\n- Stateful applications: Your application maintains state that makes it difficult to run two parallel environments.\n- Cost sensitivity: You want to minimize deployment costs by not running duplicate environments during deployment.\n\nRolling updates are the default deployment strategy for services and provide a balance between deployment safety and resource efficiency for many common application scenarios.\n- `BLUE_GREEN` : A *blue/green* deployment strategy ( `BLUE_GREEN` ) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.\n\nAmazon ECS blue/green deployments are best suited for the following scenarios:\n\n- Service validation: When you need to validate new service revisions before directing production traffic to them\n- Zero downtime: When your service requires zero-downtime deployments\n- Instant roll back: When you need the ability to quickly roll back if issues are detected\n- Load balancer requirement: When your service uses Application Load Balancer , Network Load Balancer , or Service Connect\n- External\n\nUse a third-party deployment controller.\n- Blue/green deployment (powered by CodeDeploy )\n\nCodeDeploy installs an updated version of the application as a new replacement task set and reroutes production traffic from the original application task set to the replacement task set. The original task set is terminated after a successful deployment. Use this deployment controller to verify a new deployment of a service before sending production traffic to it.\n\nWhen updating the deployment controller for a service, consider the following depending on the type of migration you're performing.\n\n- If you have a template that contains the `EXTERNAL` deployment controller information as well as `TaskSet` and `PrimaryTaskSet` resources, and you remove the task set resources from the template when updating from `EXTERNAL` to `ECS` , the `DescribeTaskSet` and `DeleteTaskSet` API calls will return a 400 error after the deployment controller is updated to `ECS` . This results in a delete failure on the task set resources, even though the stack transitions to `UPDATE_COMPLETE` status. For more information, see [Resource removed from stack but not deleted](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-resource-removed-not-deleted) in the AWS CloudFormation User Guide. To fix this issue, delete the task sets directly using the Amazon ECS `DeleteTaskSet` API. For more information about how to delete a task set, see [DeleteTaskSet](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html) in the ECSlong API Reference.\n- If you're migrating from `CODE_DEPLOY` to `ECS` with a new task definition and CloudFormation performs a rollback operation, the Amazon ECS `UpdateService` request fails with the following error:\n\nResource handler returned message: \"Invalid request provided: Unable to update task definition on services with a CODE_DEPLOY deployment controller.\n- After a successful migration from `ECS` to `EXTERNAL` deployment controller, you need to manually remove the `ACTIVE` task set, because Amazon ECS no longer manages the deployment. For information about how to delete a task set, see [DeleteTaskSet](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html) in the ECSlong API Reference.", + "title": "Type", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentEarlySuccessCriteria": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + }, + "HealthyPercent": { + "type": "number" + }, + "SourceServiceRevisionCleanup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentLifecycleHook": { + "additionalProperties": false, + "properties": { + "HookDetails": { + "markdownDescription": "Use this field to specify custom parameters that Amazon ECS passes to your hook target invocations (such as a Lambda function).\n\nThis field must be a JSON object as a string.", + "title": "HookDetails", + "type": "object" + }, + "HookTargetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported.\n\nYou must provide this parameter when configuring a deployment lifecycle hook.", + "title": "HookTargetArn", + "type": "string" + }, + "LifecycleStages": { + "items": { + "type": "string" + }, + "markdownDescription": "The lifecycle stages at which to run the hook. Choose from these valid values:\n\n- RECONCILE_SERVICE\n\nThe reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state.\n\nYou can use a lifecycle hook for this stage.\n- PRE_SCALE_UP\n\nThe green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic.\n\nYou can use a lifecycle hook for this stage.\n- POST_SCALE_UP\n\nThe green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic.\n\nYou can use a lifecycle hook for this stage.\n- TEST_TRAFFIC_SHIFT\n\nThe blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic.\n\nYou can use a lifecycle hook for this stage.\n- POST_TEST_TRAFFIC_SHIFT\n\nThe test traffic shift is complete. The green service revision handles 100% of the test traffic.\n\nYou can use a lifecycle hook for this stage.\n- PRODUCTION_TRAFFIC_SHIFT\n\nProduction traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic.\n\nYou can use a lifecycle hook for this stage.\n- POST_PRODUCTION_TRAFFIC_SHIFT\n\nThe production traffic shift is complete.\n\nYou can use a lifecycle hook for this stage.\n\nYou must provide this parameter when configuring a deployment lifecycle hook.", + "title": "LifecycleStages", + "type": "array" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf.\n\nFor more information, see [Permissions required for Lambda functions in Amazon ECS blue/green deployments](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/blue-green-permissions.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "RoleArn", + "type": "string" + }, + "TargetType": { + "type": "string" + }, + "TimeoutConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.HookTimeoutConfig" + } + }, + "required": [ + "LifecycleStages" + ], + "type": "object" + }, + "AWS::ECS::Service.EBSTagSpecification": { + "additionalProperties": false, + "properties": { + "PropagateTags": { + "markdownDescription": "Determines whether to propagate the tags from the task definition to the Amazon EBS volume. Tags can only propagate to a `SERVICE` specified in `ServiceVolumeConfiguration` . If no value is specified, the tags aren't propagated.", + "title": "PropagateTags", + "type": "string" + }, + "ResourceType": { + "markdownDescription": "The type of volume resource.", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags applied to this Amazon EBS volume. `AmazonECSCreated` and `AmazonECSManaged` are reserved tags that can't be used.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "ResourceType" + ], + "type": "object" + }, + "AWS::ECS::Service.ForceNewDeployment": { + "additionalProperties": false, + "properties": { + "EnableForceNewDeployment": { + "markdownDescription": "Determines whether to force a new deployment of the service. By default, deployments aren't forced. You can use this option to start a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination ( `my_image:latest` ) or to roll Fargate tasks onto a newer platform version.", + "title": "EnableForceNewDeployment", + "type": "boolean" + }, + "ForceNewDeploymentNonce": { + "markdownDescription": "When you change the `ForceNewDeploymentNonce` value in your template, it signals Amazon ECS to start a new deployment even though no other service parameters have changed. The value must be a unique, time- varying value like a timestamp, random string, or sequence number. Use this property when you want to ensure your tasks pick up the latest version of a Docker image that uses the same tag but has been updated in the registry.", + "title": "ForceNewDeploymentNonce", + "type": "string" + } + }, + "required": [ + "EnableForceNewDeployment" + ], + "type": "object" + }, + "AWS::ECS::Service.HookTimeoutConfig": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "TimeoutInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.LinearConfiguration": { + "additionalProperties": false, + "properties": { + "StepBakeTimeInMinutes": { + "markdownDescription": "The amount of time in minutes to wait between each traffic shifting step during a linear deployment. Valid values are 0 to 1440 minutes (24 hours). The default value is 6. This bake time is not applied after reaching 100 percent traffic.", + "title": "StepBakeTimeInMinutes", + "type": "number" + }, + "StepPercent": { + "markdownDescription": "The percentage of production traffic to shift in each step during a linear deployment. Valid values are multiples of 0.1 from 3.0 to 100.0. The default value is 10.0.", + "title": "StepPercent", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.LoadBalancer": { + "additionalProperties": false, + "properties": { + "AdvancedConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.AdvancedConfiguration", + "markdownDescription": "The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.", + "title": "AdvancedConfiguration" + }, + "ContainerName": { + "markdownDescription": "The name of the container (as it appears in a container definition) to associate with the load balancer.\n\nYou need to specify the container name when configuring the target group for an Amazon ECS load balancer.", + "title": "ContainerName", + "type": "string" + }, + "ContainerPort": { + "markdownDescription": "The port on the container to associate with the load balancer. This port must correspond to a `containerPort` in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the `hostPort` of the port mapping.", + "title": "ContainerPort", + "type": "number" + }, + "LoadBalancerName": { + "markdownDescription": "The name of the load balancer to associate with the Amazon ECS service or task set.\n\nIf you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.", + "title": "LoadBalancerName", + "type": "string" + }, + "TargetGroupArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.\n\nA target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.\n\nFor services using the `ECS` deployment controller, you can specify one or multiple target groups. For more information, see [Registering multiple target groups with a service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nFor services using the `CODE_DEPLOY` deployment controller, you're required to define two target groups for the load balancer. For more information, see [Blue/green deployment with CodeDeploy](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> If your service's task definition uses the `awsvpc` network mode, you must choose `ip` as the target type, not `instance` . Do this when creating your target groups because tasks that use the `awsvpc` network mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.", + "title": "TargetGroupArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { + "markdownDescription": "The log driver to use for the container.\n\nFor tasks on AWS Fargate , the supported log drivers are `awslogs` , `splunk` , and `awsfirelens` .\n\nFor tasks hosted on Amazon EC2 instances, the supported log drivers are `awslogs` , `fluentd` , `gelf` , `json-file` , `journald` , `syslog` , `splunk` , and `awsfirelens` .\n\nFor more information about using the `awslogs` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nFor more information about using the `awsfirelens` log driver, see [Send Amazon ECS logs to an AWS service or AWS Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) .\n\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.", + "title": "LogDriver", + "type": "string" + }, + "Options": { + "additionalProperties": true, + "markdownDescription": "The configuration options to send to the log driver.\n\nThe options you can specify depend on the log driver. Some of the options you can specify when you use the `awslogs` log driver to route logs to Amazon CloudWatch include the following:\n\n- **awslogs-create-group** - Required: No\n\nSpecify whether you want the log group to be created automatically. If this option isn't specified, it defaults to `false` .\n\n> Your IAM policy must include the `logs:CreateLogGroup` permission before you attempt to use `awslogs-create-group` .\n- **awslogs-region** - Required: Yes\n\nSpecify the AWS Region that the `awslogs` log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option.\n- **awslogs-group** - Required: Yes\n\nMake sure to specify a log group that the `awslogs` log driver sends its log streams to.\n- **awslogs-stream-prefix** - Required: Yes, when using Fargate.Optional when using EC2.\n\nUse the `awslogs-stream-prefix` option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format `prefix-name/container-name/ecs-task-id` .\n\nIf you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option.\n\nFor Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to.\n\nYou must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console.\n- **awslogs-datetime-format** - Required: No\n\nThis option defines a multiline start pattern in Python `strftime` format. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages.\n\nOne example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry.\n\nFor more information, see [awslogs-datetime-format](https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-datetime-format) .\n\nYou cannot configure both the `awslogs-datetime-format` and `awslogs-multiline-pattern` options.\n\n> Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance.\n- **awslogs-multiline-pattern** - Required: No\n\nThis option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages.\n\nFor more information, see [awslogs-multiline-pattern](https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-multiline-pattern) .\n\nThis option is ignored if `awslogs-datetime-format` is also configured.\n\nYou cannot configure both the `awslogs-datetime-format` and `awslogs-multiline-pattern` options.\n\n> Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance.\n\nThe following options apply to all supported log drivers.\n\n- **mode** - Required: No\n\nValid values: `non-blocking` | `blocking`\n\nThis option defines the delivery mode of log messages from the container to the log driver specified using `logDriver` . The delivery mode you choose affects application availability when the flow of logs from container is interrupted.\n\nIf you use the `blocking` mode and the flow of logs is interrupted, calls from container code to write to the `stdout` and `stderr` streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure.\n\nIf you use the `non-blocking` mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the `max-buffer-size` option. This prevents the application from becoming unresponsive when logs cannot be sent. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see [Preventing log loss with non-blocking mode in the `awslogs` container log driver](https://docs.aws.amazon.com/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/) .\n\nYou can set a default `mode` for all containers in a specific AWS Region by using the `defaultLogDriverMode` account setting. If you don't specify the `mode` option or configure the account setting, Amazon ECS will default to the `non-blocking` mode. For more information about the account setting, see [Default log driver mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#default-log-driver-mode) in the *Amazon Elastic Container Service Developer Guide* .\n\n> On June 25, 2025, Amazon ECS changed the default log driver mode from `blocking` to `non-blocking` to prioritize task availability over logging. To continue using the `blocking` mode after this change, do one of the following:\n> \n> - Set the `mode` option in your container definition's `logConfiguration` as `blocking` .\n> - Set the `defaultLogDriverMode` account setting to `blocking` .\n- **max-buffer-size** - Required: No\n\nDefault value: `10m`\n\nWhen `non-blocking` mode is used, the `max-buffer-size` log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost.\n\nTo route logs using the `splunk` log router, you need to specify a `splunk-token` and a `splunk-url` .\n\nWhen you use the `awsfirelens` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the `log-driver-buffer-limit` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker.\n\nOther options you can specify when using `awsfirelens` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with `region` and a name for the log stream with `delivery_stream` .\n\nWhen you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with `region` and a data stream name with `stream` .\n\nWhen you export logs to Amazon OpenSearch Service, you can specify options like `Name` , `Host` (OpenSearch Service endpoint without protocol), `Port` , `Index` , `Type` , `Aws_auth` , `Aws_region` , `Suppress_Type_Name` , and `tls` . For more information, see [Under the hood: FireLens for Amazon ECS Tasks](https://docs.aws.amazon.com/containers/under-the-hood-firelens-for-amazon-ecs-tasks/) .\n\nWhen you export logs to Amazon S3, you can specify the bucket using the `bucket` option. You can also specify `region` , `total_file_size` , `upload_timeout` , and `use_put_object` as options.\n\nThis 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}}'`", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Options", + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.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* .", + "title": "SecretOptions", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::Service.MetricConfiguration": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResolutionSeconds": { + "type": "number" + } + }, + "required": [ + "MetricNames", + "ResolutionSeconds" + ], + "type": "object" + }, + "AWS::ECS::Service.MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "MetricConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.MetricConfiguration" + }, + "type": "array" + } + }, + "required": [ + "MetricConfigurations" + ], + "type": "object" + }, + "AWS::ECS::Service.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsvpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration", + "markdownDescription": "The VPC subnets and security groups that are associated with a task.\n\n> All specified subnets and security groups must be from the same VPC.", + "title": "AwsvpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Service.PlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "markdownDescription": "A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance` . 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* .", + "title": "Expression", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of constraint. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.PlacementStrategy": { + "additionalProperties": false, + "properties": { + "Field": { + "markdownDescription": "The field to apply the placement strategy against. For the `spread` placement strategy, valid values are `instanceId` (or `host` , which has the same effect), or any platform or custom attribute that's applied to a container instance, such as `attribute:ecs.availability-zone` . For the `binpack` placement strategy, valid values are `cpu` and `memory` . For the `random` placement strategy, this field is not used.", + "title": "Field", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of placement strategy. The `random` placement strategy randomly places tasks on available candidates. The `spread` placement strategy spreads placement across available candidates evenly based on the `field` parameter. The `binpack` strategy places tasks on available candidates that have the least available amount of the resource that's specified with the `field` parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.Secret": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the secret.", + "title": "Name", + "type": "string" + }, + "ValueFrom": { + "markdownDescription": "The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the full ARN of the parameter in the SSM Parameter Store.\n\nFor information about the require AWS Identity and Access Management 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\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.", + "title": "ValueFrom", + "type": "string" + } + }, + "required": [ + "Name", + "ValueFrom" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectAccessLogConfiguration": { + "additionalProperties": false, + "properties": { + "Format": { + "markdownDescription": "The format for Service Connect access log output. Choose TEXT for human-readable logs or JSON for structured data that integrates well with log analysis tools.", + "title": "Format", + "type": "string" + }, + "IncludeQueryParameters": { + "markdownDescription": "Specifies whether to include query parameters in Service Connect access logs.\n\nWhen enabled, query parameters from HTTP requests are included in the access logs. Consider security and privacy implications when enabling this feature, as query parameters may contain sensitive information such as request IDs and tokens. By default, this parameter is `DISABLED` .", + "title": "IncludeQueryParameters", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectClientAlias": { + "additionalProperties": false, + "properties": { + "DnsName": { + "markdownDescription": "The `dnsName` is the name that you use in the applications of client tasks to connect to this service. The name must be a valid DNS name but doesn't need to be fully-qualified. The name can include up to 127 characters. The name can include lowercase letters, numbers, underscores (_), hyphens (-), and periods (.). The name can't start with a hyphen.\n\nIf this parameter isn't specified, the default value of `discoveryName.namespace` is used. If the `discoveryName` isn't specified, the port mapping name from the task definition is used in `portName.namespace` .\n\nTo avoid changing your applications in client Amazon ECS services, set this to the same name that the client application uses by default. For example, a few common names are `database` , `db` , or the lowercase name of a database, such as `mysql` or `redis` . 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* .", + "title": "DnsName", + "type": "string" + }, + "Port": { + "markdownDescription": "The listening port number for the Service Connect proxy. This port is available inside of all of the tasks within the same namespace.\n\nTo avoid changing your applications in client Amazon ECS services, set this to the same port that the client application uses by default. 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* .", + "title": "Port", + "type": "number" + }, + "TestTrafficRules": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRules", + "markdownDescription": "The configuration for test traffic routing rules used during blue/green deployments with Amazon ECS Service Connect. This allows you to route a portion of traffic to the new service revision of your service for testing before shifting all production traffic.", + "title": "TestTrafficRules" + } + }, + "required": [ + "Port" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectConfiguration": { + "additionalProperties": false, + "properties": { + "AccessLogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectAccessLogConfiguration", + "markdownDescription": "The configuration for Service Connect access logging. Access logs capture detailed information about requests made to your service, including request patterns, response codes, and timing data. They can be useful for debugging connectivity issues, monitoring service performance, and auditing service-to-service communication for security and compliance purposes.\n\n> To enable access logs, you must also specify a `logConfiguration` in the `serviceConnectConfiguration` .", + "title": "AccessLogConfiguration" + }, + "Enabled": { + "markdownDescription": "Specifies whether to use Service Connect with this service.", + "title": "Enabled", + "type": "boolean" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.LogConfiguration", + "markdownDescription": "The log configuration for the container. This parameter maps to `LogConfig` in the docker container create command and the `--log-driver` option to docker run.\n\nBy default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.\n\nUnderstand the following when specifying a log configuration for your containers.\n\n- Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n\nFor tasks on AWS Fargate , the supported log drivers are `awslogs` , `splunk` , and `awsfirelens` .\n\nFor tasks hosted on Amazon EC2 instances, the supported log drivers are `awslogs` , `fluentd` , `gelf` , `json-file` , `journald` , `syslog` , `splunk` , and `awsfirelens` .\n- This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n- For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide* .\n- For tasks that are on AWS Fargate , because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.", + "title": "LogConfiguration" + }, + "Namespace": { + "markdownDescription": "The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace for use with Service Connect. The namespace must be in the same AWS Region as the Amazon ECS service and cluster. The type of namespace doesn't affect Service Connect. For more information about AWS Cloud Map , see [Working with Services](https://docs.aws.amazon.com/cloud-map/latest/dg/working-with-services.html) in the *AWS Cloud Map Developer Guide* .", + "title": "Namespace", + "type": "string" + }, + "Services": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectService" + }, + "markdownDescription": "The list of Service Connect service objects. These are names and aliases (also known as endpoints) that are used by other Amazon ECS services to connect to this service.\n\nThis field is not required for a \"client\" Amazon ECS service that's a member of a namespace only to connect to other services within the namespace. An example of this would be a frontend application that accepts incoming requests from either a load balancer that's attached to the service or by other means.\n\nAn object selects a port from the task definition, assigns a name for the AWS Cloud Map service, and a list of aliases (endpoints) and ports for client applications to refer to this service.", + "title": "Services", + "type": "array" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectService": { + "additionalProperties": false, + "properties": { + "ClientAliases": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectClientAlias" + }, + "markdownDescription": "The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1.\n\nEach alias (\"endpoint\") is a fully-qualified name and port number that other Amazon ECS tasks (\"clients\") can use to connect to this service.\n\nEach name and port mapping must be unique within the namespace.\n\nFor each `ServiceConnectService` , you must provide at least one `clientAlias` with one `port` .", + "title": "ClientAliases", + "type": "array" + }, + "DiscoveryName": { + "markdownDescription": "The `discoveryName` is the name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service. This must be unique within the AWS Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.\n\nIf the `discoveryName` isn't specified, the port mapping name from the task definition is used in `portName.namespace` .", + "title": "DiscoveryName", + "type": "string" + }, + "IngressPortOverride": { + "markdownDescription": "The port number for the Service Connect proxy to listen on.\n\nUse the value of this field to bypass the proxy for traffic on the port number specified in the named `portMapping` in the task definition of this application, and then use it in your VPC security groups to allow traffic into the proxy for this Amazon ECS service.\n\nIn `awsvpc` mode and Fargate, the default value is the container port number. The container port number is in the `portMapping` in the task definition. In bridge mode, the default value is the ephemeral port of the Service Connect proxy.", + "title": "IngressPortOverride", + "type": "number" + }, + "PortName": { + "markdownDescription": "The `portName` must match the name of one of the `portMappings` from all the containers in the task definition of this Amazon ECS service.", + "title": "PortName", + "type": "string" + }, + "Timeout": { + "$ref": "#/definitions/AWS::ECS::Service.TimeoutConfiguration", + "markdownDescription": "A reference to an object that represents the configured timeouts for Service Connect.", + "title": "Timeout" + }, + "Tls": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTlsConfiguration", + "markdownDescription": "A reference to an object that represents a Transport Layer Security (TLS) configuration.", + "title": "Tls" + } + }, + "required": [ + "PortName" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectTestTrafficRules": { + "additionalProperties": false, + "properties": { + "Header": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRulesHeader", + "markdownDescription": "The HTTP header-based routing rules that determine which requests should be routed to the new service version during blue/green deployment testing. These rules provide fine-grained control over test traffic routing based on request headers.", + "title": "Header" + } + }, + "required": [ + "Header" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectTestTrafficRulesHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "", + "title": "Name", + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRulesHeaderValue", + "markdownDescription": "", + "title": "Value" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectTestTrafficRulesHeaderValue": { + "additionalProperties": false, + "properties": { + "Exact": { + "markdownDescription": "", + "title": "Exact", + "type": "string" + } + }, + "required": [ + "Exact" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectTlsCertificateAuthority": { + "additionalProperties": false, + "properties": { + "AwsPcaAuthorityArn": { + "markdownDescription": "The ARN of the AWS Private Certificate Authority certificate.", + "title": "AwsPcaAuthorityArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectTlsConfiguration": { + "additionalProperties": false, + "properties": { + "IssuerCertificateAuthority": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTlsCertificateAuthority", + "markdownDescription": "The signer certificate authority.", + "title": "IssuerCertificateAuthority" + }, + "KmsKey": { + "markdownDescription": "The AWS Key Management Service key.", + "title": "KmsKey", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that's associated with the Service Connect TLS.", + "title": "RoleArn", + "type": "string" + } + }, + "required": [ + "IssuerCertificateAuthority" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceManagedEBSVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Encrypted": { + "markdownDescription": "Indicates whether the volume should be encrypted. If you turn on Region-level Amazon EBS encryption by default but set this value as `false` , the setting is overridden and the volume is encrypted with the KMS key specified for Amazon EBS encryption by default. This parameter maps 1:1 with the `Encrypted` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", + "title": "Encrypted", + "type": "boolean" + }, + "FilesystemType": { + "markdownDescription": "The filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the tasks will fail to start.\n\nThe available Linux filesystem types are `ext3` , `ext4` , and `xfs` . If no value is specified, the `xfs` filesystem type is used by default.\n\nThe available Windows filesystem types are `NTFS` .", + "title": "FilesystemType", + "type": "string" + }, + "Iops": { + "markdownDescription": "The number of I/O operations per second (IOPS). For `gp3` , `io1` , and `io2` volumes, this represents the number of IOPS that are provisioned for the volume. For `gp2` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.\n\nThe following are the supported values for each volume type.\n\n- `gp3` : 3,000 - 16,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nThis parameter is required for `io1` and `io2` volume types. The default for `gp3` volumes is `3,000 IOPS` . This parameter is not supported for `st1` , `sc1` , or `standard` volume types.\n\nThis parameter maps 1:1 with the `Iops` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", + "title": "Iops", + "type": "number" + }, + "KmsKeyId": { + "markdownDescription": "The Amazon Resource Name (ARN) identifier of the AWS Key Management Service key to use for Amazon EBS encryption. When a key is specified using this parameter, it overrides Amazon EBS default encryption or any KMS key that you specified for cluster-level managed storage encryption. This parameter maps 1:1 with the `KmsKeyId` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* . For more information about encrypting Amazon EBS volumes attached to tasks, see [Encrypt data stored in Amazon EBS volumes attached to Amazon ECS tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-kms-encryption.html) .\n\n> AWS authenticates the AWS Key Management Service key asynchronously. Therefore, if you specify an ID, alias, or ARN that is invalid, the action can appear to complete, but eventually fails.", + "title": "KmsKeyId", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of the IAM role to associate with this volume. This is the Amazon ECS infrastructure IAM role that is used to manage your AWS infrastructure. We recommend using the Amazon ECS-managed `AmazonECSInfrastructureRolePolicyForVolumes` IAM policy with this role. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the *Amazon ECS Developer Guide* .", + "title": "RoleArn", + "type": "string" + }, + "SizeInGiB": { + "markdownDescription": "The size of the volume in GiB. You must specify either a volume size or a snapshot ID. If you specify a snapshot ID, the snapshot size is used for the volume size by default. You can optionally specify a volume size greater than or equal to the snapshot size. This parameter maps 1:1 with the `Size` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .\n\nThe following are the supported volume size values for each volume type.\n\n- `gp2` and `gp3` : 1-16,384\n- `io1` and `io2` : 4-16,384\n- `st1` and `sc1` : 125-16,384\n- `standard` : 1-1,024", + "title": "SizeInGiB", + "type": "number" + }, + "SnapshotId": { + "markdownDescription": "The snapshot that Amazon ECS uses to create volumes for attachment to tasks maintained by the service. You must specify either `snapshotId` or `sizeInGiB` in your volume configuration. This parameter maps 1:1 with the `SnapshotId` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", + "title": "SnapshotId", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.EBSTagSpecification" + }, + "markdownDescription": "The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This parameter maps 1:1 with the `TagSpecifications.N` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", + "title": "TagSpecifications", + "type": "array" + }, + "Throughput": { + "markdownDescription": "The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s. This parameter maps 1:1 with the `Throughput` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .\n\n> This parameter is only supported for the `gp3` volume type.", + "title": "Throughput", + "type": "number" + }, + "VolumeInitializationRate": { + "markdownDescription": "The rate, in MiB/s, at which data is fetched from a snapshot of an existing EBS volume to create new volumes for attachment to the tasks maintained by the service. This property can be specified only if you specify a `snapshotId` . For more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EBS User Guide* .", + "title": "VolumeInitializationRate", + "type": "number" + }, + "VolumeType": { + "markdownDescription": "The volume type. This parameter maps 1:1 with the `VolumeType` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* . For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) in the *Amazon EC2 User Guide* .\n\nThe following are the supported volume types.\n\n- General Purpose SSD: `gp2` | `gp3`\n- Provisioned IOPS SSD: `io1` | `io2`\n- Throughput Optimized HDD: `st1`\n- Cold HDD: `sc1`\n- Magnetic: `standard`\n\n> The magnetic volume type is not supported on Fargate.", + "title": "VolumeType", + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "markdownDescription": "The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the `bridge` or `host` network mode, you must specify a `containerName` and `containerPort` combination from the task definition. If the task definition that your service task specifies uses the `awsvpc` network mode and a type SRV DNS record is used, you must specify either a `containerName` and `containerPort` combination or a `port` value. However, you can't specify both.", + "title": "ContainerName", + "type": "string" + }, + "ContainerPort": { + "markdownDescription": "The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the `bridge` or `host` network mode, you must specify a `containerName` and `containerPort` combination from the task definition. If the task definition your service task specifies uses the `awsvpc` network mode and a type SRV DNS record is used, you must specify either a `containerName` and `containerPort` combination or a `port` value. However, you can't specify both.", + "title": "ContainerPort", + "type": "number" + }, + "Port": { + "markdownDescription": "The port value used if your service discovery service specified an SRV record. This field might be used if both the `awsvpc` network mode and SRV records are used.", + "title": "Port", + "type": "number" + }, + "RegistryArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is AWS Cloud Map . For more information, see [CreateService](https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html) .", + "title": "RegistryArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.ServiceVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "ManagedEBSVolume": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceManagedEBSVolumeConfiguration", + "markdownDescription": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service. The Amazon EBS volumes are visible in your account in the Amazon EC2 console once they are created.", + "title": "ManagedEBSVolume" + }, + "Name": { + "markdownDescription": "The name of the volume. This value must match the volume name from the `Volume` object in the task definition.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ECS::Service.ThresholdConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ECS::Service.TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "markdownDescription": "The amount of time in seconds a connection will stay active while idle. A value of `0` can be set to disable `idleTimeout` .\n\nThe `idleTimeout` default for `HTTP` / `HTTP2` / `GRPC` is 5 minutes.\n\nThe `idleTimeout` default for `TCP` is 1 hour.", + "title": "IdleTimeoutSeconds", + "type": "number" + }, + "PerRequestTimeoutSeconds": { + "markdownDescription": "The amount of time waiting for the upstream to respond with a complete response per request. A value of `0` can be set to disable `perRequestTimeout` . `perRequestTimeout` can only be set if Service Connect `appProtocol` isn't `TCP` . Only `idleTimeout` is allowed for `TCP` `appProtocol` .", + "title": "PerRequestTimeoutSeconds", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.VpcLatticeConfiguration": { + "additionalProperties": false, + "properties": { + "PortName": { + "markdownDescription": "The name of the port mapping to register in the VPC Lattice target group. This is the name of the `portMapping` you defined in your task definition.", + "title": "PortName", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of the IAM role to associate with this VPC Lattice configuration. This is the Amazon ECS infrastructure IAM role that is used to manage your VPC Lattice infrastructure.", + "title": "RoleArn", + "type": "string" + }, + "TargetGroupArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.", + "title": "TargetGroupArn", + "type": "string" + } + }, + "required": [ + "PortName", + "RoleArn", + "TargetGroupArn" + ], + "type": "object" + }, + "AWS::ECS::ServiceDeployment": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { "items": { - "$ref": "#/definitions/Tag" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "markdownDescription": "The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.\n\nThe following basic restrictions apply to tags:\n\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.", - "title": "Tags", "type": "array" - }, - "TaskDefinition": { - "markdownDescription": "The `family` and `revision` ( `family:revision` ) or full ARN of the task definition to run in your service. If a `revision` isn't specified, the latest `ACTIVE` revision is used.\n\nA task definition must be specified if the service uses either the `ECS` or `CODE_DEPLOY` deployment controllers.\n\nFor more information about deployment types, see [Amazon ECS deployment types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) .", - "title": "TaskDefinition", + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::ServiceDeployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::ServiceDeployment.ServiceRevisionSummary": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "PendingTaskCount": { + "type": "number" + }, + "RequestedTaskCount": { + "type": "number" + }, + "RunningTaskCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::ServiceRevision": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceVolumeConfiguration" - }, - "markdownDescription": "The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume.\n\n> To remove this property from your service resource, specify an empty `ServiceVolumeConfiguration` array.", - "title": "VolumeConfigurations", - "type": "array" - }, - "VpcLatticeConfigurations": { + { "items": { - "$ref": "#/definitions/AWS::ECS::Service.VpcLatticeConfiguration" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "markdownDescription": "The VPC Lattice configuration for the service being created.", - "title": "VpcLatticeConfigurations", "type": "array" } - }, + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Service" + "AWS::ECS::ServiceRevision" ], "type": "string" }, @@ -140844,393 +146830,524 @@ ], "type": "object" }, - "AWS::ECS::Service.AdvancedConfiguration": { + "AWS::ECS::ServiceRevision.AdvancedConfiguration": { "additionalProperties": false, "properties": { "AlternateTargetGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.", - "title": "AlternateTargetGroupArn", "type": "string" }, "ProductionListenerRule": { - "markdownDescription": "The Amazon Resource Name (ARN) that that identifies the production listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing production traffic.", - "title": "ProductionListenerRule", "type": "string" }, "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call the Elastic Load Balancing APIs for you.", - "title": "RoleArn", "type": "string" }, "TestListenerRule": { - "markdownDescription": "The Amazon Resource Name (ARN) that identifies ) that identifies the test listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing test traffic.", - "title": "TestListenerRule", "type": "string" } }, - "required": [ - "AlternateTargetGroupArn" - ], "type": "object" }, - "AWS::ECS::Service.AwsVpcConfiguration": { + "AWS::ECS::ServiceRevision.AwsVpcConfiguration": { "additionalProperties": false, "properties": { "AssignPublicIp": { - "markdownDescription": "Whether the task's elastic network interface receives a public IP address.\n\nConsider the following when you set this value:\n\n- When you use `create-service` or `update-service` , the default is `DISABLED` .\n- When the service `deploymentController` is `ECS` , the value must be `DISABLED` .", - "title": "AssignPublicIp", "type": "string" }, "SecurityGroups": { "items": { "type": "string" }, - "markdownDescription": "The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified.\n\n> All specified security groups must be from the same VPC.", - "title": "SecurityGroups", "type": "array" }, "Subnets": { "items": { "type": "string" }, - "markdownDescription": "The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified.\n\n> All specified subnets must be from the same VPC.", - "title": "Subnets", "type": "array" } }, + "required": [ + "Subnets" + ], "type": "object" }, - "AWS::ECS::Service.CanaryConfiguration": { + "AWS::ECS::ServiceRevision.CapacityProviderStrategyItem": { "additionalProperties": false, "properties": { - "CanaryBakeTimeInMinutes": { - "markdownDescription": "The amount of time in minutes to wait during the canary phase before shifting the remaining production traffic to the new service revision. Valid values are 0 to 1440 minutes (24 hours). The default value is 10.", - "title": "CanaryBakeTimeInMinutes", + "Base": { "type": "number" }, - "CanaryPercent": { - "markdownDescription": "The percentage of production traffic to shift to the new service revision during the canary phase. Valid values are multiples of 0.1 from 0.1 to 100.0. The default value is 5.0.", - "title": "CanaryPercent", + "CapacityProvider": { + "type": "string" + }, + "Weight": { "type": "number" } }, + "required": [ + "CapacityProvider" + ], "type": "object" }, - "AWS::ECS::Service.CapacityProviderStrategyItem": { + "AWS::ECS::ServiceRevision.ContainerImage": { "additionalProperties": false, "properties": { - "Base": { - "markdownDescription": "The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider for each service. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used.\n\nBase value characteristics:\n\n- Only one capacity provider in a strategy can have a base defined\n- The default value is `0` if not specified\n- The valid range is 0 to 100,000\n- Base requirements are satisfied first before weight distribution", - "title": "Base", - "type": "number" + "ContainerName": { + "type": "string" }, - "CapacityProvider": { - "markdownDescription": "The short name of the capacity provider. This can be either an AWS managed capacity provider ( `FARGATE` or `FARGATE_SPOT` ) or the name of a custom capacity provider that you created.", - "title": "CapacityProvider", + "Image": { "type": "string" }, - "Weight": { - "markdownDescription": "The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied.\n\nIf no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail.\n\nWeight value characteristics:\n\n- Weight is considered after the base value is satisfied\n- The default value is `0` if not specified\n- The valid range is 0 to 1,000\n- At least one capacity provider must have a weight greater than zero\n- Capacity providers with weight of `0` cannot place tasks\n\nTask distribution logic:\n\n- Base satisfaction: The minimum number of tasks specified by the base value are placed on that capacity provider\n- Weight distribution: After base requirements are met, additional tasks are distributed according to weight ratios\n\nExamples:\n\nEqual Distribution: Two capacity providers both with weight `1` will split tasks evenly after base requirements are met.\n\nWeighted Distribution: If capacityProviderA has weight `1` and capacityProviderB has weight `4` , then for every 1 task on A, 4 tasks will run on B.", - "title": "Weight", - "type": "number" + "ImageDigest": { + "type": "string" } }, "type": "object" }, - "AWS::ECS::Service.DeploymentAlarms": { + "AWS::ECS::ServiceRevision.DeploymentEphemeralStorage": { "additionalProperties": false, "properties": { - "AlarmNames": { + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::ServiceRevision.EBSTagSpecification": { + "additionalProperties": false, + "properties": { + "PropagateTags": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more CloudWatch alarm names. Use a \",\" to separate the alarms.", - "title": "AlarmNames", "type": "array" - }, - "Enable": { - "markdownDescription": "Determines whether to use the CloudWatch alarm option in the service deployment process.", - "title": "Enable", - "type": "boolean" - }, - "Rollback": { - "markdownDescription": "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is used, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.", - "title": "Rollback", - "type": "boolean" } }, "required": [ - "AlarmNames", - "Enable", - "Rollback" + "ResourceType" ], "type": "object" }, - "AWS::ECS::Service.DeploymentCircuitBreaker": { + "AWS::ECS::ServiceRevision.EcsManagedResources": { "additionalProperties": false, "properties": { - "Enable": { - "markdownDescription": "Determines whether to use the deployment circuit breaker logic for the service.", - "title": "Enable", - "type": "boolean" + "AutoScaling": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedAutoScaling" }, - "ResetOnHealthyTask": { - "type": "boolean" + "IngressPaths": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedIngressPath" + }, + "type": "array" }, - "Rollback": { - "markdownDescription": "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.", - "title": "Rollback", - "type": "boolean" + "LogGroups": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedLogGroup" + }, + "type": "array" }, - "ThresholdConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.ThresholdConfiguration" + "MetricAlarms": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedMetricAlarm" + }, + "type": "array" + }, + "ServiceSecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedSecurityGroup" + }, + "type": "array" } }, - "required": [ - "Enable", - "Rollback" - ], "type": "object" }, - "AWS::ECS::Service.DeploymentConfiguration": { + "AWS::ECS::ServiceRevision.LoadBalancer": { "additionalProperties": false, "properties": { - "Alarms": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentAlarms", - "markdownDescription": "Information about the CloudWatch alarms.", - "title": "Alarms" + "AdvancedConfiguration": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.AdvancedConfiguration" }, - "BakeTimeInMinutes": { - "markdownDescription": "The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted.\n\nThe following rules apply when you don't specify a value:\n\n- For rolling deployments, the value is set to 3 hours (180 minutes).\n- When you use an external deployment controller ( `EXTERNAL` ), or the CodeDeploy blue/green deployment controller ( `CODE_DEPLOY` ), the value is set to 3 hours (180 minutes).\n- For all other cases, the value is set to 36 hours (2160 minutes).", - "title": "BakeTimeInMinutes", + "ContainerName": { + "type": "string" + }, + "ContainerPort": { "type": "number" }, - "CanaryConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.CanaryConfiguration", - "markdownDescription": "Configuration for canary deployment strategy. Only valid when the deployment strategy is `CANARY` . This configuration enables shifting a fixed percentage of traffic for testing, followed by shifting the remaining traffic after a bake period.", - "title": "CanaryConfiguration" + "LoadBalancerName": { + "type": "string" }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker", - "markdownDescription": "> The deployment circuit breaker can only be used for services using the rolling update ( `ECS` ) deployment type. \n\nThe *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide*", - "title": "DeploymentCircuitBreaker" + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::ServiceRevision.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { + "type": "string" }, - "LifecycleHooks": { + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecretOptions": { "items": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentLifecycleHook" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.Secret" }, - "markdownDescription": "An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.", - "title": "LifecycleHooks", "type": "array" + } + }, + "required": [ + "LogDriver" + ], + "type": "object" + }, + "AWS::ECS::ServiceRevision.ManagedApplicationAutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" }, - "LinearConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.LinearConfiguration", - "markdownDescription": "Configuration for linear deployment strategy. Only valid when the deployment strategy is `LINEAR` . This configuration enables progressive traffic shifting in equal percentage increments with configurable bake times between each step.", - "title": "LinearConfiguration" + "Metric": { + "type": "string" }, - "MaximumPercent": { - "markdownDescription": "If a service is using the rolling update ( `ECS` ) deployment type, the `maximumPercent` parameter represents an upper limit on the number of your service's tasks that are allowed in the `RUNNING` or `PENDING` state during a deployment, as a percentage of the `desiredCount` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the `REPLICA` service scheduler and has a `desiredCount` of four tasks and a `maximumPercent` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default `maximumPercent` value for a service using the `REPLICA` service scheduler is 200%.\n\nThe Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) .\n\nIf a service is using either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the `RUNNING` state while the container instances are in the `DRAINING` state.\n\n> You can't specify a custom `maximumPercent` value for a service that uses either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and has tasks that use the EC2 launch type. \n\nIf the service uses either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service.", - "title": "MaximumPercent", - "type": "number" + "PolicyType": { + "type": "string" }, - "MinimumHealthyPercent": { - "markdownDescription": "If a service is using the rolling update ( `ECS` ) deployment type, the `minimumHealthyPercent` represents a lower limit on the number of your service's tasks that must remain in the `RUNNING` state during a deployment, as a percentage of the `desiredCount` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a `desiredCount` of four tasks and a `minimumHealthyPercent` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks.\n\nIf any tasks are unhealthy and if `maximumPercent` doesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one \u2014 using the `minimumHealthyPercent` as a constraint \u2014 to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) .\n\nFor services that *do not* use a load balancer, the following should be noted:\n\n- A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n- If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a `RUNNING` state before the task is counted towards the minimum healthy percent total.\n- If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings.\n\nFor services that *do* use a load balancer, the following should be noted:\n\n- If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n- If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n\nThe default value for a replica service for `minimumHealthyPercent` is 100%. The default `minimumHealthyPercent` value for a service using the `DAEMON` service schedule is 0% for the AWS CLI , the AWS SDKs, and the APIs and 50% for the AWS Management Console.\n\nThe minimum number of healthy tasks during a deployment is the `desiredCount` multiplied by the `minimumHealthyPercent` /100, rounded up to the nearest integer value.\n\nIf a service is using either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the `RUNNING` state while the container instances are in the `DRAINING` state.\n\n> You can't specify a custom `minimumHealthyPercent` value for a service that uses either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and has tasks that use the EC2 launch type. \n\nIf a service is using either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.", - "title": "MinimumHealthyPercent", + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "TargetValue": { "type": "number" }, - "Strategy": { - "markdownDescription": "The deployment strategy for the service. Choose from these valid values:\n\n- `ROLLING` - When you create a service which uses the rolling update ( `ROLLING` ) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.\n- `BLUE_GREEN` - A blue/green deployment strategy ( `BLUE_GREEN` ) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.\n- `LINEAR` - A *linear* deployment strategy ( `LINEAR` ) gradually shifts traffic from the current production environment to a new environment in equal percentages over time. With Amazon ECS linear deployments, you can control the pace of traffic shifting and validate new service revisions with increasing amounts of production traffic.\n- `CANARY` - A *canary* deployment strategy ( `CANARY` ) shifts a small percentage of traffic to the new service revision first, then shifts the remaining traffic all at once after a specified time period. This allows you to test the new version with a subset of users before full deployment.", - "title": "Strategy", + "UpdatedAt": { "type": "string" } }, + "required": [ + "Metric", + "PolicyType", + "Status", + "TargetValue", + "UpdatedAt" + ], "type": "object" }, - "AWS::ECS::Service.DeploymentController": { + "AWS::ECS::ServiceRevision.ManagedAutoScaling": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "The deployment controller type to use.\n\nThe deployment controller is the mechanism that determines how tasks are deployed for your service. The valid options are:\n\n- ECS\n\nWhen you create a service which uses the `ECS` deployment controller, you can choose between the following deployment strategies:\n\n- `ROLLING` : When you create a service which uses the *rolling update* ( `ROLLING` ) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.\n\nRolling update deployments are best suited for the following scenarios:\n\n- Gradual service updates: You need to update your service incrementally without taking the entire service offline at once.\n- Limited resource requirements: You want to avoid the additional resource costs of running two complete environments simultaneously (as required by blue/green deployments).\n- Acceptable deployment time: Your application can tolerate a longer deployment process, as rolling updates replace tasks one by one.\n- No need for instant roll back: Your service can tolerate a rollback process that takes minutes rather than seconds.\n- Simple deployment process: You prefer a straightforward deployment approach without the complexity of managing multiple environments, target groups, and listeners.\n- No load balancer requirement: Your service doesn't use or require a load balancer, Application Load Balancer , Network Load Balancer , or Service Connect (which are required for blue/green deployments).\n- Stateful applications: Your application maintains state that makes it difficult to run two parallel environments.\n- Cost sensitivity: You want to minimize deployment costs by not running duplicate environments during deployment.\n\nRolling updates are the default deployment strategy for services and provide a balance between deployment safety and resource efficiency for many common application scenarios.\n- `BLUE_GREEN` : A *blue/green* deployment strategy ( `BLUE_GREEN` ) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.\n\nAmazon ECS blue/green deployments are best suited for the following scenarios:\n\n- Service validation: When you need to validate new service revisions before directing production traffic to them\n- Zero downtime: When your service requires zero-downtime deployments\n- Instant roll back: When you need the ability to quickly roll back if issues are detected\n- Load balancer requirement: When your service uses Application Load Balancer , Network Load Balancer , or Service Connect\n- External\n\nUse a third-party deployment controller.\n- Blue/green deployment (powered by CodeDeploy )\n\nCodeDeploy installs an updated version of the application as a new replacement task set and reroutes production traffic from the original application task set to the replacement task set. The original task set is terminated after a successful deployment. Use this deployment controller to verify a new deployment of a service before sending production traffic to it.\n\nWhen updating the deployment controller for a service, consider the following depending on the type of migration you're performing.\n\n- If you have a template that contains the `EXTERNAL` deployment controller information as well as `TaskSet` and `PrimaryTaskSet` resources, and you remove the task set resources from the template when updating from `EXTERNAL` to `ECS` , the `DescribeTaskSet` and `DeleteTaskSet` API calls will return a 400 error after the deployment controller is updated to `ECS` . This results in a delete failure on the task set resources, even though the stack transitions to `UPDATE_COMPLETE` status. For more information, see [Resource removed from stack but not deleted](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-resource-removed-not-deleted) in the AWS CloudFormation User Guide. To fix this issue, delete the task sets directly using the Amazon ECS `DeleteTaskSet` API. For more information about how to delete a task set, see [DeleteTaskSet](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html) in the ECSlong API Reference.\n- If you're migrating from `CODE_DEPLOY` to `ECS` with a new task definition and CloudFormation performs a rollback operation, the Amazon ECS `UpdateService` request fails with the following error:\n\nResource handler returned message: \"Invalid request provided: Unable to update task definition on services with a CODE_DEPLOY deployment controller.\n- After a successful migration from `ECS` to `EXTERNAL` deployment controller, you need to manually remove the `ACTIVE` task set, because Amazon ECS no longer manages the deployment. For information about how to delete a task set, see [DeleteTaskSet](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html) in the ECSlong API Reference.", - "title": "Type", + "ApplicationAutoScalingPolicies": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedApplicationAutoScalingPolicy" + }, + "type": "array" + }, + "ScalableTarget": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedScalableTarget" + } + }, + "type": "object" + }, + "AWS::ECS::ServiceRevision.ManagedCertificate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { "type": "string" } }, + "required": [ + "DomainName", + "Status", + "UpdatedAt" + ], "type": "object" }, - "AWS::ECS::Service.DeploymentLifecycleHook": { + "AWS::ECS::ServiceRevision.ManagedIngressPath": { "additionalProperties": false, "properties": { - "HookDetails": { - "markdownDescription": "Use this field to specify custom parameters that Amazon ECS passes to your hook target invocations (such as a Lambda function).\n\nThis field must be a JSON object as a string.", - "title": "HookDetails", - "type": "object" + "AccessType": { + "type": "string" }, - "HookTargetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported.\n\nYou must provide this parameter when configuring a deployment lifecycle hook.", - "title": "HookTargetArn", + "Certificate": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedCertificate" + }, + "Endpoint": { "type": "string" }, - "LifecycleStages": { + "Listener": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedListener" + }, + "LoadBalancer": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedLoadBalancer" + }, + "LoadBalancerSecurityGroups": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedSecurityGroup" }, - "markdownDescription": "The lifecycle stages at which to run the hook. Choose from these valid values:\n\n- RECONCILE_SERVICE\n\nThe reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state.\n\nYou can use a lifecycle hook for this stage.\n- PRE_SCALE_UP\n\nThe green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic.\n\nYou can use a lifecycle hook for this stage.\n- POST_SCALE_UP\n\nThe green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic.\n\nYou can use a lifecycle hook for this stage.\n- TEST_TRAFFIC_SHIFT\n\nThe blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic.\n\nYou can use a lifecycle hook for this stage.\n- POST_TEST_TRAFFIC_SHIFT\n\nThe test traffic shift is complete. The green service revision handles 100% of the test traffic.\n\nYou can use a lifecycle hook for this stage.\n- PRODUCTION_TRAFFIC_SHIFT\n\nProduction traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic.\n\nYou can use a lifecycle hook for this stage.\n- POST_PRODUCTION_TRAFFIC_SHIFT\n\nThe production traffic shift is complete.\n\nYou can use a lifecycle hook for this stage.\n\nYou must provide this parameter when configuring a deployment lifecycle hook.", - "title": "LifecycleStages", "type": "array" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf.\n\nFor more information, see [Permissions required for Lambda functions in Amazon ECS blue/green deployments](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/blue-green-permissions.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "RoleArn", + "Rule": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedListenerRule" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedTargetGroup" + }, + "type": "array" + } + }, + "required": [ + "AccessType", + "Endpoint" + ], + "type": "object" + }, + "AWS::ECS::ServiceRevision.ManagedListener": { + "additionalProperties": false, + "properties": { + "Arn": { "type": "string" }, - "TargetType": { + "Status": { "type": "string" }, - "TimeoutConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.HookTimeoutConfig" + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" } }, "required": [ - "LifecycleStages" + "Status", + "UpdatedAt" ], "type": "object" }, - "AWS::ECS::Service.EBSTagSpecification": { + "AWS::ECS::ServiceRevision.ManagedListenerRule": { "additionalProperties": false, "properties": { - "PropagateTags": { - "markdownDescription": "Determines whether to propagate the tags from the task definition to the Amazon EBS volume. Tags can only propagate to a `SERVICE` specified in `ServiceVolumeConfiguration` . If no value is specified, the tags aren't propagated.", - "title": "PropagateTags", + "Arn": { "type": "string" }, - "ResourceType": { - "markdownDescription": "The type of volume resource.", - "title": "ResourceType", + "Status": { "type": "string" }, - "Tags": { + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" + } + }, + "required": [ + "Status", + "UpdatedAt" + ], + "type": "object" + }, + "AWS::ECS::ServiceRevision.ManagedLoadBalancer": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The tags applied to this Amazon EBS volume. `AmazonECSCreated` and `AmazonECSManaged` are reserved tags that can't be used.", - "title": "Tags", "type": "array" + }, + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UpdatedAt": { + "type": "string" } }, "required": [ - "ResourceType" + "Scheme", + "Status", + "UpdatedAt" ], "type": "object" }, - "AWS::ECS::Service.ForceNewDeployment": { + "AWS::ECS::ServiceRevision.ManagedLogGroup": { "additionalProperties": false, "properties": { - "EnableForceNewDeployment": { - "markdownDescription": "Determines whether to force a new deployment of the service. By default, deployments aren't forced. You can use this option to start a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination ( `my_image:latest` ) or to roll Fargate tasks onto a newer platform version.", - "title": "EnableForceNewDeployment", - "type": "boolean" + "Arn": { + "type": "string" }, - "ForceNewDeploymentNonce": { - "markdownDescription": "When you change the `ForceNewDeploymentNonce` value in your template, it signals Amazon ECS to start a new deployment even though no other service parameters have changed. The value must be a unique, time- varying value like a timestamp, random string, or sequence number. Use this property when you want to ensure your tasks pick up the latest version of a Docker image that uses the same tag but has been updated in the registry.", - "title": "ForceNewDeploymentNonce", + "LogGroupName": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { "type": "string" } }, "required": [ - "EnableForceNewDeployment" + "LogGroupName", + "Status", + "UpdatedAt" ], "type": "object" }, - "AWS::ECS::Service.HookTimeoutConfig": { + "AWS::ECS::ServiceRevision.ManagedMetricAlarm": { "additionalProperties": false, "properties": { - "Action": { + "Arn": { "type": "string" }, - "TimeoutInMinutes": { - "type": "number" + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" } }, + "required": [ + "Status", + "UpdatedAt" + ], "type": "object" }, - "AWS::ECS::Service.LinearConfiguration": { + "AWS::ECS::ServiceRevision.ManagedScalableTarget": { "additionalProperties": false, "properties": { - "StepBakeTimeInMinutes": { - "markdownDescription": "The amount of time in minutes to wait between each traffic shifting step during a linear deployment. Valid values are 0 to 1440 minutes (24 hours). The default value is 6. This bake time is not applied after reaching 100 percent traffic.", - "title": "StepBakeTimeInMinutes", + "Arn": { + "type": "string" + }, + "MaxCapacity": { "type": "number" }, - "StepPercent": { - "markdownDescription": "The percentage of production traffic to shift in each step during a linear deployment. Valid values are multiples of 0.1 from 3.0 to 100.0. The default value is 10.0.", - "title": "StepPercent", + "MinCapacity": { "type": "number" + }, + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" } }, + "required": [ + "MaxCapacity", + "MinCapacity", + "Status", + "UpdatedAt" + ], "type": "object" }, - "AWS::ECS::Service.LoadBalancer": { + "AWS::ECS::ServiceRevision.ManagedSecurityGroup": { "additionalProperties": false, "properties": { - "AdvancedConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.AdvancedConfiguration", - "markdownDescription": "The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.", - "title": "AdvancedConfiguration" - }, - "ContainerName": { - "markdownDescription": "The name of the container (as it appears in a container definition) to associate with the load balancer.\n\nYou need to specify the container name when configuring the target group for an Amazon ECS load balancer.", - "title": "ContainerName", + "Arn": { "type": "string" }, - "ContainerPort": { - "markdownDescription": "The port on the container to associate with the load balancer. This port must correspond to a `containerPort` in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the `hostPort` of the port mapping.", - "title": "ContainerPort", - "type": "number" + "Status": { + "type": "string" }, - "LoadBalancerName": { - "markdownDescription": "The name of the load balancer to associate with the Amazon ECS service or task set.\n\nIf you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.", - "title": "LoadBalancerName", + "StatusReason": { "type": "string" }, - "TargetGroupArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.\n\nA target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.\n\nFor services using the `ECS` deployment controller, you can specify one or multiple target groups. For more information, see [Registering multiple target groups with a service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nFor services using the `CODE_DEPLOY` deployment controller, you're required to define two target groups for the load balancer. For more information, see [Blue/green deployment with CodeDeploy](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> If your service's task definition uses the `awsvpc` network mode, you must choose `ip` as the target type, not `instance` . Do this when creating your target groups because tasks that use the `awsvpc` network mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.", - "title": "TargetGroupArn", + "UpdatedAt": { "type": "string" } }, + "required": [ + "Status", + "UpdatedAt" + ], "type": "object" }, - "AWS::ECS::Service.LogConfiguration": { + "AWS::ECS::ServiceRevision.ManagedTargetGroup": { "additionalProperties": false, "properties": { - "LogDriver": { - "markdownDescription": "The log driver to use for the container.\n\nFor tasks on AWS Fargate , the supported log drivers are `awslogs` , `splunk` , and `awsfirelens` .\n\nFor tasks hosted on Amazon EC2 instances, the supported log drivers are `awslogs` , `fluentd` , `gelf` , `json-file` , `journald` , `syslog` , `splunk` , and `awsfirelens` .\n\nFor more information about using the `awslogs` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nFor more information about using the `awsfirelens` log driver, see [Send Amazon ECS logs to an AWS service or AWS Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) .\n\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.", - "title": "LogDriver", + "Arn": { "type": "string" }, - "Options": { - "additionalProperties": true, - "markdownDescription": "The configuration options to send to the log driver.\n\nThe options you can specify depend on the log driver. Some of the options you can specify when you use the `awslogs` log driver to route logs to Amazon CloudWatch include the following:\n\n- **awslogs-create-group** - Required: No\n\nSpecify whether you want the log group to be created automatically. If this option isn't specified, it defaults to `false` .\n\n> Your IAM policy must include the `logs:CreateLogGroup` permission before you attempt to use `awslogs-create-group` .\n- **awslogs-region** - Required: Yes\n\nSpecify the AWS Region that the `awslogs` log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option.\n- **awslogs-group** - Required: Yes\n\nMake sure to specify a log group that the `awslogs` log driver sends its log streams to.\n- **awslogs-stream-prefix** - Required: Yes, when using Fargate.Optional when using EC2.\n\nUse the `awslogs-stream-prefix` option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format `prefix-name/container-name/ecs-task-id` .\n\nIf you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option.\n\nFor Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to.\n\nYou must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console.\n- **awslogs-datetime-format** - Required: No\n\nThis option defines a multiline start pattern in Python `strftime` format. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages.\n\nOne example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry.\n\nFor more information, see [awslogs-datetime-format](https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-datetime-format) .\n\nYou cannot configure both the `awslogs-datetime-format` and `awslogs-multiline-pattern` options.\n\n> Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance.\n- **awslogs-multiline-pattern** - Required: No\n\nThis option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages.\n\nFor more information, see [awslogs-multiline-pattern](https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-multiline-pattern) .\n\nThis option is ignored if `awslogs-datetime-format` is also configured.\n\nYou cannot configure both the `awslogs-datetime-format` and `awslogs-multiline-pattern` options.\n\n> Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance.\n\nThe following options apply to all supported log drivers.\n\n- **mode** - Required: No\n\nValid values: `non-blocking` | `blocking`\n\nThis option defines the delivery mode of log messages from the container to the log driver specified using `logDriver` . The delivery mode you choose affects application availability when the flow of logs from container is interrupted.\n\nIf you use the `blocking` mode and the flow of logs is interrupted, calls from container code to write to the `stdout` and `stderr` streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure.\n\nIf you use the `non-blocking` mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the `max-buffer-size` option. This prevents the application from becoming unresponsive when logs cannot be sent. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see [Preventing log loss with non-blocking mode in the `awslogs` container log driver](https://docs.aws.amazon.com/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/) .\n\nYou can set a default `mode` for all containers in a specific AWS Region by using the `defaultLogDriverMode` account setting. If you don't specify the `mode` option or configure the account setting, Amazon ECS will default to the `non-blocking` mode. For more information about the account setting, see [Default log driver mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#default-log-driver-mode) in the *Amazon Elastic Container Service Developer Guide* .\n\n> On June 25, 2025, Amazon ECS changed the default log driver mode from `blocking` to `non-blocking` to prioritize task availability over logging. To continue using the `blocking` mode after this change, do one of the following:\n> \n> - Set the `mode` option in your container definition's `logConfiguration` as `blocking` .\n> - Set the `defaultLogDriverMode` account setting to `blocking` .\n- **max-buffer-size** - Required: No\n\nDefault value: `10m`\n\nWhen `non-blocking` mode is used, the `max-buffer-size` log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost.\n\nTo route logs using the `splunk` log router, you need to specify a `splunk-token` and a `splunk-url` .\n\nWhen you use the `awsfirelens` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the `log-driver-buffer-limit` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker.\n\nOther options you can specify when using `awsfirelens` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with `region` and a name for the log stream with `delivery_stream` .\n\nWhen you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with `region` and a data stream name with `stream` .\n\nWhen you export logs to Amazon OpenSearch Service, you can specify options like `Name` , `Host` (OpenSearch Service endpoint without protocol), `Port` , `Index` , `Type` , `Aws_auth` , `Aws_region` , `Suppress_Type_Name` , and `tls` . For more information, see [Under the hood: FireLens for Amazon ECS Tasks](https://docs.aws.amazon.com/containers/under-the-hood-firelens-for-amazon-ecs-tasks/) .\n\nWhen you export logs to Amazon S3, you can specify the bucket using the `bucket` option. You can also specify `region` , `total_file_size` , `upload_timeout` , and `use_put_object` as options.\n\nThis 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}}'`", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Options", - "type": "object" + "HealthCheckPath": { + "type": "string" }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.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* .", - "title": "SecretOptions", - "type": "array" + "HealthCheckPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" } }, + "required": [ + "HealthCheckPath", + "HealthCheckPort", + "Port", + "Status", + "UpdatedAt" + ], "type": "object" }, - "AWS::ECS::Service.MetricConfiguration": { + "AWS::ECS::ServiceRevision.MetricConfiguration": { "additionalProperties": false, "properties": { "MetricNames": { @@ -141249,81 +147366,46 @@ ], "type": "object" }, - "AWS::ECS::Service.MonitoringConfiguration": { + "AWS::ECS::ServiceRevision.MonitoringConfiguration": { "additionalProperties": false, "properties": { "MetricConfigurations": { "items": { - "$ref": "#/definitions/AWS::ECS::Service.MetricConfiguration" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.MetricConfiguration" }, "type": "array" } }, - "required": [ - "MetricConfigurations" - ], "type": "object" }, - "AWS::ECS::Service.NetworkConfiguration": { + "AWS::ECS::ServiceRevision.NetworkConfiguration": { "additionalProperties": false, "properties": { "AwsvpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration", - "markdownDescription": "The VPC subnets and security groups that are associated with a task.\n\n> All specified subnets and security groups must be from the same VPC.", - "title": "AwsvpcConfiguration" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.AwsVpcConfiguration" } }, "type": "object" }, - "AWS::ECS::Service.PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "markdownDescription": "A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance` . 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* .", - "title": "Expression", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of constraint. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.PlacementStrategy": { + "AWS::ECS::ServiceRevision.ResolvedConfiguration": { "additionalProperties": false, "properties": { - "Field": { - "markdownDescription": "The field to apply the placement strategy against. For the `spread` placement strategy, valid values are `instanceId` (or `host` , which has the same effect), or any platform or custom attribute that's applied to a container instance, such as `attribute:ecs.availability-zone` . For the `binpack` placement strategy, valid values are `cpu` and `memory` . For the `random` placement strategy, this field is not used.", - "title": "Field", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of placement strategy. The `random` placement strategy randomly places tasks on available candidates. The `spread` placement strategy spreads placement across available candidates evenly based on the `field` parameter. The `binpack` strategy places tasks on available candidates that have the least available amount of the resource that's specified with the `field` parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task.", - "title": "Type", - "type": "string" + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceRevisionLoadBalancer" + }, + "type": "array" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::ECS::Service.Secret": { + "AWS::ECS::ServiceRevision.Secret": { "additionalProperties": false, "properties": { "Name": { - "markdownDescription": "The name of the secret.", - "title": "Name", "type": "string" }, "ValueFrom": { - "markdownDescription": "The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the full ARN of the parameter in the SSM Parameter Store.\n\nFor information about the require AWS Identity and Access Management 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\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.", - "title": "ValueFrom", "type": "string" } }, @@ -141333,17 +147415,13 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectAccessLogConfiguration": { + "AWS::ECS::ServiceRevision.ServiceConnectAccessLogConfiguration": { "additionalProperties": false, "properties": { "Format": { - "markdownDescription": "The format for Service Connect access log output. Choose TEXT for human-readable logs or JSON for structured data that integrates well with log analysis tools.", - "title": "Format", "type": "string" }, "IncludeQueryParameters": { - "markdownDescription": "Specifies whether to include query parameters in Service Connect access logs.\n\nWhen enabled, query parameters from HTTP requests are included in the access logs. Consider security and privacy implications when enabling this feature, as query parameters may contain sensitive information such as request IDs and tokens. By default, this parameter is `DISABLED` .", - "title": "IncludeQueryParameters", "type": "string" } }, @@ -141352,23 +147430,17 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectClientAlias": { + "AWS::ECS::ServiceRevision.ServiceConnectClientAlias": { "additionalProperties": false, "properties": { "DnsName": { - "markdownDescription": "The `dnsName` is the name that you use in the applications of client tasks to connect to this service. The name must be a valid DNS name but doesn't need to be fully-qualified. The name can include up to 127 characters. The name can include lowercase letters, numbers, underscores (_), hyphens (-), and periods (.). The name can't start with a hyphen.\n\nIf this parameter isn't specified, the default value of `discoveryName.namespace` is used. If the `discoveryName` isn't specified, the port mapping name from the task definition is used in `portName.namespace` .\n\nTo avoid changing your applications in client Amazon ECS services, set this to the same name that the client application uses by default. For example, a few common names are `database` , `db` , or the lowercase name of a database, such as `mysql` or `redis` . 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* .", - "title": "DnsName", "type": "string" }, "Port": { - "markdownDescription": "The listening port number for the Service Connect proxy. This port is available inside of all of the tasks within the same namespace.\n\nTo avoid changing your applications in client Amazon ECS services, set this to the same port that the client application uses by default. 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* .", - "title": "Port", "type": "number" }, "TestTrafficRules": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRules", - "markdownDescription": "The configuration for test traffic routing rules used during blue/green deployments with Amazon ECS Service Connect. This allows you to route a portion of traffic to the new service revision of your service for testing before shifting all production traffic.", - "title": "TestTrafficRules" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectTestTrafficRules" } }, "required": [ @@ -141376,35 +147448,25 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectConfiguration": { + "AWS::ECS::ServiceRevision.ServiceConnectConfiguration": { "additionalProperties": false, "properties": { "AccessLogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectAccessLogConfiguration", - "markdownDescription": "The configuration for Service Connect access logging. Access logs capture detailed information about requests made to your service, including request patterns, response codes, and timing data. They can be useful for debugging connectivity issues, monitoring service performance, and auditing service-to-service communication for security and compliance purposes.\n\n> To enable access logs, you must also specify a `logConfiguration` in the `serviceConnectConfiguration` .", - "title": "AccessLogConfiguration" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectAccessLogConfiguration" }, "Enabled": { - "markdownDescription": "Specifies whether to use Service Connect with this service.", - "title": "Enabled", "type": "boolean" }, "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.LogConfiguration", - "markdownDescription": "The log configuration for the container. This parameter maps to `LogConfig` in the docker container create command and the `--log-driver` option to docker run.\n\nBy default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.\n\nUnderstand the following when specifying a log configuration for your containers.\n\n- Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n\nFor tasks on AWS Fargate , the supported log drivers are `awslogs` , `splunk` , and `awsfirelens` .\n\nFor tasks hosted on Amazon EC2 instances, the supported log drivers are `awslogs` , `fluentd` , `gelf` , `json-file` , `journald` , `syslog` , `splunk` , and `awsfirelens` .\n- This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n- For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide* .\n- For tasks that are on AWS Fargate , because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.", - "title": "LogConfiguration" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.LogConfiguration" }, "Namespace": { - "markdownDescription": "The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace for use with Service Connect. The namespace must be in the same AWS Region as the Amazon ECS service and cluster. The type of namespace doesn't affect Service Connect. For more information about AWS Cloud Map , see [Working with Services](https://docs.aws.amazon.com/cloud-map/latest/dg/working-with-services.html) in the *AWS Cloud Map Developer Guide* .", - "title": "Namespace", "type": "string" }, "Services": { "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectService" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectService" }, - "markdownDescription": "The list of Service Connect service objects. These are names and aliases (also known as endpoints) that are used by other Amazon ECS services to connect to this service.\n\nThis field is not required for a \"client\" Amazon ECS service that's a member of a namespace only to connect to other services within the namespace. An example of this would be a frontend application that accepts incoming requests from either a load balancer that's attached to the service or by other means.\n\nAn object selects a port from the task definition, assigns a name for the AWS Cloud Map service, and a list of aliases (endpoints) and ports for client applications to refer to this service.", - "title": "Services", "type": "array" } }, @@ -141413,41 +147475,29 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectService": { + "AWS::ECS::ServiceRevision.ServiceConnectService": { "additionalProperties": false, "properties": { "ClientAliases": { "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectClientAlias" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectClientAlias" }, - "markdownDescription": "The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1.\n\nEach alias (\"endpoint\") is a fully-qualified name and port number that other Amazon ECS tasks (\"clients\") can use to connect to this service.\n\nEach name and port mapping must be unique within the namespace.\n\nFor each `ServiceConnectService` , you must provide at least one `clientAlias` with one `port` .", - "title": "ClientAliases", "type": "array" }, "DiscoveryName": { - "markdownDescription": "The `discoveryName` is the name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service. This must be unique within the AWS Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.\n\nIf the `discoveryName` isn't specified, the port mapping name from the task definition is used in `portName.namespace` .", - "title": "DiscoveryName", "type": "string" }, "IngressPortOverride": { - "markdownDescription": "The port number for the Service Connect proxy to listen on.\n\nUse the value of this field to bypass the proxy for traffic on the port number specified in the named `portMapping` in the task definition of this application, and then use it in your VPC security groups to allow traffic into the proxy for this Amazon ECS service.\n\nIn `awsvpc` mode and Fargate, the default value is the container port number. The container port number is in the `portMapping` in the task definition. In bridge mode, the default value is the ephemeral port of the Service Connect proxy.", - "title": "IngressPortOverride", "type": "number" }, "PortName": { - "markdownDescription": "The `portName` must match the name of one of the `portMappings` from all the containers in the task definition of this Amazon ECS service.", - "title": "PortName", "type": "string" }, "Timeout": { - "$ref": "#/definitions/AWS::ECS::Service.TimeoutConfiguration", - "markdownDescription": "A reference to an object that represents the configured timeouts for Service Connect.", - "title": "Timeout" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.TimeoutConfiguration" }, "Tls": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTlsConfiguration", - "markdownDescription": "A reference to an object that represents a Transport Layer Security (TLS) configuration.", - "title": "Tls" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectTlsConfiguration" } }, "required": [ @@ -141455,32 +147505,26 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectTestTrafficRules": { + "AWS::ECS::ServiceRevision.ServiceConnectTestTrafficHeaderMatchRules": { "additionalProperties": false, "properties": { - "Header": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRulesHeader", - "markdownDescription": "The HTTP header-based routing rules that determine which requests should be routed to the new service version during blue/green deployment testing. These rules provide fine-grained control over test traffic routing based on request headers.", - "title": "Header" + "Exact": { + "type": "string" } }, "required": [ - "Header" + "Exact" ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectTestTrafficRulesHeader": { + "AWS::ECS::ServiceRevision.ServiceConnectTestTrafficHeaderRules": { "additionalProperties": false, "properties": { "Name": { - "markdownDescription": "", - "title": "Name", "type": "string" }, "Value": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRulesHeaderValue", - "markdownDescription": "", - "title": "Value" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectTestTrafficHeaderMatchRules" } }, "required": [ @@ -141488,47 +147532,37 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectTestTrafficRulesHeaderValue": { + "AWS::ECS::ServiceRevision.ServiceConnectTestTrafficRules": { "additionalProperties": false, "properties": { - "Exact": { - "markdownDescription": "", - "title": "Exact", - "type": "string" + "Header": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectTestTrafficHeaderRules" } }, "required": [ - "Exact" + "Header" ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectTlsCertificateAuthority": { + "AWS::ECS::ServiceRevision.ServiceConnectTlsCertificateAuthority": { "additionalProperties": false, "properties": { "AwsPcaAuthorityArn": { - "markdownDescription": "The ARN of the AWS Private Certificate Authority certificate.", - "title": "AwsPcaAuthorityArn", "type": "string" } }, "type": "object" }, - "AWS::ECS::Service.ServiceConnectTlsConfiguration": { + "AWS::ECS::ServiceRevision.ServiceConnectTlsConfiguration": { "additionalProperties": false, "properties": { "IssuerCertificateAuthority": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTlsCertificateAuthority", - "markdownDescription": "The signer certificate authority.", - "title": "IssuerCertificateAuthority" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectTlsCertificateAuthority" }, "KmsKey": { - "markdownDescription": "The AWS Key Management Service key.", - "title": "KmsKey", "type": "string" }, "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that's associated with the Service Connect TLS.", - "title": "RoleArn", "type": "string" } }, @@ -141537,65 +147571,43 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceManagedEBSVolumeConfiguration": { + "AWS::ECS::ServiceRevision.ServiceManagedEBSVolumeConfiguration": { "additionalProperties": false, "properties": { "Encrypted": { - "markdownDescription": "Indicates whether the volume should be encrypted. If you turn on Region-level Amazon EBS encryption by default but set this value as `false` , the setting is overridden and the volume is encrypted with the KMS key specified for Amazon EBS encryption by default. This parameter maps 1:1 with the `Encrypted` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", - "title": "Encrypted", "type": "boolean" }, "FilesystemType": { - "markdownDescription": "The filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the tasks will fail to start.\n\nThe available Linux filesystem types are `ext3` , `ext4` , and `xfs` . If no value is specified, the `xfs` filesystem type is used by default.\n\nThe available Windows filesystem types are `NTFS` .", - "title": "FilesystemType", "type": "string" }, "Iops": { - "markdownDescription": "The number of I/O operations per second (IOPS). For `gp3` , `io1` , and `io2` volumes, this represents the number of IOPS that are provisioned for the volume. For `gp2` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.\n\nThe following are the supported values for each volume type.\n\n- `gp3` : 3,000 - 16,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nThis parameter is required for `io1` and `io2` volume types. The default for `gp3` volumes is `3,000 IOPS` . This parameter is not supported for `st1` , `sc1` , or `standard` volume types.\n\nThis parameter maps 1:1 with the `Iops` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", - "title": "Iops", "type": "number" }, "KmsKeyId": { - "markdownDescription": "The Amazon Resource Name (ARN) identifier of the AWS Key Management Service key to use for Amazon EBS encryption. When a key is specified using this parameter, it overrides Amazon EBS default encryption or any KMS key that you specified for cluster-level managed storage encryption. This parameter maps 1:1 with the `KmsKeyId` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* . For more information about encrypting Amazon EBS volumes attached to tasks, see [Encrypt data stored in Amazon EBS volumes attached to Amazon ECS tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-kms-encryption.html) .\n\n> AWS authenticates the AWS Key Management Service key asynchronously. Therefore, if you specify an ID, alias, or ARN that is invalid, the action can appear to complete, but eventually fails.", - "title": "KmsKeyId", "type": "string" }, "RoleArn": { - "markdownDescription": "The ARN of the IAM role to associate with this volume. This is the Amazon ECS infrastructure IAM role that is used to manage your AWS infrastructure. We recommend using the Amazon ECS-managed `AmazonECSInfrastructureRolePolicyForVolumes` IAM policy with this role. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the *Amazon ECS Developer Guide* .", - "title": "RoleArn", "type": "string" }, "SizeInGiB": { - "markdownDescription": "The size of the volume in GiB. You must specify either a volume size or a snapshot ID. If you specify a snapshot ID, the snapshot size is used for the volume size by default. You can optionally specify a volume size greater than or equal to the snapshot size. This parameter maps 1:1 with the `Size` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .\n\nThe following are the supported volume size values for each volume type.\n\n- `gp2` and `gp3` : 1-16,384\n- `io1` and `io2` : 4-16,384\n- `st1` and `sc1` : 125-16,384\n- `standard` : 1-1,024", - "title": "SizeInGiB", "type": "number" }, "SnapshotId": { - "markdownDescription": "The snapshot that Amazon ECS uses to create volumes for attachment to tasks maintained by the service. You must specify either `snapshotId` or `sizeInGiB` in your volume configuration. This parameter maps 1:1 with the `SnapshotId` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", - "title": "SnapshotId", "type": "string" }, "TagSpecifications": { "items": { - "$ref": "#/definitions/AWS::ECS::Service.EBSTagSpecification" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.EBSTagSpecification" }, - "markdownDescription": "The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This parameter maps 1:1 with the `TagSpecifications.N` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", - "title": "TagSpecifications", "type": "array" }, "Throughput": { - "markdownDescription": "The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s. This parameter maps 1:1 with the `Throughput` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .\n\n> This parameter is only supported for the `gp3` volume type.", - "title": "Throughput", "type": "number" }, "VolumeInitializationRate": { - "markdownDescription": "The rate, in MiB/s, at which data is fetched from a snapshot of an existing EBS volume to create new volumes for attachment to the tasks maintained by the service. This property can be specified only if you specify a `snapshotId` . For more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EBS User Guide* .", - "title": "VolumeInitializationRate", "type": "number" }, "VolumeType": { - "markdownDescription": "The volume type. This parameter maps 1:1 with the `VolumeType` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* . For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) in the *Amazon EC2 User Guide* .\n\nThe following are the supported volume types.\n\n- General Purpose SSD: `gp2` | `gp3`\n- Provisioned IOPS SSD: `io1` | `io2`\n- Throughput Optimized HDD: `st1`\n- Cold HDD: `sc1`\n- Magnetic: `standard`\n\n> The magnetic volume type is not supported on Fargate.", - "title": "VolumeType", "type": "string" } }, @@ -141604,99 +147616,73 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceRegistry": { + "AWS::ECS::ServiceRevision.ServiceRegistry": { "additionalProperties": false, "properties": { "ContainerName": { - "markdownDescription": "The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the `bridge` or `host` network mode, you must specify a `containerName` and `containerPort` combination from the task definition. If the task definition that your service task specifies uses the `awsvpc` network mode and a type SRV DNS record is used, you must specify either a `containerName` and `containerPort` combination or a `port` value. However, you can't specify both.", - "title": "ContainerName", "type": "string" }, "ContainerPort": { - "markdownDescription": "The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the `bridge` or `host` network mode, you must specify a `containerName` and `containerPort` combination from the task definition. If the task definition your service task specifies uses the `awsvpc` network mode and a type SRV DNS record is used, you must specify either a `containerName` and `containerPort` combination or a `port` value. However, you can't specify both.", - "title": "ContainerPort", "type": "number" }, "Port": { - "markdownDescription": "The port value used if your service discovery service specified an SRV record. This field might be used if both the `awsvpc` network mode and SRV records are used.", - "title": "Port", "type": "number" }, "RegistryArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is AWS Cloud Map . For more information, see [CreateService](https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html) .", - "title": "RegistryArn", "type": "string" } }, "type": "object" }, - "AWS::ECS::Service.ServiceVolumeConfiguration": { + "AWS::ECS::ServiceRevision.ServiceRevisionLoadBalancer": { "additionalProperties": false, "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceManagedEBSVolumeConfiguration", - "markdownDescription": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service. The Amazon EBS volumes are visible in your account in the Amazon EC2 console once they are created.", - "title": "ManagedEBSVolume" + "ProductionListenerRule": { + "type": "string" }, - "Name": { - "markdownDescription": "The name of the volume. This value must match the volume name from the `Volume` object in the task definition.", - "title": "Name", + "TargetGroupArn": { "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::ECS::Service.ThresholdConfiguration": { + "AWS::ECS::ServiceRevision.ServiceVolumeConfiguration": { "additionalProperties": false, "properties": { - "Type": { - "type": "string" + "ManagedEBSVolume": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceManagedEBSVolumeConfiguration" }, - "Value": { - "type": "number" + "Name": { + "type": "string" } }, "required": [ - "Type", - "Value" + "Name" ], "type": "object" }, - "AWS::ECS::Service.TimeoutConfiguration": { + "AWS::ECS::ServiceRevision.TimeoutConfiguration": { "additionalProperties": false, "properties": { "IdleTimeoutSeconds": { - "markdownDescription": "The amount of time in seconds a connection will stay active while idle. A value of `0` can be set to disable `idleTimeout` .\n\nThe `idleTimeout` default for `HTTP` / `HTTP2` / `GRPC` is 5 minutes.\n\nThe `idleTimeout` default for `TCP` is 1 hour.", - "title": "IdleTimeoutSeconds", "type": "number" }, "PerRequestTimeoutSeconds": { - "markdownDescription": "The amount of time waiting for the upstream to respond with a complete response per request. A value of `0` can be set to disable `perRequestTimeout` . `perRequestTimeout` can only be set if Service Connect `appProtocol` isn't `TCP` . Only `idleTimeout` is allowed for `TCP` `appProtocol` .", - "title": "PerRequestTimeoutSeconds", "type": "number" } }, "type": "object" }, - "AWS::ECS::Service.VpcLatticeConfiguration": { + "AWS::ECS::ServiceRevision.VpcLatticeConfiguration": { "additionalProperties": false, "properties": { "PortName": { - "markdownDescription": "The name of the port mapping to register in the VPC Lattice target group. This is the name of the `portMapping` you defined in your task definition.", - "title": "PortName", "type": "string" }, "RoleArn": { - "markdownDescription": "The ARN of the IAM role to associate with this VPC Lattice configuration. This is the Amazon ECS infrastructure IAM role that is used to manage your VPC Lattice infrastructure.", - "title": "RoleArn", "type": "string" }, "TargetGroupArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.", - "title": "TargetGroupArn", "type": "string" } }, @@ -144153,6 +150139,21 @@ ], "type": "object" }, + "AWS::EKS::Capability.Ack": { + "additionalProperties": false, + "properties": { + "DisabledServices": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableCrossNamespace": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::EKS::Capability.ArgoCd": { "additionalProperties": false, "properties": { @@ -144241,7 +150242,7 @@ "additionalProperties": false, "properties": { "Ack": { - "type": "object" + "$ref": "#/definitions/AWS::EKS::Capability.Ack" }, "ArgoCd": { "$ref": "#/definitions/AWS::EKS::Capability.ArgoCd", @@ -144735,6 +150736,9 @@ "properties": { "HorizontalPodAutoscalerControllerConfig": { "$ref": "#/definitions/AWS::EKS::Cluster.HorizontalPodAutoscalerControllerConfig" + }, + "PodGcControllerConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.PodGcControllerConfig" } }, "type": "object" @@ -144839,6 +150843,15 @@ ], "type": "object" }, + "AWS::EKS::Cluster.PodGcControllerConfig": { + "additionalProperties": false, + "properties": { + "TerminatedPodGcThreshold": { + "type": "number" + } + }, + "type": "object" + }, "AWS::EKS::Cluster.Provider": { "additionalProperties": false, "properties": { @@ -150000,20 +156013,222 @@ "type": "string" }, "ConfigurationOverrides": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.ConfigurationOverrides" + "$ref": "#/definitions/AWS::EMRServerless::JobRun.ConfigurationOverrides" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "ExecutionTimeoutMinutes": { + "type": "number" + }, + "JobDriver": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.JobDriver" + }, + "Mode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMRServerless::JobRun" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EMRServerless::JobRun.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.Configuration" + }, + "type": "array" + }, + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Classification" + ], + "type": "object" + }, + "AWS::EMRServerless::JobRun.ConfigurationOverrides": { + "additionalProperties": false, + "properties": { + "ApplicationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.Configuration" + }, + "type": "array" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.MonitoringConfiguration" + } + }, + "type": "object" + }, + "AWS::EMRServerless::JobRun.Hive": { + "additionalProperties": false, + "properties": { + "InitQueryFile": { + "type": "string" + }, + "Parameters": { + "type": "string" + }, + "Query": { + "type": "string" + } + }, + "required": [ + "Query" + ], + "type": "object" + }, + "AWS::EMRServerless::JobRun.JobDriver": { + "additionalProperties": false, + "properties": { + "Hive": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.Hive" + }, + "SparkSubmit": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.SparkSubmit" + } + }, + "type": "object" + }, + "AWS::EMRServerless::JobRun.ManagedPersistenceMonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMRServerless::JobRun.MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "ManagedPersistenceMonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.ManagedPersistenceMonitoringConfiguration" + }, + "S3MonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.S3MonitoringConfiguration" + } + }, + "type": "object" + }, + "AWS::EMRServerless::JobRun.S3MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "LogUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMRServerless::JobRun.SparkSubmit": { + "additionalProperties": false, + "properties": { + "EntryPoint": { + "type": "string" + }, + "EntryPointArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SparkSubmitParameters": { + "type": "string" + } + }, + "required": [ + "EntryPoint" + ], + "type": "object" + }, + "AWS::EMRServerless::Session": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationOverrides": { + "$ref": "#/definitions/AWS::EMRServerless::Session.ConfigurationOverrides" }, "ExecutionRoleArn": { "type": "string" }, - "ExecutionTimeoutMinutes": { + "IdleTimeoutMinutes": { "type": "number" }, - "JobDriver": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.JobDriver" - }, - "Mode": { - "type": "string" - }, "Name": { "type": "string" }, @@ -150028,7 +156243,7 @@ }, "Type": { "enum": [ - "AWS::EMRServerless::JobRun" + "AWS::EMRServerless::Session" ], "type": "string" }, @@ -150046,7 +156261,7 @@ ], "type": "object" }, - "AWS::EMRServerless::JobRun.Configuration": { + "AWS::EMRServerless::Session.Configuration": { "additionalProperties": false, "properties": { "Classification": { @@ -150054,7 +156269,7 @@ }, "Configurations": { "items": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.Configuration" + "$ref": "#/definitions/AWS::EMRServerless::Session.Configuration" }, "type": "array" }, @@ -150073,100 +156288,34 @@ ], "type": "object" }, - "AWS::EMRServerless::JobRun.ConfigurationOverrides": { + "AWS::EMRServerless::Session.ConfigurationOverrides": { "additionalProperties": false, "properties": { - "ApplicationConfiguration": { + "RuntimeConfiguration": { "items": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.Configuration" + "$ref": "#/definitions/AWS::EMRServerless::Session.Configuration" }, "type": "array" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.MonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.Hive": { - "additionalProperties": false, - "properties": { - "InitQueryFile": { - "type": "string" - }, - "Parameters": { - "type": "string" - }, - "Query": { - "type": "string" - } - }, - "required": [ - "Query" - ], - "type": "object" - }, - "AWS::EMRServerless::JobRun.JobDriver": { - "additionalProperties": false, - "properties": { - "Hive": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.Hive" - }, - "SparkSubmit": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.SparkSubmit" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" } }, "type": "object" }, - "AWS::EMRServerless::JobRun.MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.SparkSubmit": { + "AWS::EMRServerless::Session.NetworkConfiguration": { "additionalProperties": false, "properties": { - "EntryPoint": { - "type": "string" - }, - "EntryPointArguments": { + "SecurityGroupIds": { "items": { "type": "string" }, "type": "array" }, - "SparkSubmitParameters": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "EntryPoint" - ], "type": "object" }, "AWS::EVS::Environment": { @@ -151867,6 +158016,9 @@ "title": "MajorEngineVersion", "type": "string" }, + "NetworkType": { + "type": "string" + }, "ReaderEndpoint": { "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.Endpoint", "markdownDescription": "Represents the information required for client programs to connect to a cache node. This value is read-only.", @@ -152610,11 +158762,20 @@ "title": "ApplicationName", "type": "string" }, + "BuildConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.BuildConfiguration" + }, "Description": { "markdownDescription": "A description of this application version.", "title": "Description", "type": "string" }, + "ImageConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.ImageConfiguration" + }, + "Process": { + "type": "boolean" + }, "SourceBundle": { "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle", "markdownDescription": "The Amazon S3 bucket and key that identify the location of the source bundle for this version.\n\n> The Amazon S3 bucket must be in the same region as the environment.", @@ -152622,8 +158783,7 @@ } }, "required": [ - "ApplicationName", - "SourceBundle" + "ApplicationName" ], "type": "object" }, @@ -152648,6 +158808,83 @@ ], "type": "object" }, + "AWS::ElasticBeanstalk::ApplicationVersion.BuildConfiguration": { + "additionalProperties": false, + "properties": { + "ArtifactName": { + "type": "string" + }, + "CodeBuildServiceRole": { + "type": "string" + }, + "ComputeType": { + "type": "string" + }, + "Image": { + "type": "string" + }, + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "CodeBuildServiceRole", + "Image" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion.ImageBuildConfiguration": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "Buildpack": { + "type": "string" + }, + "CodeBuildServiceRole": { + "type": "string" + }, + "ComputeType": { + "type": "string" + }, + "DockerfileLocation": { + "type": "string" + }, + "TimeoutInMinutes": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "CodeBuildServiceRole", + "Type" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion.ImageConfiguration": { + "additionalProperties": false, + "properties": { + "Build": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.ImageBuildConfiguration" + }, + "Source": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.ImageSource" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion.ImageSource": { + "additionalProperties": false, + "properties": { + "Uri": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { "additionalProperties": false, "properties": { @@ -160337,6 +166574,63 @@ ], "type": "object" }, + "AWS::FIS::Action": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FIS::Action" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::FIS::Experiment": { "additionalProperties": false, "properties": { @@ -160998,6 +167292,104 @@ ], "type": "object" }, + "AWS::FMS::ApplicationsList": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppsList": { + "items": { + "$ref": "#/definitions/AWS::FMS::ApplicationsList.App" + }, + "type": "array" + }, + "ListName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppsList", + "ListName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::ApplicationsList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FMS::ApplicationsList.App": { + "additionalProperties": false, + "properties": { + "AppName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "AppName", + "Port", + "Protocol" + ], + "type": "object" + }, "AWS::FMS::NotificationChannel": { "additionalProperties": false, "properties": { @@ -161493,6 +167885,84 @@ ], "type": "object" }, + "AWS::FMS::ProtocolsList": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ListName": { + "type": "string" + }, + "ProtocolsList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ListName", + "ProtocolsList" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::ProtocolsList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::FMS::ResourceSet": { "additionalProperties": false, "properties": { @@ -161590,6 +168060,77 @@ ], "type": "object" }, + "AWS::FSx::Backup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FSx::Backup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::FSx::DataRepositoryAssociation": { "additionalProperties": false, "properties": { @@ -161742,6 +168283,185 @@ }, "type": "object" }, + "AWS::FSx::FileCache": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CopyTagsToDataRepositoryAssociations": { + "type": "boolean" + }, + "DataRepositoryAssociations": { + "items": { + "$ref": "#/definitions/AWS::FSx::FileCache.DataRepositoryAssociation" + }, + "type": "array" + }, + "FileCacheType": { + "type": "string" + }, + "FileCacheTypeVersion": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LustreConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileCache.LustreConfiguration" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageCapacity": { + "type": "number" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FileCacheType", + "FileCacheTypeVersion", + "StorageCapacity", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FSx::FileCache" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FSx::FileCache.DataRepositoryAssociation": { + "additionalProperties": false, + "properties": { + "DataRepositoryPath": { + "type": "string" + }, + "FileCachePath": { + "type": "string" + } + }, + "required": [ + "DataRepositoryPath", + "FileCachePath" + ], + "type": "object" + }, + "AWS::FSx::FileCache.LogConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Level": { + "type": "string" + } + }, + "required": [ + "Level" + ], + "type": "object" + }, + "AWS::FSx::FileCache.LustreConfiguration": { + "additionalProperties": false, + "properties": { + "DeploymentType": { + "type": "string" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileCache.LogConfiguration" + }, + "MetadataConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileCache.MetadataConfiguration" + }, + "MountName": { + "type": "string" + }, + "PerUnitStorageThroughput": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { + "type": "string" + } + }, + "required": [ + "DeploymentType", + "MetadataConfiguration", + "PerUnitStorageThroughput" + ], + "type": "object" + }, + "AWS::FSx::FileCache.MetadataConfiguration": { + "additionalProperties": false, + "properties": { + "StorageCapacity": { + "type": "number" + } + }, + "required": [ + "StorageCapacity" + ], + "type": "object" + }, "AWS::FSx::FileSystem": { "additionalProperties": false, "properties": { @@ -168713,6 +175433,627 @@ }, "type": "object" }, + "AWS::Glue::ConnectionType": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionProperties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectionPropertiesConfiguration" + }, + "ConnectionType": { + "type": "string" + }, + "ConnectorAuthenticationConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorAuthenticationConfiguration" + }, + "Description": { + "type": "string" + }, + "IntegrationType": { + "type": "string" + }, + "RestConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.RestConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionType", + "RestConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::ConnectionType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.BasicAuthenticationProperties": { + "additionalProperties": false, + "properties": { + "Password": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "Username": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.BetweenConfiguration": { + "additionalProperties": false, + "properties": { + "HighBoundKey": { + "type": "string" + }, + "LowBoundKey": { + "type": "string" + }, + "Template": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ClientCredentialsProperties": { + "additionalProperties": false, + "properties": { + "ClientId": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "ClientSecret": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "ContentType": { + "type": "string" + }, + "RequestMethod": { + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "TokenUrl": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "TokenUrlParameters": { + "items": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ConnectionPropertiesConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalRequestParameters": { + "items": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "type": "array" + }, + "Url": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ConnectorAuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "AuthenticationTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BasicAuthenticationProperties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.BasicAuthenticationProperties" + }, + "CustomAuthenticationProperties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.CustomAuthenticationProperties" + }, + "OAuth2Properties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorOAuth2Properties" + } + }, + "required": [ + "AuthenticationTypes" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.ConnectorAuthorizationCodeProperties": { + "additionalProperties": false, + "properties": { + "AuthorizationCode": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "AuthorizationCodeUrl": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "ClientId": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "ClientSecret": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "ContentType": { + "type": "string" + }, + "Prompt": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "RedirectUri": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "RequestMethod": { + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "TokenUrl": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "TokenUrlParameters": { + "items": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ConnectorOAuth2Properties": { + "additionalProperties": false, + "properties": { + "AuthorizationCodeProperties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorAuthorizationCodeProperties" + }, + "ClientCredentialsProperties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ClientCredentialsProperties" + }, + "JWTBearerProperties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.JWTBearerProperties" + }, + "OAuth2GrantType": { + "type": "string" + } + }, + "required": [ + "OAuth2GrantType" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.ConnectorProperty": { + "additionalProperties": false, + "properties": { + "AllowedValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DefaultValue": { + "type": "string" + }, + "KeyOverride": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PropertyLocation": { + "type": "string" + }, + "PropertyType": { + "type": "string" + }, + "Required": { + "type": "boolean" + } + }, + "required": [ + "Name", + "PropertyType", + "Required" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.CursorConfiguration": { + "additionalProperties": false, + "properties": { + "LimitParameter": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ExtractedParameter" + }, + "NextPage": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ExtractedParameter" + } + }, + "required": [ + "NextPage" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.CustomAuthenticationProperties": { + "additionalProperties": false, + "properties": { + "AuthenticationParameters": { + "items": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "type": "array" + } + }, + "required": [ + "AuthenticationParameters" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.EntityConfiguration": { + "additionalProperties": false, + "properties": { + "Schema": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.FieldDefinition" + } + }, + "type": "object" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SourceConfiguration" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ExtractedParameter": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "PropertyLocation": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ResponseExtractionMapping" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.FieldDefinition": { + "additionalProperties": false, + "properties": { + "FieldDataType": { + "type": "string" + }, + "FilterOverrides": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.FilterOverrides" + }, + "IsNullable": { + "type": "boolean" + }, + "IsOrderable": { + "type": "boolean" + }, + "IsPartitionable": { + "type": "boolean" + }, + "IsQueryable": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "ResponseDateFormat": { + "type": "string" + } + }, + "required": [ + "FieldDataType", + "Name" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.FilterConfiguration": { + "additionalProperties": false, + "properties": { + "BetweenConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.BetweenConfiguration" + }, + "DateTimeFormat": { + "type": "string" + }, + "FilterMode": { + "type": "string" + }, + "FilterStringConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.FilterStringConfiguration" + }, + "OperatorMappings": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "StripQuotes": { + "type": "boolean" + } + }, + "required": [ + "FilterMode" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.FilterOverrides": { + "additionalProperties": false, + "properties": { + "BetweenConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.BetweenConfiguration" + }, + "DateTimeFormat": { + "type": "string" + }, + "FieldName": { + "type": "string" + }, + "OperatorMappings": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.FilterStringConfiguration": { + "additionalProperties": false, + "properties": { + "QueryParameterName": { + "type": "string" + }, + "QuoteCharacter": { + "type": "string" + }, + "QuoteStringValues": { + "type": "boolean" + } + }, + "required": [ + "QueryParameterName" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.JWTBearerProperties": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "JwtToken": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "RequestMethod": { + "type": "string" + }, + "TokenUrl": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "TokenUrlParameters": { + "items": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.OffsetConfiguration": { + "additionalProperties": false, + "properties": { + "LimitParameter": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ExtractedParameter" + }, + "OffsetParameter": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ExtractedParameter" + } + }, + "required": [ + "LimitParameter", + "OffsetParameter" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.PaginationConfiguration": { + "additionalProperties": false, + "properties": { + "CursorConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.CursorConfiguration" + }, + "OffsetConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.OffsetConfiguration" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ResponseConfiguration": { + "additionalProperties": false, + "properties": { + "ErrorPath": { + "type": "string" + }, + "ResultPath": { + "type": "string" + } + }, + "required": [ + "ResultPath" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.ResponseExtractionMapping": { + "additionalProperties": false, + "properties": { + "ContentPath": { + "type": "string" + }, + "HeaderKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.RestConfiguration": { + "additionalProperties": false, + "properties": { + "EntityConfigurations": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.EntityConfiguration" + } + }, + "type": "object" + }, + "GlobalSourceConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SourceConfiguration" + }, + "ValidationEndpointConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ValidationEndpointConfiguration" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.SecretConnectorProperty": { + "additionalProperties": false, + "properties": { + "KeyOverride": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PropertyLocation": { + "type": "string" + }, + "PropertyType": { + "type": "string" + }, + "Required": { + "type": "boolean" + } + }, + "required": [ + "Name", + "PropertyType", + "Required" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "FilterConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.FilterConfiguration" + }, + "PaginationConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.PaginationConfiguration" + }, + "RequestMethod": { + "type": "string" + }, + "RequestParameters": { + "items": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "type": "array" + }, + "RequestPath": { + "type": "string" + }, + "ResponseConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ResponseConfiguration" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ValidationEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "RequestMethod": { + "type": "string" + }, + "RequestPath": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Crawler": { "additionalProperties": false, "properties": { @@ -178106,6 +185447,78 @@ }, "type": "object" }, + "AWS::GroundStation::Satellite": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::Satellite" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GroundStation::Satellite.EphemerisMetaData": { + "additionalProperties": false, + "properties": { + "Epoch": { + "type": "string" + }, + "Source": { + "type": "string" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, "AWS::GuardDuty::CustomDetectionRuleAssociation": { "additionalProperties": false, "properties": { @@ -178600,6 +186013,12 @@ "title": "Lte", "type": "number" }, + "Matches": { + "items": { + "type": "string" + }, + "type": "array" + }, "Neq": { "items": { "type": "string" @@ -178615,6 +186034,12 @@ "markdownDescription": "Represents a *not equal* ** condition to be applied to a single field when querying for findings.", "title": "NotEquals", "type": "array" + }, + "NotMatches": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -179610,6 +187035,170 @@ ], "type": "object" }, + "AWS::HealthAgent::Domain": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::HealthAgent::Domain.TagsItems" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::HealthAgent::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::HealthAgent::Domain.EncryptionContext": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::HealthAgent::Domain.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::HealthAgent::Subscription": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainId": { + "type": "string" + } + }, + "required": [ + "DomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::HealthAgent::Subscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::HealthImaging::Datastore": { "additionalProperties": false, "properties": { @@ -194057,6 +201646,9 @@ "markdownDescription": "Properties of the HTTP URL.", "title": "HttpUrlProperties" }, + "InfluxDBProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.InfluxDBDestinationProperties" + }, "Status": { "markdownDescription": "- **IN_PROGRESS** - A topic rule destination was created but has not been confirmed. You can set status to `IN_PROGRESS` by calling `UpdateTopicRuleDestination` . Calling `UpdateTopicRuleDestination` causes a new confirmation challenge to be sent to your confirmation endpoint.\n- **ENABLED** - Confirmation was completed, and traffic to this destination is allowed. You can set status to `DISABLED` by calling `UpdateTopicRuleDestination` .\n- **DISABLED** - Confirmation was completed, and traffic to this destination is not allowed. You can set status to `ENABLED` by calling `UpdateTopicRuleDestination` .\n- **ERROR** - Confirmation could not be completed; for example, if the confirmation timed out. You can call `GetTopicRuleDestination` for details about the error. You can set status to `IN_PROGRESS` by calling `UpdateTopicRuleDestination` . Calling `UpdateTopicRuleDestination` causes a new confirmation challenge to be sent to your confirmation endpoint.", "title": "Status", @@ -194101,6 +201693,32 @@ }, "type": "object" }, + "AWS::IoT::TopicRuleDestination.InfluxDBDestinationProperties": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "InfluxDBVersion": { + "type": "string" + }, + "SecretId": { + "type": "string" + }, + "SecretKey": { + "type": "string" + }, + "SecretType": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "InfluxDBVersion", + "SecretId" + ], + "type": "object" + }, "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { "additionalProperties": false, "properties": { @@ -200496,6 +208114,131 @@ ], "type": "object" }, + "AWS::IoTSiteWise::Pipeline": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Computations": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Pipeline.ComputeNode" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "PipelineName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkspaceName": { + "type": "string" + } + }, + "required": [ + "Computations", + "PipelineName", + "WorkspaceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Pipeline.ComputeNode": { + "additionalProperties": false, + "properties": { + "ComputeNodeName": { + "type": "string" + }, + "DependsOn": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TaskName": { + "type": "string" + } + }, + "required": [ + "ComputeNodeName", + "TaskName" + ], + "type": "object" + }, "AWS::IoTSiteWise::Portal": { "additionalProperties": false, "properties": { @@ -200746,6 +208489,311 @@ ], "type": "object" }, + "AWS::IoTSiteWise::Task": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskConfiguration": { + "$ref": "#/definitions/AWS::IoTSiteWise::Task.TaskConfiguration" + }, + "TaskName": { + "type": "string" + }, + "WorkspaceName": { + "type": "string" + } + }, + "required": [ + "TaskConfiguration", + "TaskName", + "WorkspaceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Task" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Task.ContainerTaskConfiguration": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EcrUri": { + "type": "string" + }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "EphemeralStorageConfiguration": { + "$ref": "#/definitions/AWS::IoTSiteWise::Task.EphemeralStorageConfiguration" + }, + "Mounts": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Task.Mount" + }, + "type": "array" + }, + "ProcessingType": { + "type": "string" + }, + "ProcessingUnit": { + "type": "string" + }, + "TaskExecutionRole": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + } + }, + "required": [ + "EcrUri", + "ProcessingType", + "ProcessingUnit", + "TaskExecutionRole" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Task.EphemeralStorageConfiguration": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "type": "string" + }, + "StorageSizeInGiB": { + "type": "number" + } + }, + "required": [ + "StorageClass", + "StorageSizeInGiB" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Task.Mount": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RelativePath": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::IoTSiteWise::Task.MountSource" + }, + "StorageType": { + "type": "string" + } + }, + "required": [ + "Name", + "RelativePath", + "Source", + "StorageType" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Task.MountSource": { + "additionalProperties": false, + "properties": { + "S3AccessPoint": { + "$ref": "#/definitions/AWS::IoTSiteWise::Task.S3AccessPointSource" + } + }, + "required": [ + "S3AccessPoint" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Task.S3AccessPointSource": { + "additionalProperties": false, + "properties": { + "AccessPointArn": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "AccessPointArn" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Task.TaskConfiguration": { + "additionalProperties": false, + "properties": { + "ContainerTaskConfiguration": { + "$ref": "#/definitions/AWS::IoTSiteWise::Task.ContainerTaskConfiguration" + } + }, + "required": [ + "ContainerTaskConfiguration" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Workspace": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::IoTSiteWise::Workspace.EncryptionConfiguration" + }, + "KmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkspaceDescription": { + "type": "string" + }, + "WorkspaceName": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "WorkspaceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Workspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Workspace.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, "AWS::IoTThingsGraph::FlowTemplate": { "additionalProperties": false, "properties": { @@ -205429,6 +213477,108 @@ ], "type": "object" }, + "AWS::Kendra::FeaturedResultsSet": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FeaturedDocuments": { + "items": { + "$ref": "#/definitions/AWS::Kendra::FeaturedResultsSet.FeaturedDocument" + }, + "type": "array" + }, + "FeaturedResultsSetName": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "QueryTexts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FeaturedResultsSetName", + "IndexId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::FeaturedResultsSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::FeaturedResultsSet.FeaturedDocument": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Kendra::Index": { "additionalProperties": false, "properties": { @@ -205906,20 +214056,230 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Description": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SourceS3Path": { + "$ref": "#/definitions/AWS::Kendra::Thesaurus.S3Path" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IndexId", + "Name", + "RoleArn", + "SourceS3Path" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::Thesaurus" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Thesaurus.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::KendraRanking::ExecutionPlan": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityUnits": { + "$ref": "#/definitions/AWS::KendraRanking::ExecutionPlan.CapacityUnitsConfiguration", + "markdownDescription": "You can set additional capacity units to meet the needs of your rescore execution plan. You are given a single capacity unit by default. If you want to use the default capacity, you don't set additional capacity units. For more information on the default capacity and additional capacity units, see [Adjusting capacity](https://docs.aws.amazon.com/kendra/latest/dg/adjusting-capacity.html) .", + "title": "CapacityUnits" + }, + "Description": { + "markdownDescription": "A description for the rescore execution plan.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "A name for the rescore execution plan.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of key-value pairs that identify or categorize your rescore execution plan. You can also use tags to help control access to the rescore execution plan. Tag keys and values can consist of Unicode letters, digits, white space. They can also consist of underscore, period, colon, equal, plus, and asperand.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KendraRanking::ExecutionPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KendraRanking::ExecutionPlan.CapacityUnitsConfiguration": { + "additionalProperties": false, + "properties": { + "RescoreCapacityUnits": { + "markdownDescription": "The amount of extra capacity for your rescore execution plan.\n\nA single extra capacity unit for a rescore execution plan provides 0.01 rescore requests per second. You can add up to 1000 extra capacity units.", + "title": "RescoreCapacityUnits", + "type": "number" + } + }, + "required": [ + "RescoreCapacityUnits" + ], + "type": "object" + }, + "AWS::Kinesis::Channel": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelName": { "type": "string" }, - "IndexId": { - "type": "string" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.EncryptionConfiguration" }, - "Name": { - "type": "string" + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.LoggingConfiguration" }, - "RoleArn": { + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.S3DestinationConfiguration" + }, + "S3TablesDestinationConfiguration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.S3TablesDestinationConfiguration" + }, + "ServiceExecutionRoleARN": { "type": "string" }, - "SourceS3Path": { - "$ref": "#/definitions/AWS::Kendra::Thesaurus.S3Path" + "StreamConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::Kinesis::Channel.StreamConfiguration" + }, + "type": "array" }, "Tags": { "items": { @@ -205929,16 +214289,15 @@ } }, "required": [ - "IndexId", - "Name", - "RoleArn", - "SourceS3Path" + "ChannelName", + "ServiceExecutionRoleARN", + "StreamConfigurationList" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::Thesaurus" + "AWS::Kinesis::Channel" ], "type": "string" }, @@ -205957,118 +214316,223 @@ ], "type": "object" }, - "AWS::Kendra::Thesaurus.S3Path": { + "AWS::Kinesis::Channel.CloudWatchLogsConfiguration": { "additionalProperties": false, "properties": { - "Bucket": { + "Enabled": { + "type": "boolean" + }, + "LogGroupName": { "type": "string" }, - "Key": { + "LogStreamName": { "type": "string" } }, "required": [ - "Bucket", - "Key" + "Enabled" ], "type": "object" }, - "AWS::KendraRanking::ExecutionPlan": { + "AWS::Kinesis::Channel.DeadLetterQueueS3Configuration": { "additionalProperties": false, "properties": { - "Condition": { + "BucketARN": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ErrorOutputPrefix": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ExpectedBucketOwner": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "ExpectedBucketOwner" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" }, - "Metadata": { - "type": "object" + "KeyId": { + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::Kinesis::Channel.CloudWatchLogsConfiguration" + } + }, + "required": [ + "CloudWatchLogs" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.PartitionField": { + "additionalProperties": false, + "properties": { + "SourceName": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityUnits": { - "$ref": "#/definitions/AWS::KendraRanking::ExecutionPlan.CapacityUnitsConfiguration", - "markdownDescription": "You can set additional capacity units to meet the needs of your rescore execution plan. You are given a single capacity unit by default. If you want to use the default capacity, you don't set additional capacity units. For more information on the default capacity and additional capacity units, see [Adjusting capacity](https://docs.aws.amazon.com/kendra/latest/dg/adjusting-capacity.html) .", - "title": "CapacityUnits" - }, - "Description": { - "markdownDescription": "A description for the rescore execution plan.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "A name for the rescore execution plan.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of key-value pairs that identify or categorize your rescore execution plan. You can also use tags to help control access to the rescore execution plan. Tag keys and values can consist of Unicode letters, digits, white space. They can also consist of underscore, period, colon, equal, plus, and asperand.", - "title": "Tags", - "type": "array" - } + "Transform": { + "type": "string" + } + }, + "required": [ + "SourceName", + "Transform" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.PartitionSpec": { + "additionalProperties": false, + "properties": { + "PartitionFields": { + "items": { + "$ref": "#/definitions/AWS::Kinesis::Channel.PartitionField" }, - "required": [ - "Name" - ], - "type": "object" + "type": "array" + } + }, + "required": [ + "PartitionFields" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.RecordConfiguration": { + "additionalProperties": false, + "properties": { + "GSRSchemaARN": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::KendraRanking::ExecutionPlan" - ], + "RecordFormatType": { "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "DataFreshnessInSeconds": { + "type": "number" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeadLetterQueueS3Configuration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.DeadLetterQueueS3Configuration" + }, + "StorageConfiguration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.S3StorageConfiguration" + } + }, + "required": [ + "StorageConfiguration" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.S3StorageConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "CompressionType": { + "type": "string" + }, + "ExpectedBucketOwner": { + "type": "string" + }, + "OutputKeyTemplate": { + "type": "string" + }, + "StorageClass": { "type": "string" } }, "required": [ - "Type", - "Properties" + "BucketARN", + "CompressionType", + "ExpectedBucketOwner" ], "type": "object" }, - "AWS::KendraRanking::ExecutionPlan.CapacityUnitsConfiguration": { + "AWS::Kinesis::Channel.S3TableConfiguration": { "additionalProperties": false, "properties": { - "RescoreCapacityUnits": { - "markdownDescription": "The amount of extra capacity for your rescore execution plan.\n\nA single extra capacity unit for a rescore execution plan provides 0.01 rescore requests per second. You can add up to 1000 extra capacity units.", - "title": "RescoreCapacityUnits", + "CompressionType": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "PartitionSpec": { + "$ref": "#/definitions/AWS::Kinesis::Channel.PartitionSpec" + }, + "TableBucketARN": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "CompressionType", + "Namespace", + "TableBucketARN", + "TableName" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.S3TablesDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "DataFreshnessInSeconds": { "type": "number" + }, + "DeadLetterQueueS3Configuration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.DeadLetterQueueS3Configuration" + }, + "S3TablesConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::Kinesis::Channel.S3TableConfiguration" + }, + "type": "array" } }, "required": [ - "RescoreCapacityUnits" + "DeadLetterQueueS3Configuration", + "S3TablesConfigurationList" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.StreamConfiguration": { + "additionalProperties": false, + "properties": { + "RecordConfiguration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.RecordConfiguration" + }, + "StreamARN": { + "type": "string" + } + }, + "required": [ + "RecordConfiguration", + "StreamARN" ], "type": "object" }, @@ -211362,6 +219826,15 @@ ], "type": "object" }, + "AWS::LakeFormation::PrincipalPermissions.CatalogResource": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, "AWS::LakeFormation::PrincipalPermissions.ColumnWildcard": { "additionalProperties": false, "properties": { @@ -211540,9 +220013,9 @@ "additionalProperties": false, "properties": { "Catalog": { + "$ref": "#/definitions/AWS::LakeFormation::PrincipalPermissions.CatalogResource", "markdownDescription": "The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.", - "title": "Catalog", - "type": "object" + "title": "Catalog" }, "DataCellsFilter": { "$ref": "#/definitions/AWS::LakeFormation::PrincipalPermissions.DataCellsFilterResource", @@ -211948,11 +220421,6 @@ "AWS::LakeFormation::TagAssociation.Resource": { "additionalProperties": false, "properties": { - "Catalog": { - "markdownDescription": "The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.", - "title": "Catalog", - "type": "object" - }, "Database": { "$ref": "#/definitions/AWS::LakeFormation::TagAssociation.DatabaseResource", "markdownDescription": "The database for the resource. Unique to the Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database permissions to a principal.", @@ -211988,11 +220456,6 @@ "markdownDescription": "The name of the table.", "title": "Name", "type": "string" - }, - "TableWildcard": { - "markdownDescription": "A wildcard object representing every table under a database.This is an object with no properties that effectively behaves as a true or false depending on whether not it is passed as a parameter. The valid inputs for a property with this type in either yaml or json is null or {}.\n\nAt least one of `TableResource$Name` or `TableResource$TableWildcard` is required.", - "title": "TableWildcard", - "type": "object" } }, "required": [ @@ -218516,90 +226979,338 @@ "Properties": { "additionalProperties": false, "properties": { - "Beneficiary": { - "markdownDescription": "License beneficiary.", - "title": "Beneficiary", - "type": "string" - }, - "ConsumptionConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration", - "markdownDescription": "Configuration for consumption of the license.", - "title": "ConsumptionConfiguration" - }, - "Entitlements": { + "Beneficiary": { + "markdownDescription": "License beneficiary.", + "title": "Beneficiary", + "type": "string" + }, + "ConsumptionConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration", + "markdownDescription": "Configuration for consumption of the license.", + "title": "ConsumptionConfiguration" + }, + "Entitlements": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" + }, + "markdownDescription": "License entitlements.", + "title": "Entitlements", + "type": "array" + }, + "HomeRegion": { + "markdownDescription": "Home Region of the license.", + "title": "HomeRegion", + "type": "string" + }, + "Issuer": { + "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData", + "markdownDescription": "License issuer.", + "title": "Issuer" + }, + "LicenseMetadata": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" + }, + "markdownDescription": "License metadata.", + "title": "LicenseMetadata", + "type": "array" + }, + "LicenseName": { + "markdownDescription": "License name.", + "title": "LicenseName", + "type": "string" + }, + "ProductName": { + "markdownDescription": "Product name.", + "title": "ProductName", + "type": "string" + }, + "ProductSKU": { + "markdownDescription": "Product SKU.", + "title": "ProductSKU", + "type": "string" + }, + "Status": { + "markdownDescription": "License status.", + "title": "Status", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Validity": { + "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat", + "markdownDescription": "Date and time range during which the license is valid, in ISO8601-UTC format.", + "title": "Validity" + } + }, + "required": [ + "Beneficiary", + "ConsumptionConfiguration", + "Entitlements", + "HomeRegion", + "Issuer", + "LicenseName", + "ProductName", + "ProductSKU", + "Validity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::License" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LicenseManager::License.BorrowConfiguration": { + "additionalProperties": false, + "properties": { + "AllowEarlyCheckIn": { + "markdownDescription": "Indicates whether early check-ins are allowed.", + "title": "AllowEarlyCheckIn", + "type": "boolean" + }, + "MaxTimeToLiveInMinutes": { + "markdownDescription": "Maximum time for the borrow configuration, in minutes.", + "title": "MaxTimeToLiveInMinutes", + "type": "number" + } + }, + "required": [ + "AllowEarlyCheckIn", + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ConsumptionConfiguration": { + "additionalProperties": false, + "properties": { + "BorrowConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration", + "markdownDescription": "Details about a borrow configuration.", + "title": "BorrowConfiguration" + }, + "ProvisionalConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration", + "markdownDescription": "Details about a provisional configuration.", + "title": "ProvisionalConfiguration" + }, + "RenewType": { + "markdownDescription": "Renewal frequency.", + "title": "RenewType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::LicenseManager::License.Entitlement": { + "additionalProperties": false, + "properties": { + "AllowCheckIn": { + "markdownDescription": "Indicates whether check-ins are allowed.", + "title": "AllowCheckIn", + "type": "boolean" + }, + "MaxCount": { + "markdownDescription": "Maximum entitlement count. Use if the unit is not None.", + "title": "MaxCount", + "type": "number" + }, + "Name": { + "markdownDescription": "Entitlement name.", + "title": "Name", + "type": "string" + }, + "Overage": { + "markdownDescription": "Indicates whether overages are allowed.", + "title": "Overage", + "type": "boolean" + }, + "Unit": { + "markdownDescription": "Entitlement unit.", + "title": "Unit", + "type": "string" + }, + "Value": { + "markdownDescription": "Entitlement resource. Use only if the unit is None.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Name", + "Unit" + ], + "type": "object" + }, + "AWS::LicenseManager::License.IssuerData": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "Issuer name.", + "title": "Name", + "type": "string" + }, + "SignKey": { + "markdownDescription": "Asymmetric KMS key from AWS Key Management Service . The KMS key must have a key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing algorithm.", + "title": "SignKey", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::LicenseManager::License.Metadata": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The key name.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ProvisionalConfiguration": { + "additionalProperties": false, + "properties": { + "MaxTimeToLiveInMinutes": { + "markdownDescription": "Maximum time for the provisional configuration, in minutes.", + "title": "MaxTimeToLiveInMinutes", + "type": "number" + } + }, + "required": [ + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ValidityDateFormat": { + "additionalProperties": false, + "properties": { + "Begin": { + "markdownDescription": "Start of the time range.", + "title": "Begin", + "type": "string" + }, + "End": { + "markdownDescription": "End of the time range.", + "title": "End", + "type": "string" + } + }, + "required": [ + "Begin", + "End" + ], + "type": "object" + }, + "AWS::LicenseManager::LicenseAssetGroup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedLicenseAssetRulesetARNs": { "items": { - "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" + "type": "string" }, - "markdownDescription": "License entitlements.", - "title": "Entitlements", "type": "array" }, - "HomeRegion": { - "markdownDescription": "Home Region of the license.", - "title": "HomeRegion", + "Description": { "type": "string" }, - "Issuer": { - "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData", - "markdownDescription": "License issuer.", - "title": "Issuer" - }, - "LicenseMetadata": { + "LicenseAssetGroupConfigurations": { "items": { - "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" + "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetGroup.LicenseAssetGroupConfiguration" }, - "markdownDescription": "License metadata.", - "title": "LicenseMetadata", "type": "array" }, - "LicenseName": { - "markdownDescription": "License name.", - "title": "LicenseName", - "type": "string" - }, - "ProductName": { - "markdownDescription": "Product name.", - "title": "ProductName", - "type": "string" - }, - "ProductSKU": { - "markdownDescription": "Product SKU.", - "title": "ProductSKU", + "Name": { "type": "string" }, - "Status": { - "markdownDescription": "License status.", - "title": "Status", - "type": "string" + "Properties": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetGroup.LicenseAssetGroupProperty" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Validity": { - "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat", - "markdownDescription": "Date and time range during which the license is valid, in ISO8601-UTC format.", - "title": "Validity" } }, "required": [ - "Beneficiary", - "ConsumptionConfiguration", - "Entitlements", - "HomeRegion", - "Issuer", - "LicenseName", - "ProductName", - "ProductSKU", - "Validity" + "AssociatedLicenseAssetRulesetARNs", + "LicenseAssetGroupConfigurations", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::LicenseManager::License" + "AWS::LicenseManager::LicenseAssetGroup" ], "type": "string" }, @@ -218618,158 +227329,25 @@ ], "type": "object" }, - "AWS::LicenseManager::License.BorrowConfiguration": { - "additionalProperties": false, - "properties": { - "AllowEarlyCheckIn": { - "markdownDescription": "Indicates whether early check-ins are allowed.", - "title": "AllowEarlyCheckIn", - "type": "boolean" - }, - "MaxTimeToLiveInMinutes": { - "markdownDescription": "Maximum time for the borrow configuration, in minutes.", - "title": "MaxTimeToLiveInMinutes", - "type": "number" - } - }, - "required": [ - "AllowEarlyCheckIn", - "MaxTimeToLiveInMinutes" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ConsumptionConfiguration": { + "AWS::LicenseManager::LicenseAssetGroup.LicenseAssetGroupConfiguration": { "additionalProperties": false, "properties": { - "BorrowConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration", - "markdownDescription": "Details about a borrow configuration.", - "title": "BorrowConfiguration" - }, - "ProvisionalConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration", - "markdownDescription": "Details about a provisional configuration.", - "title": "ProvisionalConfiguration" - }, - "RenewType": { - "markdownDescription": "Renewal frequency.", - "title": "RenewType", + "UsageDimension": { "type": "string" } }, "type": "object" }, - "AWS::LicenseManager::License.Entitlement": { + "AWS::LicenseManager::LicenseAssetGroup.LicenseAssetGroupProperty": { "additionalProperties": false, "properties": { - "AllowCheckIn": { - "markdownDescription": "Indicates whether check-ins are allowed.", - "title": "AllowCheckIn", - "type": "boolean" - }, - "MaxCount": { - "markdownDescription": "Maximum entitlement count. Use if the unit is not None.", - "title": "MaxCount", - "type": "number" - }, - "Name": { - "markdownDescription": "Entitlement name.", - "title": "Name", - "type": "string" - }, - "Overage": { - "markdownDescription": "Indicates whether overages are allowed.", - "title": "Overage", - "type": "boolean" - }, - "Unit": { - "markdownDescription": "Entitlement unit.", - "title": "Unit", - "type": "string" - }, - "Value": { - "markdownDescription": "Entitlement resource. Use only if the unit is None.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Name", - "Unit" - ], - "type": "object" - }, - "AWS::LicenseManager::License.IssuerData": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "Issuer name.", - "title": "Name", - "type": "string" - }, - "SignKey": { - "markdownDescription": "Asymmetric KMS key from AWS Key Management Service . The KMS key must have a key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing algorithm.", - "title": "SignKey", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::LicenseManager::License.Metadata": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The key name.", - "title": "Name", + "Key": { "type": "string" }, "Value": { - "markdownDescription": "The value.", - "title": "Value", "type": "string" } }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ProvisionalConfiguration": { - "additionalProperties": false, - "properties": { - "MaxTimeToLiveInMinutes": { - "markdownDescription": "Maximum time for the provisional configuration, in minutes.", - "title": "MaxTimeToLiveInMinutes", - "type": "number" - } - }, - "required": [ - "MaxTimeToLiveInMinutes" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ValidityDateFormat": { - "additionalProperties": false, - "properties": { - "Begin": { - "markdownDescription": "Start of the time range.", - "title": "Begin", - "type": "string" - }, - "End": { - "markdownDescription": "End of the time range.", - "title": "End", - "type": "string" - } - }, - "required": [ - "Begin", - "End" - ], "type": "object" }, "AWS::LicenseManager::LicenseAssetRuleSet": { @@ -221221,6 +229799,89 @@ }, "type": "object" }, + "AWS::Lightsail::KeyPair": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyPairName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPairName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::KeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::KeyPair.ResourceLocation": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "RegionName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lightsail::LoadBalancer": { "additionalProperties": false, "properties": { @@ -229266,6 +237927,80 @@ }, "type": "object" }, + "AWS::Macie::Member": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "Email": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccountId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Macie::Session": { "additionalProperties": false, "properties": { @@ -233150,6 +241885,9 @@ "markdownDescription": "", "title": "Configuration" }, + "FabricConfiguration": { + "$ref": "#/definitions/AWS::MediaConnect::RouterOutput.FabricConfiguration" + }, "MaintenanceConfiguration": { "$ref": "#/definitions/AWS::MediaConnect::RouterOutput.MaintenanceConfiguration", "markdownDescription": "The maintenance configuration settings applied to this router output.", @@ -233219,6 +241957,18 @@ ], "type": "object" }, + "AWS::MediaConnect::RouterOutput.FabricConfiguration": { + "additionalProperties": false, + "properties": { + "RecoveryLatencyMode": { + "type": "string" + } + }, + "required": [ + "RecoveryLatencyMode" + ], + "type": "object" + }, "AWS::MediaConnect::RouterOutput.FlowTransitEncryption": { "additionalProperties": false, "properties": { @@ -233585,6 +242335,213 @@ ], "type": "object" }, + "AWS::MediaConvert::Job": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccelerationSettings": { + "$ref": "#/definitions/AWS::MediaConvert::Job.AccelerationSettings" + }, + "BillingTagsSource": { + "type": "string" + }, + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::Job.HopDestination" + }, + "type": "array" + }, + "JobTemplate": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "SimulateReservedQueue": { + "type": "string" + }, + "StatusUpdateInterval": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserMetadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Role", + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::Job.AccelerationSettings": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::MediaConvert::Job.HopDestination": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "WaitMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Job.JobMessages": { + "additionalProperties": false, + "properties": { + "Info": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Warning": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Job.OutputDetail": { + "additionalProperties": false, + "properties": { + "DurationInMs": { + "type": "number" + }, + "VideoDetails": { + "$ref": "#/definitions/AWS::MediaConvert::Job.VideoDetail" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Job.OutputGroupDetail": { + "additionalProperties": false, + "properties": { + "OutputDetails": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::Job.OutputDetail" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Job.Timing": { + "additionalProperties": false, + "properties": { + "FinishTime": { + "type": "string" + }, + "StartTime": { + "type": "string" + }, + "SubmitTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Job.VideoDetail": { + "additionalProperties": false, + "properties": { + "HeightInPx": { + "type": "number" + }, + "WidthInPx": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MediaConvert::JobTemplate": { "additionalProperties": false, "properties": { @@ -233867,9 +242824,6 @@ "title": "Description", "type": "string" }, - "MaximumConcurrentFeeds": { - "type": "number" - }, "Name": { "markdownDescription": "The name of the queue that you are creating.", "title": "Name", @@ -234115,6 +243069,21 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.AbWatermarkingCustomProfile": { + "additionalProperties": false, + "properties": { + "EmbeddingFrequency": { + "type": "number" + }, + "SceneCut": { + "type": "number" + }, + "TargetPsnr": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.Ac3Settings": { "additionalProperties": false, "properties": { @@ -234203,7 +243172,7 @@ "additionalProperties": false, "properties": { "ArchiveS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveS3Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveFrameCaptureHlsS3Settings", "markdownDescription": "Sets up Amazon S3 as the destination for this Archive output.", "title": "ArchiveS3Settings" } @@ -234219,13 +243188,22 @@ "title": "M2tsSettings" }, "RawSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The settings for Raw archive output type.", "title": "RawSettings" } }, "type": "object" }, + "AWS::MediaLive::Channel.ArchiveFrameCaptureHlsS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.ArchiveGroupSettings": { "additionalProperties": false, "properties": { @@ -234268,27 +243246,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.ArchiveS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "markdownDescription": "Specify the canned ACL to apply to each S3 request. Defaults to none.", - "title": "CannedAcl", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AribDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AribSourceSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.AudioChannelMapping": { "additionalProperties": false, "properties": { @@ -234337,7 +243294,7 @@ "title": "Mp2Settings" }, "PassThroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The setup to pass through the Dolby audio codec to the output.", "title": "PassThroughSettings" }, @@ -234716,7 +243673,7 @@ "additionalProperties": false, "properties": { "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "", "title": "ColorSpacePassthroughSettings" }, @@ -234726,15 +243683,15 @@ "title": "Hdr10Settings" }, "Hlg2020Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hlg2020Settings" + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings" }, "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "", "title": "Rec601Settings" }, "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "", "title": "Rec709Settings" } @@ -234904,12 +243861,12 @@ "title": "Esam" }, "Scte35SpliceInsert": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert", + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsertTimeSignalAposSettings", "markdownDescription": "The setup for SCTE-35 splice insert handling.", "title": "Scte35SpliceInsert" }, "Scte35TimeSignalApos": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos", + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsertTimeSignalAposSettings", "markdownDescription": "The setup for SCTE-35 time signal APOS handling.", "title": "Scte35TimeSignalApos" } @@ -234963,97 +243920,61 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.BurnInDestinationSettings": { + "AWS::MediaLive::Channel.BurnInDvbSubDestinationSettings": { "additionalProperties": false, "properties": { "Alignment": { - "markdownDescription": "If no explicit xPosition or yPosition is provided, setting alignment to centered places the captions at the bottom center of the output. Similarly, setting a left alignment aligns captions to the bottom left of the output. If x and y positions are specified in conjunction with the alignment parameter, the font is justified (either left or centered) relative to those coordinates. Selecting \"smart\" justification left-justifies live subtitles and center-justifies pre-recorded subtitles. All burn-in and DVB-Sub font settings must match.", - "title": "Alignment", "type": "string" }, "BackgroundColor": { - "markdownDescription": "Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match.", - "title": "BackgroundColor", "type": "string" }, "BackgroundOpacity": { - "markdownDescription": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Keeping this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", - "title": "BackgroundOpacity", "type": "number" }, "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation", - "markdownDescription": "The external font file that is used for captions burn-in. The file extension must be .ttf or .tte. Although you can select output fonts for many different types of input captions, embedded, STL, and Teletext sources use a strict grid system. Using external fonts with these captions sources could cause an unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match.", - "title": "Font" + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" }, "FontColor": { - "markdownDescription": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded, or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "FontColor", "type": "string" }, "FontOpacity": { - "markdownDescription": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.", - "title": "FontOpacity", "type": "number" }, "FontResolution": { - "markdownDescription": "The font resolution in DPI (dots per inch). The default is 96 dpi. All burn-in and DVB-Sub font settings must match.", - "title": "FontResolution", "type": "number" }, "FontSize": { - "markdownDescription": "When set to auto, fontSize scales depending on the size of the output. Providing a positive integer specifies the exact font size in points. All burn-in and DVB-Sub font settings must match.", - "title": "FontSize", "type": "string" }, "OutlineColor": { - "markdownDescription": "Specifies the font outline color. This option is not valid for source captions that are either 608/embedded or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "OutlineColor", "type": "string" }, "OutlineSize": { - "markdownDescription": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "OutlineSize", "type": "number" }, "ShadowColor": { - "markdownDescription": "Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match.", - "title": "ShadowColor", "type": "string" }, "ShadowOpacity": { - "markdownDescription": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Keeping this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", - "title": "ShadowOpacity", "type": "number" }, "ShadowXOffset": { - "markdownDescription": "Specifies the horizontal offset of the shadow that is relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match.", - "title": "ShadowXOffset", "type": "number" }, "ShadowYOffset": { - "markdownDescription": "Specifies the vertical offset of the shadow that is relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match.", - "title": "ShadowYOffset", "type": "number" }, "SubtitleRows": { - "markdownDescription": "", - "title": "SubtitleRows", "type": "string" }, "TeletextGridControl": { - "markdownDescription": "Controls whether a fixed grid size is used to generate the output subtitles bitmap. This applies only to Teletext inputs and DVB-Sub/Burn-in outputs.", - "title": "TeletextGridControl", "type": "string" }, "XPosition": { - "markdownDescription": "Specifies the horizontal position of the captions relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal captions position is determined by the alignment parameter. All burn-in and DVB-Sub font settings must match.", - "title": "XPosition", "type": "number" }, "YPosition": { - "markdownDescription": "Specifies the vertical position of the captions relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the captions are positioned towards the bottom of the output. All burn-in and DVB-Sub font settings must match.", - "title": "YPosition", "type": "number" } }, @@ -235112,17 +244033,17 @@ "additionalProperties": false, "properties": { "AribDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one ARIB captions encode in the output.", "title": "AribDestinationSettings" }, "BurnInDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDvbSubDestinationSettings", "markdownDescription": "The configuration of one burn-in captions encode in the output.", "title": "BurnInDestinationSettings" }, "DvbSubDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDvbSubDestinationSettings", "markdownDescription": "The configuration of one DVB Sub captions encode in the output.", "title": "DvbSubDestinationSettings" }, @@ -235137,32 +244058,32 @@ "title": "EmbeddedDestinationSettings" }, "EmbeddedPlusScte20DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one embedded plus SCTE-20 captions encode in the output.", "title": "EmbeddedPlusScte20DestinationSettings" }, "RtmpCaptionInfoDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one RTMPCaptionInfo captions encode in the output.", "title": "RtmpCaptionInfoDestinationSettings" }, "Scte20PlusEmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one SCTE20 plus embedded captions encode in the output.", "title": "Scte20PlusEmbeddedDestinationSettings" }, "Scte27DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one SCTE-27 captions encode in the output.", "title": "Scte27DestinationSettings" }, "SmpteTtDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one SMPTE-TT captions encode in the output.", "title": "SmpteTtDestinationSettings" }, "TeletextDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one Teletext captions encode in the output.", "title": "TeletextDestinationSettings" }, @@ -235256,12 +244177,12 @@ "title": "AncillarySourceSettings" }, "AribSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Information about the ARIB captions to extract from the input.", "title": "AribSourceSettings" }, "DvbSubSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DvbSubSourceSettings", "markdownDescription": "Information about the DVB Sub captions to extract from the input.", "title": "DvbSubSourceSettings" }, @@ -235276,7 +244197,7 @@ "title": "Scte20SourceSettings" }, "Scte27SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DvbSubSourceSettings", "markdownDescription": "Information about the SCTE-27 captions to extract from the input.", "title": "Scte27SourceSettings" }, @@ -235329,6 +244250,15 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.CmafIngestFrameCaptureOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.CmafIngestGroupSettings": { "additionalProperties": false, "properties": { @@ -235422,17 +244352,51 @@ "markdownDescription": "", "title": "TimedMetadataPassthrough", "type": "string" + }, + "WatermarkingSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CmafIngestWatermarkingSettings" } }, "type": "object" }, - "AWS::MediaLive::Channel.CmafIngestOutputSettings": { + "AWS::MediaLive::Channel.CmafIngestMediaPackageV2AbWatermarkerIrdetoSettings": { "additionalProperties": false, "properties": { - "NameModifier": { - "markdownDescription": "", - "title": "NameModifier", + "AdditionalDestinationsAlternateDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "type": "array" + }, + "AlternateDestination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "CustomProfile": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AbWatermarkingCustomProfile" + }, + "License": { "type": "string" + }, + "OperatorId": { + "type": "number" + }, + "PolyPeriod": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "WatermarkIdLength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CmafIngestWatermarkingSettings": { + "additionalProperties": false, + "properties": { + "CmafIngestAbWatermarkerIrdetoSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CmafIngestMediaPackageV2AbWatermarkerIrdetoSettings" } }, "type": "object" @@ -235472,11 +244436,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.DisabledLockingSettings": { "additionalProperties": false, "properties": { @@ -235486,11 +244445,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.DolbyVision81Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.DvbNitSettings": { "additionalProperties": false, "properties": { @@ -235538,118 +244492,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.DvbSubDestinationSettings": { - "additionalProperties": false, - "properties": { - "Alignment": { - "markdownDescription": "If no explicit xPosition or yPosition is provided, setting the alignment to centered places the captions at the bottom center of the output. Similarly, setting a left alignment aligns captions to the bottom left of the output. If x and y positions are specified in conjunction with the alignment parameter, the font is justified (either left or centered) relative to those coordinates. Selecting \"smart\" justification left-justifies live subtitles and center-justifies pre-recorded subtitles. This option is not valid for source captions that are STL or 608/embedded. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "Alignment", - "type": "string" - }, - "BackgroundColor": { - "markdownDescription": "Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match.", - "title": "BackgroundColor", - "type": "string" - }, - "BackgroundOpacity": { - "markdownDescription": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Keeping this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", - "title": "BackgroundOpacity", - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation", - "markdownDescription": "The external font file that is used for captions burn-in. The file extension must be .ttf or .tte. Although you can select output fonts for many different types of input captions, embedded, STL, and Teletext sources use a strict grid system. Using external fonts with these captions sources could cause an unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match.", - "title": "Font" - }, - "FontColor": { - "markdownDescription": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded, or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "FontColor", - "type": "string" - }, - "FontOpacity": { - "markdownDescription": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.", - "title": "FontOpacity", - "type": "number" - }, - "FontResolution": { - "markdownDescription": "The font resolution in DPI (dots per inch). The default is 96 dpi. All burn-in and DVB-Sub font settings must match.", - "title": "FontResolution", - "type": "number" - }, - "FontSize": { - "markdownDescription": "When set to auto, fontSize scales depending on the size of the output. Providing a positive integer specifies the exact font size in points. All burn-in and DVB-Sub font settings must match.", - "title": "FontSize", - "type": "string" - }, - "OutlineColor": { - "markdownDescription": "Specifies the font outline color. This option is not valid for source captions that are either 608/embedded or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "OutlineColor", - "type": "string" - }, - "OutlineSize": { - "markdownDescription": "Specifies the font outline size in pixels. This option is not valid for source captions that are either 608/embedded or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "OutlineSize", - "type": "number" - }, - "ShadowColor": { - "markdownDescription": "Specifies the color of the shadow that is cast by the captions. All burn-in and DVB-Sub font settings must match.", - "title": "ShadowColor", - "type": "string" - }, - "ShadowOpacity": { - "markdownDescription": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Keeping this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", - "title": "ShadowOpacity", - "type": "number" - }, - "ShadowXOffset": { - "markdownDescription": "Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match.", - "title": "ShadowXOffset", - "type": "number" - }, - "ShadowYOffset": { - "markdownDescription": "Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match.", - "title": "ShadowYOffset", - "type": "number" - }, - "SubtitleRows": { - "markdownDescription": "", - "title": "SubtitleRows", - "type": "string" - }, - "TeletextGridControl": { - "markdownDescription": "Controls whether a fixed grid size is used to generate the output subtitles bitmap. This applies to only Teletext inputs and DVB-Sub/Burn-in outputs.", - "title": "TeletextGridControl", - "type": "string" - }, - "XPosition": { - "markdownDescription": "Specifies the horizontal position of the captions relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal captions position is determined by the alignment parameter. This option is not valid for source captions that are STL, 608/embedded, or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "XPosition", - "type": "number" - }, - "YPosition": { - "markdownDescription": "Specifies the vertical position of the captions relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the captions are positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded, or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "YPosition", - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSubSourceSettings": { - "additionalProperties": false, - "properties": { - "OcrLanguage": { - "markdownDescription": "If you will configure a WebVTT caption description that references this caption selector, use this field to\nprovide the language to consider when translating the image-based source to text.", - "title": "OcrLanguage", - "type": "string" - }, - "Pid": { - "markdownDescription": "When using DVB-Sub with burn-in or SMPTE-TT, use this PID for the source content. It is unused for DVB-Sub passthrough. All DVB-Sub content is passed through, regardless of selectors.", - "title": "Pid", - "type": "number" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.DvbTdtSettings": { "additionalProperties": false, "properties": { @@ -235844,14 +244686,25 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { + "AWS::MediaLive::Channel.EmbeddedCaptionPositionSettings": { "additionalProperties": false, - "properties": {}, + "properties": { + "YPositionLine": { + "type": "number" + } + }, "type": "object" }, - "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { + "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { "additionalProperties": false, - "properties": {}, + "properties": { + "Position": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedCaptionPositionSettings" + }, + "StyleControl": { + "type": "string" + } + }, "type": "object" }, "AWS::MediaLive::Channel.EmbeddedSourceSettings": { @@ -235880,6 +244733,11 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.EmptyConfigurationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::MediaLive::Channel.EncoderSettings": { "additionalProperties": false, "properties": { @@ -236126,7 +244984,7 @@ "additionalProperties": false, "properties": { "FrameCaptureS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureS3Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveFrameCaptureHlsS3Settings", "markdownDescription": "Sets up Amazon S3 as the destination for this Frame Capture output.", "title": "FrameCaptureS3Settings" } @@ -236149,33 +245007,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureHlsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { - "additionalProperties": false, - "properties": { - "NameModifier": { - "markdownDescription": "Required if the output group contains more than one output. This modifier forms part of the output file name.", - "title": "NameModifier", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "markdownDescription": "Specify the canned ACL to apply to each S3 request. Defaults to none.", - "title": "CannedAcl", - "type": "string" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.FrameCaptureSettings": { "additionalProperties": false, "properties": { @@ -236242,35 +245073,31 @@ "additionalProperties": false, "properties": { "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Passthrough applies no color space conversion to the output.", "title": "ColorSpacePassthroughSettings" }, "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Settings to configure the handling of Rec601 color space.", "title": "Rec601Settings" }, "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Settings to configure the handling of Rec709 color space.", "title": "Rec709Settings" } }, "type": "object" }, - "AWS::MediaLive::Channel.H264FilterSettings": { + "AWS::MediaLive::Channel.H264H265FilterSettings": { "additionalProperties": false, "properties": { "BandwidthReductionFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BandwidthReductionFilterSettings", - "markdownDescription": "", - "title": "BandwidthReductionFilterSettings" + "$ref": "#/definitions/AWS::MediaLive::Channel.BandwidthReductionFilterSettings" }, "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings", - "markdownDescription": "Settings for applying the temporal filter to the video.", - "title": "TemporalFilterSettings" + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" } }, "type": "object" @@ -236319,7 +245146,7 @@ "type": "string" }, "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.H264H265FilterSettings", "markdownDescription": "Optional filters that you can apply to an encode.", "title": "FilterSettings" }, @@ -236505,12 +245332,12 @@ "additionalProperties": false, "properties": { "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Passthrough applies no color space conversion to the output.", "title": "ColorSpacePassthroughSettings" }, "DolbyVision81Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DolbyVision81Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "", "title": "DolbyVision81Settings" }, @@ -236520,39 +245347,23 @@ "title": "Hdr10Settings" }, "Hlg2020Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hlg2020Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "", "title": "Hlg2020Settings" }, "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Settings to configure the handling of Rec601 color space.", "title": "Rec601Settings" }, "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Settings to configure the handling of Rec709 color space.", "title": "Rec709Settings" } }, "type": "object" }, - "AWS::MediaLive::Channel.H265FilterSettings": { - "additionalProperties": false, - "properties": { - "BandwidthReductionFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BandwidthReductionFilterSettings", - "markdownDescription": "", - "title": "BandwidthReductionFilterSettings" - }, - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings", - "markdownDescription": "Settings for applying the temporal filter to the video.", - "title": "TemporalFilterSettings" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.H265Settings": { "additionalProperties": false, "properties": { @@ -236597,7 +245408,7 @@ "type": "string" }, "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.H264H265FilterSettings", "markdownDescription": "Optional filters that you can apply to an encode.", "title": "FilterSettings" }, @@ -236785,11 +245596,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.Hlg2020Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.HlsAkamaiSettings": { "additionalProperties": false, "properties": { @@ -236876,7 +245682,7 @@ "title": "HlsMediaStoreSettings" }, "HlsS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsS3Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveFrameCaptureHlsS3Settings", "markdownDescription": "Sets up Amazon S3 as the destination for this HLS output.", "title": "HlsS3Settings" }, @@ -237203,17 +246009,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.HlsS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "markdownDescription": "Specify the canned ACL to apply to each S3 request. Defaults to none.", - "title": "CannedAcl", - "type": "string" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.HlsSettings": { "additionalProperties": false, "properties": { @@ -237228,7 +246023,7 @@ "title": "Fmp4HlsSettings" }, "FrameCaptureHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureHlsSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Settings for a frame capture output in an HLS output group.", "title": "FrameCaptureHlsSettings" }, @@ -237271,11 +246066,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.InferenceSettings": { "additionalProperties": false, "properties": { @@ -237285,6 +246075,12 @@ }, "type": "array" }, + "EnrichmentMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, "FeedArn": { "type": "string" } @@ -237893,15 +246689,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.MediaConnectRouterContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.MediaConnectRouterGroupSettings": { "additionalProperties": false, "properties": { @@ -237945,7 +246732,7 @@ "$ref": "#/definitions/AWS::MediaLive::Channel.MediaConnectRouterOutputConnectionMap" }, "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaConnectRouterContainerSettings" + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpMediaConnectRouterContainerSettings" }, "Destination": { "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" @@ -237953,15 +246740,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageAdditionalDestinations": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.MediaPackageGroupSettings": { "additionalProperties": false, "properties": { @@ -238038,6 +246816,12 @@ "markdownDescription": "", "title": "HlsDefault", "type": "string" + }, + "OutputUsage": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -238047,7 +246831,7 @@ "properties": { "AdditionalDestinations": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageAdditionalDestinations" + "$ref": "#/definitions/AWS::MediaLive::Channel.AdditionalDestinations" }, "type": "array" }, @@ -238103,6 +246887,18 @@ "markdownDescription": "", "title": "TimedMetadataPassthrough", "type": "string" + }, + "WatermarkingSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageV2WatermarkingSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageV2WatermarkingSettings": { + "additionalProperties": false, + "properties": { + "MediaPackageV2AbWatermarkerIrdetoSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CmafIngestMediaPackageV2AbWatermarkerIrdetoSettings" } }, "type": "object" @@ -238127,7 +246923,7 @@ "additionalProperties": false, "properties": { "HtmlMotionGraphicsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Settings to configure the motion graphics overlay to use an HTML asset.", "title": "HtmlMotionGraphicsSettings" } @@ -238396,11 +247192,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.MultiplexGroupSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.MultiplexM2tsSettings": { "additionalProperties": false, "properties": { @@ -238567,28 +247358,7 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.NielsenNaesIiNw": { - "additionalProperties": false, - "properties": { - "CheckDigitString": { - "markdownDescription": "Enter the check digit string for the watermark", - "title": "CheckDigitString", - "type": "string" - }, - "Sid": { - "markdownDescription": "Enter the Nielsen Source ID (SID) to include in the watermark", - "title": "Sid", - "type": "number" - }, - "Timezone": { - "markdownDescription": "", - "title": "Timezone", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.NielsenNwOnly": { + "AWS::MediaLive::Channel.NielsenNaesIiNwOnlySettings": { "additionalProperties": false, "properties": { "CheckDigitString": { @@ -238617,12 +247387,12 @@ "type": "string" }, "NielsenNaesIiNwSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenNaesIiNw", + "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenNaesIiNwOnlySettings", "markdownDescription": "Complete these fields only if you want to insert watermarks of type Nielsen NAES II (N2) and Nielsen NAES VI (NW).", "title": "NielsenNaesIiNwSettings" }, "NielsenNwOnlySettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenNwOnly" + "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenNaesIiNwOnlySettings" } }, "type": "object" @@ -238808,7 +247578,7 @@ "title": "MsSmoothGroupSettings" }, "MultiplexGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The settings for a Multiplex output group.", "title": "MultiplexGroupSettings" }, @@ -238869,12 +247639,12 @@ "title": "ArchiveOutputSettings" }, "CmafIngestOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CmafIngestOutputSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.CmafIngestFrameCaptureOutputSettings", "markdownDescription": "", "title": "CmafIngestOutputSettings" }, "FrameCaptureOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.CmafIngestFrameCaptureOutputSettings", "markdownDescription": "The settings for a frame capture output.\n\nThe parent of this entity is OutputGroupSettings.", "title": "FrameCaptureOutputSettings" }, @@ -238919,11 +247689,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.PassThroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.PipelineLockingSettings": { "additionalProperties": false, "properties": { @@ -238945,21 +247710,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.RawSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec601Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec709Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.RemixSettings": { "additionalProperties": false, "properties": { @@ -238984,11 +247734,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.RtmpGroupSettings": { "additionalProperties": false, "properties": { @@ -239064,11 +247809,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.Scte20SourceSettings": { "additionalProperties": false, "properties": { @@ -239085,64 +247825,28 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.Scte27DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27SourceSettings": { + "AWS::MediaLive::Channel.Scte27DvbSubSourceSettings": { "additionalProperties": false, "properties": { "OcrLanguage": { - "markdownDescription": "If you will configure a WebVTT caption description that references this caption selector, use this field to\nprovide the language to consider when translating the image-based source to text.", - "title": "OcrLanguage", "type": "string" }, "Pid": { - "markdownDescription": "The PID field is used in conjunction with the captions selector languageCode field as follows: Specify PID and Language: Extracts captions from that PID; the language is \"informational.\" Specify PID and omit Language: Extracts the specified PID. Omit PID and specify Language: Extracts the specified language, whichever PID that happens to be. Omit PID and omit Language: Valid only if source is DVB-Sub that is being passed through; all languages are passed through.", - "title": "Pid", "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "AWS::MediaLive::Channel.Scte35SpliceInsertTimeSignalAposSettings": { "additionalProperties": false, "properties": { "AdAvailOffset": { - "markdownDescription": "When specified, this offset (in milliseconds) is added to the input ad avail PTS time. This applies only to embedded SCTE 104/35 messages. It doesn't apply to OOB messages.", - "title": "AdAvailOffset", "type": "number" }, "NoRegionalBlackoutFlag": { - "markdownDescription": "When set to ignore, segment descriptors with noRegionalBlackoutFlag set to 0 no longer trigger blackouts or ad avail slates.", - "title": "NoRegionalBlackoutFlag", "type": "string" }, "WebDeliveryAllowedFlag": { - "markdownDescription": "When set to ignore, segment descriptors with webDeliveryAllowedFlag set to 0 no longer trigger blackouts or ad avail slates.", - "title": "WebDeliveryAllowedFlag", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte35TimeSignalApos": { - "additionalProperties": false, - "properties": { - "AdAvailOffset": { - "markdownDescription": "When specified, this offset (in milliseconds) is added to the input ad avail PTS time. This applies only to embedded SCTE 104/35 messages. It doesn't apply to OOB messages.", - "title": "AdAvailOffset", - "type": "number" - }, - "NoRegionalBlackoutFlag": { - "markdownDescription": "When set to ignore, segment descriptors with noRegionalBlackoutFlag set to 0 no longer trigger blackouts or ad avail slates.", - "title": "NoRegionalBlackoutFlag", - "type": "string" - }, - "WebDeliveryAllowedFlag": { - "markdownDescription": "When set to ignore, segment descriptors with webDeliveryAllowedFlag set to 0 no longer trigger blackouts or ad avail slates.", - "title": "WebDeliveryAllowedFlag", "type": "string" } }, @@ -239160,11 +247864,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.SpecialRouterSettings": { "additionalProperties": false, "properties": { @@ -239221,7 +247920,7 @@ "type": "number" }, "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpMediaConnectRouterContainerSettings", "markdownDescription": "", "title": "ContainerSettings" }, @@ -239275,11 +247974,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.TeletextDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.TeletextSourceSettings": { "additionalProperties": false, "properties": { @@ -239312,6 +248006,15 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.TextCaptionPositionSettings": { + "additionalProperties": false, + "properties": { + "YPositionPercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.ThumbnailConfiguration": { "additionalProperties": false, "properties": { @@ -239363,6 +248066,9 @@ "AWS::MediaLive::Channel.TtmlDestinationSettings": { "additionalProperties": false, "properties": { + "Position": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TextCaptionPositionSettings" + }, "StyleControl": { "markdownDescription": "When set to passthrough, passes through style and position information from a TTML-like input source (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or TTML output.", "title": "StyleControl", @@ -239371,17 +248077,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.UdpContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings", - "markdownDescription": "The M2TS configuration for this UDP output.", - "title": "M2tsSettings" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.UdpGroupSettings": { "additionalProperties": false, "properties": { @@ -239403,6 +248098,15 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.UdpMediaConnectRouterContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.UdpOutputSettings": { "additionalProperties": false, "properties": { @@ -239412,7 +248116,7 @@ "type": "number" }, "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpMediaConnectRouterContainerSettings", "markdownDescription": "The settings for the UDP output.", "title": "ContainerSettings" }, @@ -239479,11 +248183,17 @@ "AWS::MediaLive::Channel.VideoDescription": { "additionalProperties": false, "properties": { + "Border": { + "type": "number" + }, "CodecSettings": { "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings", "markdownDescription": "The video codec settings.", "title": "CodecSettings" }, + "CropRectangle": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoPositionRectangle" + }, "Height": { "markdownDescription": "The output video height, in pixels. This must be an even number. For most codecs, you can keep this field and width blank in order to use the height and width (resolution) from the source. Note that we don't recommend keeping the field blank. For the Frame Capture codec, height and width are required.", "title": "Height", @@ -239494,6 +248204,9 @@ "title": "Name", "type": "string" }, + "OutputPositionRectangle": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoPositionRectangle" + }, "RespondToAfd": { "markdownDescription": "Indicates how to respond to the AFD values in the input stream. RESPOND causes input video to be clipped, depending on the AFD value, input display aspect ratio, and output display aspect ratio, and (except for the FRAMECAPTURE codec) includes the values in the output. PASSTHROUGH (does not apply to FRAMECAPTURE codec) ignores the AFD values and includes the values in the output, so input video is not clipped. NONE ignores the AFD values and does not include the values through to the output, so input video is not clipped.", "title": "RespondToAfd", @@ -239517,6 +248230,24 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.VideoPositionRectangle": { + "additionalProperties": false, + "properties": { + "Height": { + "type": "number" + }, + "Width": { + "type": "number" + }, + "X": { + "type": "number" + }, + "Y": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.VideoSelector": { "additionalProperties": false, "properties": { @@ -239646,6 +248377,9 @@ "AWS::MediaLive::Channel.WebvttDestinationSettings": { "additionalProperties": false, "properties": { + "Position": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TextCaptionPositionSettings" + }, "StyleControl": { "markdownDescription": "Controls whether the color and position of the source captions is passed through to the WebVTT output captions. PASSTHROUGH - Valid only if the source captions are EMBEDDED or TELETEXT. NO_STYLE_DATA - Don't pass through the style. The output captions will not contain any font styling information.", "title": "StyleControl", @@ -243647,6 +252381,9 @@ "title": "InputType", "type": "string" }, + "MultiviewConfiguration": { + "$ref": "#/definitions/AWS::MediaPackageV2::Channel.MultiviewConfiguration" + }, "OutputHeaderConfiguration": { "$ref": "#/definitions/AWS::MediaPackageV2::Channel.OutputHeaderConfiguration", "markdownDescription": "The settings for what common media server data (CMSD) headers AWS Elemental MediaPackage includes in responses to the CDN.", @@ -243723,6 +252460,28 @@ }, "type": "object" }, + "AWS::MediaPackageV2::Channel.MultiviewConfiguration": { + "additionalProperties": false, + "properties": { + "AvailableLayouts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AvailableSources": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AvailableLayouts", + "AvailableSources" + ], + "type": "object" + }, "AWS::MediaPackageV2::Channel.OutputHeaderConfiguration": { "additionalProperties": false, "properties": { @@ -244201,6 +252960,9 @@ "title": "StartoverWindowSeconds", "type": "number" }, + "StreamNameOutputMode": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -247501,44 +256263,191 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the parameter group.", - "title": "Description", + "Description": { + "markdownDescription": "A description of the parameter group.", + "title": "Description", + "type": "string" + }, + "Family": { + "markdownDescription": "The name of the parameter group family that this parameter group is compatible with.", + "title": "Family", + "type": "string" + }, + "ParameterGroupName": { + "markdownDescription": "The name of the parameter group.", + "title": "ParameterGroupName", + "type": "string" + }, + "Parameters": { + "markdownDescription": "Returns the detailed parameter list for the parameter group.", + "title": "Parameters", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Family", + "ParameterGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MemoryDB::ParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MemoryDB::ReservedNode": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MemoryDB::ReservedNode" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MemoryDB::ReservedNode.RecurringCharge": { + "additionalProperties": false, + "properties": { + "RecurringChargeAmount": { + "type": "number" + }, + "RecurringChargeFrequency": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MemoryDB::Snapshot": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterName": { "type": "string" }, - "Family": { - "markdownDescription": "The name of the parameter group family that this parameter group is compatible with.", - "title": "Family", + "KmsKeyId": { "type": "string" }, - "ParameterGroupName": { - "markdownDescription": "The name of the parameter group.", - "title": "ParameterGroupName", + "SnapshotName": { "type": "string" }, - "Parameters": { - "markdownDescription": "Returns the detailed parameter list for the parameter group.", - "title": "Parameters", - "type": "object" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", "type": "array" } }, "required": [ - "Family", - "ParameterGroupName" + "ClusterName", + "SnapshotName" ], "type": "object" }, "Type": { "enum": [ - "AWS::MemoryDB::ParameterGroup" + "AWS::MemoryDB::Snapshot" ], "type": "string" }, @@ -247557,70 +256466,49 @@ ], "type": "object" }, - "AWS::MemoryDB::ReservedNode": { + "AWS::MemoryDB::Snapshot.ClusterConfiguration": { "additionalProperties": false, "properties": { - "Condition": { + "Description": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Engine": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EngineVersion": { + "type": "string" }, - "Metadata": { - "type": "object" + "MaintenanceWindow": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" + "Name": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::MemoryDB::ReservedNode" - ], + "NodeType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "NumShards": { + "type": "number" + }, + "ParameterGroupName": { "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MemoryDB::ReservedNode.RecurringCharge": { - "additionalProperties": false, - "properties": { - "RecurringChargeAmount": { + }, + "Port": { "type": "number" }, - "RecurringChargeFrequency": { + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SubnetGroupName": { + "type": "string" + }, + "TopicArn": { + "type": "string" + }, + "VpcId": { "type": "string" } }, @@ -248835,6 +257723,9 @@ "title": "GraphName", "type": "string" }, + "ImportTask": { + "$ref": "#/definitions/AWS::NeptuneGraph::Graph.ImportTask" + }, "KmsKeyIdentifier": { "type": "string" }, @@ -248893,6 +257784,74 @@ ], "type": "object" }, + "AWS::NeptuneGraph::Graph.ImportOptions": { + "additionalProperties": false, + "properties": { + "Neptune": { + "$ref": "#/definitions/AWS::NeptuneGraph::Graph.NeptuneImportOptions" + } + }, + "type": "object" + }, + "AWS::NeptuneGraph::Graph.ImportTask": { + "additionalProperties": false, + "properties": { + "BlankNodeHandling": { + "type": "string" + }, + "FailOnError": { + "type": "boolean" + }, + "Format": { + "type": "string" + }, + "ImportOptions": { + "$ref": "#/definitions/AWS::NeptuneGraph::Graph.ImportOptions" + }, + "MaxProvisionedMemory": { + "type": "number" + }, + "MinProvisionedMemory": { + "type": "number" + }, + "ParquetType": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Source": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "Source" + ], + "type": "object" + }, + "AWS::NeptuneGraph::Graph.NeptuneImportOptions": { + "additionalProperties": false, + "properties": { + "PreserveDefaultVertexLabels": { + "type": "boolean" + }, + "PreserveEdgeIds": { + "type": "boolean" + }, + "S3ExportKmsKeyId": { + "type": "string" + }, + "S3ExportPath": { + "type": "string" + } + }, + "required": [ + "S3ExportKmsKeyId", + "S3ExportPath" + ], + "type": "object" + }, "AWS::NeptuneGraph::Graph.VectorSearchConfiguration": { "additionalProperties": false, "properties": { @@ -249071,6 +258030,125 @@ ], "type": "object" }, + "AWS::NetworkFirewall::ContainerAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerAssociationName": { + "type": "string" + }, + "ContainerMonitoringConfigurations": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::ContainerAssociation.ContainerMonitoringConfiguration" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ContainerAssociationName", + "ContainerMonitoringConfigurations", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::ContainerAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::ContainerAssociation.ContainerAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::ContainerAssociation.ContainerMonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "AttributeFilters": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::ContainerAssociation.ContainerAttribute" + }, + "type": "array" + }, + "ClusterArn": { + "type": "string" + } + }, + "required": [ + "ClusterArn" + ], + "type": "object" + }, "AWS::NetworkFirewall::Firewall": { "additionalProperties": false, "properties": { @@ -250888,16 +259966,6 @@ "markdownDescription": "Options for connecting an attachment.", "title": "Options" }, - "ProposedNetworkFunctionGroupChange": { - "$ref": "#/definitions/AWS::NetworkManager::ConnectAttachment.ProposedNetworkFunctionGroupChange", - "markdownDescription": "Describes proposed changes to a network function group.", - "title": "ProposedNetworkFunctionGroupChange" - }, - "ProposedSegmentChange": { - "$ref": "#/definitions/AWS::NetworkManager::ConnectAttachment.ProposedSegmentChange", - "markdownDescription": "Describes a proposed segment change. In some cases, the segment change must first be evaluated and accepted.", - "title": "ProposedSegmentChange" - }, "RoutingPolicyLabel": { "markdownDescription": "", "title": "RoutingPolicyLabel", @@ -251733,16 +260801,6 @@ "title": "EdgeLocations", "type": "array" }, - "ProposedNetworkFunctionGroupChange": { - "$ref": "#/definitions/AWS::NetworkManager::DirectConnectGatewayAttachment.ProposedNetworkFunctionGroupChange", - "markdownDescription": "Describes proposed changes to a network function group.", - "title": "ProposedNetworkFunctionGroupChange" - }, - "ProposedSegmentChange": { - "$ref": "#/definitions/AWS::NetworkManager::DirectConnectGatewayAttachment.ProposedSegmentChange", - "markdownDescription": "Describes a proposed segment change. In some cases, the segment change must first be evaluated and accepted.", - "title": "ProposedSegmentChange" - }, "RoutingPolicyLabel": { "markdownDescription": "", "title": "RoutingPolicyLabel", @@ -252262,16 +261320,6 @@ "title": "NetworkFunctionGroupName", "type": "string" }, - "ProposedNetworkFunctionGroupChange": { - "$ref": "#/definitions/AWS::NetworkManager::SiteToSiteVpnAttachment.ProposedNetworkFunctionGroupChange", - "markdownDescription": "Describes proposed changes to a network function group.", - "title": "ProposedNetworkFunctionGroupChange" - }, - "ProposedSegmentChange": { - "$ref": "#/definitions/AWS::NetworkManager::SiteToSiteVpnAttachment.ProposedSegmentChange", - "markdownDescription": "Describes a proposed segment change. In some cases, the segment change must first be evaluated and accepted.", - "title": "ProposedSegmentChange" - }, "RoutingPolicyLabel": { "markdownDescription": "", "title": "RoutingPolicyLabel", @@ -252565,16 +261613,6 @@ "title": "PeeringId", "type": "string" }, - "ProposedNetworkFunctionGroupChange": { - "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRouteTableAttachment.ProposedNetworkFunctionGroupChange", - "markdownDescription": "Describes proposed changes to a network function group.", - "title": "ProposedNetworkFunctionGroupChange" - }, - "ProposedSegmentChange": { - "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRouteTableAttachment.ProposedSegmentChange", - "markdownDescription": "This property is read-only. Values can't be assigned to it.", - "title": "ProposedSegmentChange" - }, "RoutingPolicyLabel": { "markdownDescription": "", "title": "RoutingPolicyLabel", @@ -252714,16 +261752,6 @@ "markdownDescription": "Options for creating the VPC attachment.", "title": "Options" }, - "ProposedNetworkFunctionGroupChange": { - "$ref": "#/definitions/AWS::NetworkManager::VpcAttachment.ProposedNetworkFunctionGroupChange", - "markdownDescription": "Describes proposed changes to a network function group.", - "title": "ProposedNetworkFunctionGroupChange" - }, - "ProposedSegmentChange": { - "$ref": "#/definitions/AWS::NetworkManager::VpcAttachment.ProposedSegmentChange", - "markdownDescription": "Describes a proposed segment change. In some cases, the segment change must first be evaluated and accepted.", - "title": "ProposedSegmentChange" - }, "RoutingPolicyLabel": { "markdownDescription": "", "title": "RoutingPolicyLabel", @@ -253079,6 +262107,9 @@ "title": "ContactIdentifier", "type": "string" }, + "IsSensitiveEventsSubscribed": { + "type": "boolean" + }, "ManagedNotificationConfigurationArn": { "markdownDescription": "The ARN of the `ManagedNotificationConfiguration` to be associated with the `Channel` .", "title": "ManagedNotificationConfigurationArn", @@ -253152,6 +262183,9 @@ "title": "ChannelArn", "type": "string" }, + "IsSensitiveEventsSubscribed": { + "type": "boolean" + }, "ManagedNotificationConfigurationArn": { "markdownDescription": "The ARN of the `ManagedNotificationAdditionalChannelAssociation` associated with the `Channel` .", "title": "ManagedNotificationConfigurationArn", @@ -257787,6 +266821,215 @@ ], "type": "object" }, + "AWS::Omics::RunBatch": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultRunSetting": { + "$ref": "#/definitions/AWS::Omics::RunBatch.DefaultRunSetting" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Omics::RunBatch" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Omics::RunBatch.DefaultRunSetting": { + "additionalProperties": false, + "properties": { + "CacheBehavior": { + "type": "string" + }, + "CacheId": { + "type": "string" + }, + "ConfigurationName": { + "type": "string" + }, + "EngineSettings": { + "type": "object" + }, + "LogLevel": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkingMode": { + "type": "string" + }, + "OutputBucketOwnerId": { + "type": "string" + }, + "OutputUri": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Priority": { + "type": "number" + }, + "RetentionMode": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RunGroupId": { + "type": "string" + }, + "RunTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ScratchStorageMode": { + "type": "string" + }, + "StorageCapacity": { + "type": "number" + }, + "StorageType": { + "type": "string" + }, + "WorkflowId": { + "type": "string" + }, + "WorkflowOwnerId": { + "type": "string" + }, + "WorkflowType": { + "type": "string" + }, + "WorkflowVersionName": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "WorkflowId" + ], + "type": "object" + }, + "AWS::Omics::RunBatch.RunSummary": { + "additionalProperties": false, + "properties": { + "CancelledRunCount": { + "type": "number" + }, + "CompletedRunCount": { + "type": "number" + }, + "DeletedRunCount": { + "type": "number" + }, + "FailedRunCount": { + "type": "number" + }, + "PendingRunCount": { + "type": "number" + }, + "RunningRunCount": { + "type": "number" + }, + "StartingRunCount": { + "type": "number" + }, + "StoppingRunCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Omics::RunBatch.SubmissionSummary": { + "additionalProperties": false, + "properties": { + "FailedCancelSubmissionCount": { + "type": "number" + }, + "FailedDeleteSubmissionCount": { + "type": "number" + }, + "FailedStartSubmissionCount": { + "type": "number" + }, + "PendingStartSubmissionCount": { + "type": "number" + }, + "SuccessfulCancelSubmissionCount": { + "type": "number" + }, + "SuccessfulDeleteSubmissionCount": { + "type": "number" + }, + "SuccessfulStartSubmissionCount": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Omics::RunCache": { "additionalProperties": false, "properties": { @@ -262945,29 +272188,87 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Content": { - "markdownDescription": "The policy text of the organization resource policy. You can specify the resource policy content as a JSON object or a JSON string.\n\n> When you specify the resource policy content as a JSON string, you can't perform drift detection on the CloudFormation stack. For this reason, we recommend specifying the resource policy content as a JSON object instead.", - "title": "Content", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags that you want to attach to the newly created resource policy. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to `null` . For more information about tagging, see [Tagging AWS Organizations resources](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html) in the *AWS Organizations User Guide* .\n\n> If any one of the tags is not valid or if you exceed the allowed number of tags for the resource policy, then the entire request fails and the resource policy is not created.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Content" - ], + "properties": { + "Content": { + "markdownDescription": "The policy text of the organization resource policy. You can specify the resource policy content as a JSON object or a JSON string.\n\n> When you specify the resource policy content as a JSON string, you can't perform drift detection on the CloudFormation stack. For this reason, we recommend specifying the resource policy content as a JSON object instead.", + "title": "Content", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags that you want to attach to the newly created resource policy. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to `null` . For more information about tagging, see [Tagging AWS Organizations resources](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html) in the *AWS Organizations User Guide* .\n\n> If any one of the tags is not valid or if you exceed the allowed number of tags for the resource policy, then the entire request fails and the resource policy is not created.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Content" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Organizations::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Organizations::Root": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::Organizations::ResourcePolicy" + "AWS::Organizations::Root" ], "type": "string" }, @@ -262981,12 +272282,23 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Organizations::Root": { + "AWS::Organizations::Root.PolicyTypeSummary": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Outposts::Outpost": { "additionalProperties": false, "properties": { "Condition": { @@ -263020,12 +272332,41 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "SupportedHardwareType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "SiteId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Organizations::Root" + "AWS::Outposts::Outpost" ], "type": "string" }, @@ -263039,22 +272380,11 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Organizations::Root.PolicyTypeSummary": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Outposts::Site": { "additionalProperties": false, "properties": { @@ -265511,6 +274841,9 @@ "AWS::PCS::ComputeNodeGroup.SlurmConfiguration": { "additionalProperties": false, "properties": { + "GresCustomSettings": { + "type": "object" + }, "ScaleDownIdleTimeInSeconds": { "type": "number" }, @@ -266911,6 +276244,119 @@ }, "type": "object" }, + "AWS::Personalize::DatasetExportJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatasetArn": { + "type": "string" + }, + "IngestionMode": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "JobOutput": { + "$ref": "#/definitions/AWS::Personalize::DatasetExportJob.DatasetExportJobOutput" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatasetArn", + "JobName", + "JobOutput", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Personalize::DatasetExportJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Personalize::DatasetExportJob.DatasetExportJobOutput": { + "additionalProperties": false, + "properties": { + "S3DataDestination": { + "$ref": "#/definitions/AWS::Personalize::DatasetExportJob.S3DataConfig" + } + }, + "required": [ + "S3DataDestination" + ], + "type": "object" + }, + "AWS::Personalize::DatasetExportJob.S3DataConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, "AWS::Personalize::DatasetGroup": { "additionalProperties": false, "properties": { @@ -266946,24 +276392,110 @@ "Properties": { "additionalProperties": false, "properties": { - "Domain": { - "markdownDescription": "The domain of a Domain dataset group.", - "title": "Domain", + "Domain": { + "markdownDescription": "The domain of a Domain dataset group.", + "title": "Domain", + "type": "string" + }, + "KmsKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to encrypt the datasets.", + "title": "KmsKeyArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the dataset group.", + "title": "Name", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of the AWS Identity and Access Management (IAM) role that has permissions to access the AWS Key Management Service (KMS) key. Supplying an IAM role is only valid when also specifying a KMS key.", + "title": "RoleArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Personalize::DatasetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Personalize::DatasetImportJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSource": { + "$ref": "#/definitions/AWS::Personalize::DatasetImportJob.DataSource" + }, + "DatasetArn": { "type": "string" }, - "KmsKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to encrypt the datasets.", - "title": "KmsKeyArn", + "ImportMode": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the dataset group.", - "title": "Name", + "JobName": { "type": "string" }, + "PublishAttributionMetricsToS3": { + "type": "boolean" + }, "RoleArn": { - "markdownDescription": "The ARN of the AWS Identity and Access Management (IAM) role that has permissions to access the AWS Key Management Service (KMS) key. Supplying an IAM role is only valid when also specifying a KMS key.", - "title": "RoleArn", "type": "string" }, "Tags": { @@ -266974,13 +276506,15 @@ } }, "required": [ - "Name" + "DataSource", + "DatasetArn", + "JobName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Personalize::DatasetGroup" + "AWS::Personalize::DatasetImportJob" ], "type": "string" }, @@ -266999,6 +276533,15 @@ ], "type": "object" }, + "AWS::Personalize::DatasetImportJob.DataSource": { + "additionalProperties": false, + "properties": { + "DataLocation": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Personalize::EventTracker": { "additionalProperties": false, "properties": { @@ -273011,6 +282554,85 @@ ], "type": "object" }, + "AWS::PricingPlanManager::Subscription": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PlanFamily": { + "type": "string" + }, + "PlanTier": { + "type": "string" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UsageLevel": { + "type": "string" + } + }, + "required": [ + "PlanFamily", + "PlanTier", + "ResourceArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PricingPlanManager::Subscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Proton::EnvironmentAccountConnection": { "additionalProperties": false, "properties": { @@ -291086,6 +300708,81 @@ }, "type": "object" }, + "AWS::QuickSight::Customization": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultTheme": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DefaultTheme", + "Namespace" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Customization" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::QuickSight::DLPSetting": { "additionalProperties": false, "properties": { @@ -326196,6 +335893,103 @@ }, "type": "object" }, + "AWS::RDS::DBClusterAutomatedBackup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "IAMDatabaseAuthenticationEnabled": { + "type": "boolean" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "StorageEncrypted": { + "type": "boolean" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBClusterAutomatedBackup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RDS::DBClusterAutomatedBackup.RestoreWindow": { + "additionalProperties": false, + "properties": { + "EarliestTime": { + "type": "string" + }, + "LatestTime": { + "type": "string" + } + }, + "type": "object" + }, "AWS::RDS::DBClusterParameterGroup": { "additionalProperties": false, "properties": { @@ -326785,6 +336579,12 @@ "MaxAllocatedStorage": { "type": "number" }, + "StorageOperationPercentProgress": { + "type": "number" + }, + "StorageOperationStatus": { + "type": "string" + }, "StorageThroughput": { "type": "number" }, @@ -326912,6 +336712,100 @@ }, "type": "object" }, + "AWS::RDS::DBInstanceAutomatedBackup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedStorage": { + "type": "number" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "StorageType": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBInstanceAutomatedBackup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RDS::DBInstanceAutomatedBackup.RestoreWindow": { + "additionalProperties": false, + "properties": { + "EarliestTime": { + "type": "string" + }, + "LatestTime": { + "type": "string" + } + }, + "type": "object" + }, "AWS::RDS::DBParameterGroup": { "additionalProperties": false, "properties": { @@ -331526,6 +341420,85 @@ ], "type": "object" }, + "AWS::Redshift::QEV2IdcApplication": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IdcDisplayName": { + "type": "string" + }, + "IdcInstanceArn": { + "type": "string" + }, + "Qev2IdcApplicationName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IdcDisplayName", + "IdcInstanceArn", + "Qev2IdcApplicationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::QEV2IdcApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Redshift::ScheduledAction": { "additionalProperties": false, "properties": { @@ -331711,6 +341684,158 @@ }, "type": "object" }, + "AWS::Redshift::Snapshot": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterIdentifier": { + "type": "string" + }, + "ManualSnapshotRetentionPeriod": { + "type": "number" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterIdentifier", + "SnapshotIdentifier" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::Snapshot" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::SnapshotCopyGrant": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SnapshotCopyGrantName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SnapshotCopyGrantName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::SnapshotCopyGrant" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Redshift::SnapshotSchedule": { "additionalProperties": false, "properties": { @@ -331792,6 +341917,95 @@ ], "type": "object" }, + "AWS::Redshift::UsageLimit": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Amount": { + "type": "number" + }, + "BreachAction": { + "type": "string" + }, + "ClusterIdentifier": { + "type": "string" + }, + "FeatureType": { + "type": "string" + }, + "LimitType": { + "type": "string" + }, + "Period": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Amount", + "ClusterIdentifier", + "FeatureType", + "LimitType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::UsageLimit" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RedshiftServerless::Namespace": { "additionalProperties": false, "properties": { @@ -333858,6 +344072,229 @@ ], "type": "object" }, + "AWS::ResilienceHub::AppAssessment": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppArn": { + "type": "string" + }, + "AssessmentName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppArn", + "AssessmentName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResilienceHub::AppAssessment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResilienceHub::AppAssessment.Cost": { + "additionalProperties": false, + "properties": { + "Amount": { + "type": "number" + }, + "Currency": { + "type": "string" + }, + "Frequency": { + "type": "string" + } + }, + "required": [ + "Amount", + "Currency", + "Frequency" + ], + "type": "object" + }, + "AWS::ResilienceHub::AppAssessment.DisruptionCompliance": { + "additionalProperties": false, + "properties": { + "AchievableRpoInSecs": { + "type": "number" + }, + "AchievableRtoInSecs": { + "type": "number" + }, + "ComplianceStatus": { + "type": "string" + }, + "CurrentRpoInSecs": { + "type": "number" + }, + "CurrentRtoInSecs": { + "type": "number" + }, + "Message": { + "type": "string" + }, + "RpoDescription": { + "type": "string" + }, + "RpoReferenceId": { + "type": "string" + }, + "RtoDescription": { + "type": "string" + }, + "RtoReferenceId": { + "type": "string" + } + }, + "required": [ + "ComplianceStatus" + ], + "type": "object" + }, + "AWS::ResilienceHub::AppAssessment.FailurePolicy": { + "additionalProperties": false, + "properties": { + "RpoInSecs": { + "type": "number" + }, + "RtoInSecs": { + "type": "number" + } + }, + "required": [ + "RpoInSecs", + "RtoInSecs" + ], + "type": "object" + }, + "AWS::ResilienceHub::AppAssessment.ResiliencyPolicy": { + "additionalProperties": false, + "properties": { + "DataLocationConstraint": { + "type": "string" + }, + "Policy": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ResilienceHub::AppAssessment.FailurePolicy" + } + }, + "type": "object" + }, + "PolicyArn": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ResilienceHub::AppAssessment.ResiliencyScore": { + "additionalProperties": false, + "properties": { + "ComponentScore": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ResilienceHub::AppAssessment.ScoringComponentResiliencyScore" + } + }, + "type": "object" + }, + "DisruptionScore": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "number" + } + }, + "type": "object" + }, + "Score": { + "type": "number" + } + }, + "required": [ + "DisruptionScore", + "Score" + ], + "type": "object" + }, + "AWS::ResilienceHub::AppAssessment.ScoringComponentResiliencyScore": { + "additionalProperties": false, + "properties": { + "ExcludedCount": { + "type": "number" + }, + "OutstandingCount": { + "type": "number" + }, + "PossibleScore": { + "type": "number" + }, + "Score": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ResilienceHub::RecommendationTemplate": { "additionalProperties": false, "properties": { @@ -337337,34 +347774,310 @@ "additionalProperties": false, "properties": { "Comment": { - "markdownDescription": "*Optional:* Any comments you want to include about a change batch request.", - "title": "Comment", + "markdownDescription": "*Optional:* Any comments you want to include about a change batch request.", + "title": "Comment", + "type": "string" + }, + "HostedZoneId": { + "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneId", + "type": "string" + }, + "HostedZoneName": { + "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneName", + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "markdownDescription": "A complex type that contains one `RecordSet` element for each record that you want to create.", + "title": "RecordSets", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "markdownDescription": "*Alias records only:* The value that you specify depends on where you want to route queries:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalDomainName` .\n- For edge-optimized APIs, specify the value of `distributionDomainName` . This is the name of the associated CloudFront distribution, such as `da1b2c3d4e5.cloudfront.net` .\n\n> The name of the record that you're creating must match a custom domain name for your API, such as `api.example.com` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such as `vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com` . For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of `DnsName` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.\n\nYour CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .\n\nYou can't create a record in a private hosted zone to route traffic to a CloudFront distribution.\n\n> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.\n- **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name `my-environment. *us-west-2* .elasticbeanstalk.com` is a regionalized domain name.\n\n> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment. \n\nFor Elastic Beanstalk environments that have regionalized subdomains, specify the `CNAME` attribute for the environment. You can use the following methods to get the value of the CNAME attribute:\n\n- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* .\n- *Elastic Beanstalk API* : Use the `DescribeEnvironments` action to get the value of the `CNAME` attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* .\n- *AWS CLI* : Use the `describe-environments` command to get the value of the `CNAME` attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* .\n- **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .\n\n- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.\n\nIf you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)\n- Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of `DNSName` :\n\n- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)\n- Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)\n- **Global Accelerator accelerator** - Specify the DNS name for your accelerator:\n\n- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) .\n- *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) .\n- **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, `s3-website.us-east-2.amazonaws.com` . For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.*\n- **Another Route 53 record** - Specify the value of the `Name` element for a record in the current hosted zone.\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", + "title": "DNSName", + "type": "string" + }, + "EvaluateTargetHealth": { + "markdownDescription": "*Applies only to alias records with any routing policy:* When `EvaluateTargetHealth` is `true` , an alias record inherits the health of the referenced AWS resource, such as an ELB load balancer or another record in the hosted zone.\n\nNote the following:\n\n- **CloudFront distributions** - You can't set `EvaluateTargetHealth` to `true` when the alias target is a CloudFront distribution.\n- **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment in `DNSName` and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set `EvaluateTargetHealth` to `true` and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.\n\nIf the environment contains a single Amazon EC2 instance, there are no special requirements.\n- **ELB load balancers** - Health checking behavior depends on the type of load balancer:\n\n- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in `DNSName` , Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set `EvaluateTargetHealth` to `true` and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.\n- *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you set `EvaluateTargetHealth` to `true` , Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:\n\n- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.\n- A target group that has no registered targets is considered unhealthy.\n\n> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.\n- **S3 buckets** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an S3 bucket.\n- **Other records in the same hosted zone** - If the AWS resource that you specify in `DNSName` is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .\n\nFor more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .", + "title": "EvaluateTargetHealth", + "type": "boolean" + }, + "HostedZoneId": { + "markdownDescription": "*Alias resource records sets only* : The value used depends on where you want to route traffic:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalHostedZoneId` .\n- For edge-optimized APIs, specify the value of `distributionHostedZoneId` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value of `HostedZoneId` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify `Z2FDTNDATAQYW2` . This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.\n\n> Alias records for CloudFront can't be created in a private zone.\n- **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* .\n- **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:\n\n- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the \"Elastic Load Balancing endpoints and quotas\" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.\n- *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneID` .\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:\n\n- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value of `CanonicalHostedZoneID` .\n- **Global Accelerator accelerator** - Specify `Z2BJ6XQ5FK7U4H` .\n- **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* .\n- **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)", + "title": "HostedZoneId", + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.CidrRoutingConfig": { + "additionalProperties": false, + "properties": { + "CollectionId": { + "markdownDescription": "The CIDR collection ID.", + "title": "CollectionId", + "type": "string" + }, + "LocationName": { + "markdownDescription": "The CIDR collection location name.", + "title": "LocationName", + "type": "string" + } + }, + "required": [ + "CollectionId", + "LocationName" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.Coordinates": { + "additionalProperties": false, + "properties": { + "Latitude": { + "markdownDescription": "Specifies a coordinate of the north\u2013south position of a geographic point on the surface of the Earth (-90 - 90).", + "title": "Latitude", + "type": "string" + }, + "Longitude": { + "markdownDescription": "Specifies a coordinate of the east\u2013west position of a geographic point on the surface of the Earth (-180 - 180).", + "title": "Longitude", + "type": "string" + } + }, + "required": [ + "Latitude", + "Longitude" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "markdownDescription": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:\n\n- *AF* : Africa\n- *AN* : Antarctica\n- *AS* : Asia\n- *EU* : Europe\n- *OC* : Oceania\n- *NA* : North America\n- *SA* : South America\n\nConstraint: Specifying `ContinentCode` with either `CountryCode` or `SubdivisionCode` returns an `InvalidInput` error.", + "title": "ContinentCode", + "type": "string" + }, + "CountryCode": { + "markdownDescription": "For geolocation resource record sets, the two-letter code for a country.\n\nRoute 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .", + "title": "CountryCode", + "type": "string" + }, + "SubdivisionCode": { + "markdownDescription": "For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for `SubdivisionCode` . For a list of state abbreviations, see [Appendix B: Two\u2013Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.\n\nIf you specify `subdivisioncode` , you must also specify `US` for `CountryCode` .", + "title": "SubdivisionCode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoProximityLocation": { + "additionalProperties": false, + "properties": { + "AWSRegion": { + "markdownDescription": "The AWS Region the resource you are directing DNS traffic to, is in.", + "title": "AWSRegion", + "type": "string" + }, + "Bias": { + "markdownDescription": "The bias increases or decreases the size of the geographic region from which Route\u00a053 routes traffic to a resource.\n\nTo use `Bias` to change the size of the geographic region, specify the applicable value for the bias:\n\n- To expand the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route\u00a053 shrinks the size of adjacent regions.\n- To shrink the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a negative bias of -1 to -99. Route\u00a053 expands the size of adjacent regions.", + "title": "Bias", + "type": "number" + }, + "Coordinates": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.Coordinates", + "markdownDescription": "Contains the longitude and latitude for a geographic region.", + "title": "Coordinates" + }, + "LocalZoneGroup": { + "markdownDescription": "Specifies an AWS Local Zone Group.\n\nA local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is `us-east-1-bue-1a` the Local Zone Group is `us-east-1-bue-1` .\n\nYou can identify the Local Zones Group for a specific Local Zone by using the [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html) CLI command:\n\nThis command returns: `\"GroupName\": \"us-west-2-den-1\"` , specifying that the Local Zone `us-west-2-den-1a` belongs to the Local Zone Group `us-west-2-den-1` .", + "title": "LocalZoneGroup", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget", + "markdownDescription": "*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.\n\nIf you're creating resource records sets for a private hosted zone, note the following:\n\n- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.\n- For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .", + "title": "AliasTarget" + }, + "CidrRoutingConfig": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.CidrRoutingConfig", + "markdownDescription": "", + "title": "CidrRoutingConfig" + }, + "Failover": { + "markdownDescription": "*Failover resource record sets only:* To configure failover, you add the `Failover` element to two resource record sets. For one resource record set, you specify `PRIMARY` as the value for `Failover` ; for the other resource record set, you specify `SECONDARY` . In addition, you include the `HealthCheckId` element and specify the health check that you want Amazon Route 53 to perform for each resource record set.\n\nExcept where noted, the following failover behaviors assume that you have included the `HealthCheckId` element in both resource record sets:\n\n- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.\n- When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set.\n- When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.\n- If you omit the `HealthCheckId` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.\n\nYou can't create non-failover resource record sets that have the same values for the `Name` and `Type` elements as failover resource record sets.\n\nFor failover alias resource record sets, you must also include the `EvaluateTargetHealth` element and set the value to true.\n\nFor more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)", + "title": "Failover", + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation", + "markdownDescription": "*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of `192.0.2.111` , create a resource record set with a `Type` of `A` and a `ContinentCode` of `AF` .\n\nIf you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.\n\nYou can't create two geolocation resource record sets that specify the same geographic location.\n\nThe value `*` in the `CountryCode` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the `Name` and `Type` elements.\n\n> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of `CountryCode` is `*` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a `*` resource record set, Route 53 returns a \"no answer\" response for queries from those locations. \n\nYou can't create non-geolocation resource record sets that have the same values for the `Name` and `Type` elements as geolocation resource record sets.", + "title": "GeoLocation" + }, + "GeoProximityLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoProximityLocation", + "markdownDescription": "A complex type that contains information about a geographic location.", + "title": "GeoProximityLocation" + }, + "HealthCheckId": { + "markdownDescription": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the `HealthCheckId` element and specify the ID of the applicable health check.\n\nRoute 53 determines whether a resource record set is healthy based on one of the following:\n\n- By periodically sending a request to the endpoint that is specified in the health check\n- By aggregating the status of a specified group of health checks (calculated health checks)\n- By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)\n\n> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the `Value` element. When you add a `HealthCheckId` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. \n\nFor more information, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\n*When to Specify HealthCheckId*\n\nSpecifying a value for `HealthCheckId` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:\n\n- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.\n\nIf the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.\n\nIf the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.\n\nIf the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.\n- *Alias resource record sets* : You specify the following settings:\n\n- You set `EvaluateTargetHealth` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).\n- You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.\n- You specify a health check ID for the non-alias resource record set.\n\nIf the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.\n\nIf the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.\n\n> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.\n\n*Geolocation Routing*\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has `*` for `CountryCode` is `*` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:\n\n- The United States\n- North America\n- The default resource record set\n\n*Specifying the Health Check Endpoint by Domain Name*\n\nIf your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each `HTTP` server that is serving content for `www.example.com` . For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as `us-east-2-www.example.com` ), not the name of the resource record sets ( `www.example.com` ).\n\n> Health check results will be unpredictable if you do the following:\n> \n> - Create a health check that has the same value for `FullyQualifiedDomainName` as the name of a resource record set.\n> - Associate that health check with the resource record set.", + "title": "HealthCheckId", + "type": "string" + }, + "HostedZoneId": { + "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .\n\nDo not provide the `HostedZoneId` if it is already defined in `AWS::Route53::RecordSetGroup` . The creation fails if `HostedZoneId` is defined in both.", + "title": "HostedZoneId", + "type": "string" + }, + "HostedZoneName": { + "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneName", + "type": "string" + }, + "MultiValueAnswer": { + "markdownDescription": "*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify `true` for `MultiValueAnswer` . Note the following:\n\n- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.\n- If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.\n- Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records.\n- If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records.\n- When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.\n- If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.\n\nYou can't create multivalue answer alias records.", + "title": "MultiValueAnswer", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the record that you want to create, update, or delete.\n\nEnter a fully qualified domain name, for example, `www.example.com` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats `www.example.com` (without a trailing dot) and `www.example.com.` (with a trailing dot) as identical.\n\nFor information about how to specify characters other than `a-z` , `0-9` , and `-` (hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, `*.example.com` . Note the following:\n\n- The * must replace the entire label. For example, you can't specify `*prod.example.com` or `prod*.example.com` .\n- The * can't replace any of the middle labels, for example, marketing.*.example.com.\n- If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n\n> You can't use the * wildcard for resource records sets that have a type of NS.", + "title": "Name", + "type": "string" + }, + "Region": { + "markdownDescription": "*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.\n\nNote the following:\n\n- You can only specify one `ResourceRecord` per latency resource record set.\n- You can only create one latency resource record set for each Amazon EC2 Region.\n- You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.\n- You can't create non-latency resource record sets that have the same values for the `Name` and `Type` elements as latency resource record sets.", + "title": "Region", + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "markdownDescription": "Information about the records that you want to create. Each record should be in the format appropriate for the record type specified by the `Type` property. For information about different record types and their record formats, see [Values That You Specify When You Create or Edit Amazon Route 53 Records](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values.html) in the *Amazon Route 53 Developer Guide* .", + "title": "ResourceRecords", + "type": "array" + }, + "SetIdentifier": { + "markdownDescription": "*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of `SetIdentifier` must be unique for each resource record set.\n\nFor information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .", + "title": "SetIdentifier", + "type": "string" + }, + "TTL": { + "markdownDescription": "The resource record cache time to live (TTL), in seconds. Note the following:\n\n- If you're creating or updating an alias resource record set, omit `TTL` . Amazon Route 53 uses the value of `TTL` for the alias target.\n- If you're associating this resource record set with a health check (if you're adding a `HealthCheckId` element), we recommend that you specify a `TTL` of 60 seconds or less so clients respond quickly to changes in health status.\n- All of the resource record sets in a group of weighted resource record sets must have the same value for `TTL` .\n- If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a `TTL` of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for `Weight` .", + "title": "TTL", + "type": "string" + }, + "Type": { + "markdownDescription": "The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nValid values for basic resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `DS` | `MX` | `NAPTR` | `NS` | `PTR` | `SOA` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\nValues for weighted, latency, geolocation, and failover resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.\n\nValid values for multivalue answer resource record sets: `A` | `AAAA` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `CAA` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\n> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of `Type` is `SPF` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) . \n\nValues for alias resource record sets:\n\n- *Amazon API Gateway custom regional APIs and edge-optimized APIs:* `A`\n- *CloudFront distributions:* `A`\n\nIf IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of `A` and one with a value of `AAAA` .\n- *Amazon API Gateway environment that has a regionalized subdomain* : `A`\n- *ELB load balancers:* `A` | `AAAA`\n- *Amazon S3 buckets:* `A`\n- *Amazon Virtual Private Cloud interface VPC endpoints* `A`\n- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except `NS` and `SOA` .\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", + "title": "Type", + "type": "string" + }, + "Weight": { + "markdownDescription": "*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:\n\n- You must specify a value for the `Weight` element for every weighted resource record set.\n- You can only specify one `ResourceRecord` per weighted resource record set.\n- You can't create latency, failover, or geolocation resource record sets that have the same values for the `Name` and `Type` elements as weighted resource record sets.\n- You can create a maximum of 100 weighted resource record sets that have the same values for the `Name` and `Type` elements.\n- For weighted (but not weighted alias) resource record sets, if you set `Weight` to `0` for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set `Weight` to `0` for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.\n\nThe effect of setting `Weight` to `0` is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .", + "title": "Weight", + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53::TrafficPolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Comment": { "type": "string" }, - "HostedZoneId": { - "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneId", + "Document": { "type": "string" }, - "HostedZoneName": { - "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneName", + "Name": { "type": "string" - }, - "RecordSets": { - "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" - }, - "markdownDescription": "A complex type that contains one `RecordSet` element for each record that you want to create.", - "title": "RecordSets", - "type": "array" } }, + "required": [ + "Document", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSetGroup" + "AWS::Route53::TrafficPolicy" ], "type": "string" }, @@ -337378,212 +348091,89 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "markdownDescription": "*Alias records only:* The value that you specify depends on where you want to route queries:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalDomainName` .\n- For edge-optimized APIs, specify the value of `distributionDomainName` . This is the name of the associated CloudFront distribution, such as `da1b2c3d4e5.cloudfront.net` .\n\n> The name of the record that you're creating must match a custom domain name for your API, such as `api.example.com` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such as `vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com` . For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of `DnsName` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.\n\nYour CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .\n\nYou can't create a record in a private hosted zone to route traffic to a CloudFront distribution.\n\n> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.\n- **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name `my-environment. *us-west-2* .elasticbeanstalk.com` is a regionalized domain name.\n\n> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment. \n\nFor Elastic Beanstalk environments that have regionalized subdomains, specify the `CNAME` attribute for the environment. You can use the following methods to get the value of the CNAME attribute:\n\n- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* .\n- *Elastic Beanstalk API* : Use the `DescribeEnvironments` action to get the value of the `CNAME` attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* .\n- *AWS CLI* : Use the `describe-environments` command to get the value of the `CNAME` attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* .\n- **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .\n\n- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.\n\nIf you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)\n- Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of `DNSName` :\n\n- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)\n- Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)\n- **Global Accelerator accelerator** - Specify the DNS name for your accelerator:\n\n- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) .\n- *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) .\n- **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, `s3-website.us-east-2.amazonaws.com` . For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.*\n- **Another Route 53 record** - Specify the value of the `Name` element for a record in the current hosted zone.\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", - "title": "DNSName", - "type": "string" - }, - "EvaluateTargetHealth": { - "markdownDescription": "*Applies only to alias records with any routing policy:* When `EvaluateTargetHealth` is `true` , an alias record inherits the health of the referenced AWS resource, such as an ELB load balancer or another record in the hosted zone.\n\nNote the following:\n\n- **CloudFront distributions** - You can't set `EvaluateTargetHealth` to `true` when the alias target is a CloudFront distribution.\n- **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment in `DNSName` and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set `EvaluateTargetHealth` to `true` and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.\n\nIf the environment contains a single Amazon EC2 instance, there are no special requirements.\n- **ELB load balancers** - Health checking behavior depends on the type of load balancer:\n\n- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in `DNSName` , Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set `EvaluateTargetHealth` to `true` and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.\n- *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you set `EvaluateTargetHealth` to `true` , Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:\n\n- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.\n- A target group that has no registered targets is considered unhealthy.\n\n> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.\n- **S3 buckets** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an S3 bucket.\n- **Other records in the same hosted zone** - If the AWS resource that you specify in `DNSName` is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .\n\nFor more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .", - "title": "EvaluateTargetHealth", - "type": "boolean" - }, - "HostedZoneId": { - "markdownDescription": "*Alias resource records sets only* : The value used depends on where you want to route traffic:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalHostedZoneId` .\n- For edge-optimized APIs, specify the value of `distributionHostedZoneId` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value of `HostedZoneId` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify `Z2FDTNDATAQYW2` . This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.\n\n> Alias records for CloudFront can't be created in a private zone.\n- **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* .\n- **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:\n\n- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the \"Elastic Load Balancing endpoints and quotas\" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.\n- *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneID` .\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:\n\n- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value of `CanonicalHostedZoneID` .\n- **Global Accelerator accelerator** - Specify `Z2BJ6XQ5FK7U4H` .\n- **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* .\n- **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)", - "title": "HostedZoneId", - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.CidrRoutingConfig": { - "additionalProperties": false, - "properties": { - "CollectionId": { - "markdownDescription": "The CIDR collection ID.", - "title": "CollectionId", - "type": "string" - }, - "LocationName": { - "markdownDescription": "The CIDR collection location name.", - "title": "LocationName", - "type": "string" - } - }, - "required": [ - "CollectionId", - "LocationName" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.Coordinates": { - "additionalProperties": false, - "properties": { - "Latitude": { - "markdownDescription": "Specifies a coordinate of the north\u2013south position of a geographic point on the surface of the Earth (-90 - 90).", - "title": "Latitude", - "type": "string" - }, - "Longitude": { - "markdownDescription": "Specifies a coordinate of the east\u2013west position of a geographic point on the surface of the Earth (-180 - 180).", - "title": "Longitude", - "type": "string" - } - }, - "required": [ - "Latitude", - "Longitude" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53::RecordSetGroup.GeoLocation": { + "AWS::Route53::TrafficPolicyInstance": { "additionalProperties": false, "properties": { - "ContinentCode": { - "markdownDescription": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:\n\n- *AF* : Africa\n- *AN* : Antarctica\n- *AS* : Asia\n- *EU* : Europe\n- *OC* : Oceania\n- *NA* : North America\n- *SA* : South America\n\nConstraint: Specifying `ContinentCode` with either `CountryCode` or `SubdivisionCode` returns an `InvalidInput` error.", - "title": "ContinentCode", - "type": "string" - }, - "CountryCode": { - "markdownDescription": "For geolocation resource record sets, the two-letter code for a country.\n\nRoute 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .", - "title": "CountryCode", - "type": "string" - }, - "SubdivisionCode": { - "markdownDescription": "For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for `SubdivisionCode` . For a list of state abbreviations, see [Appendix B: Two\u2013Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.\n\nIf you specify `subdivisioncode` , you must also specify `US` for `CountryCode` .", - "title": "SubdivisionCode", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup.GeoProximityLocation": { - "additionalProperties": false, - "properties": { - "AWSRegion": { - "markdownDescription": "The AWS Region the resource you are directing DNS traffic to, is in.", - "title": "AWSRegion", - "type": "string" - }, - "Bias": { - "markdownDescription": "The bias increases or decreases the size of the geographic region from which Route\u00a053 routes traffic to a resource.\n\nTo use `Bias` to change the size of the geographic region, specify the applicable value for the bias:\n\n- To expand the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route\u00a053 shrinks the size of adjacent regions.\n- To shrink the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a negative bias of -1 to -99. Route\u00a053 expands the size of adjacent regions.", - "title": "Bias", - "type": "number" - }, - "Coordinates": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.Coordinates", - "markdownDescription": "Contains the longitude and latitude for a geographic region.", - "title": "Coordinates" - }, - "LocalZoneGroup": { - "markdownDescription": "Specifies an AWS Local Zone Group.\n\nA local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is `us-east-1-bue-1a` the Local Zone Group is `us-east-1-bue-1` .\n\nYou can identify the Local Zones Group for a specific Local Zone by using the [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html) CLI command:\n\nThis command returns: `\"GroupName\": \"us-west-2-den-1\"` , specifying that the Local Zone `us-west-2-den-1a` belongs to the Local Zone Group `us-west-2-den-1` .", - "title": "LocalZoneGroup", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup.RecordSet": { - "additionalProperties": false, - "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget", - "markdownDescription": "*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.\n\nIf you're creating resource records sets for a private hosted zone, note the following:\n\n- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.\n- For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .", - "title": "AliasTarget" - }, - "CidrRoutingConfig": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.CidrRoutingConfig", - "markdownDescription": "", - "title": "CidrRoutingConfig" - }, - "Failover": { - "markdownDescription": "*Failover resource record sets only:* To configure failover, you add the `Failover` element to two resource record sets. For one resource record set, you specify `PRIMARY` as the value for `Failover` ; for the other resource record set, you specify `SECONDARY` . In addition, you include the `HealthCheckId` element and specify the health check that you want Amazon Route 53 to perform for each resource record set.\n\nExcept where noted, the following failover behaviors assume that you have included the `HealthCheckId` element in both resource record sets:\n\n- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.\n- When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set.\n- When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.\n- If you omit the `HealthCheckId` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.\n\nYou can't create non-failover resource record sets that have the same values for the `Name` and `Type` elements as failover resource record sets.\n\nFor failover alias resource record sets, you must also include the `EvaluateTargetHealth` element and set the value to true.\n\nFor more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)", - "title": "Failover", - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation", - "markdownDescription": "*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of `192.0.2.111` , create a resource record set with a `Type` of `A` and a `ContinentCode` of `AF` .\n\nIf you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.\n\nYou can't create two geolocation resource record sets that specify the same geographic location.\n\nThe value `*` in the `CountryCode` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the `Name` and `Type` elements.\n\n> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of `CountryCode` is `*` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a `*` resource record set, Route 53 returns a \"no answer\" response for queries from those locations. \n\nYou can't create non-geolocation resource record sets that have the same values for the `Name` and `Type` elements as geolocation resource record sets.", - "title": "GeoLocation" - }, - "GeoProximityLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoProximityLocation", - "markdownDescription": "A complex type that contains information about a geographic location.", - "title": "GeoProximityLocation" - }, - "HealthCheckId": { - "markdownDescription": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the `HealthCheckId` element and specify the ID of the applicable health check.\n\nRoute 53 determines whether a resource record set is healthy based on one of the following:\n\n- By periodically sending a request to the endpoint that is specified in the health check\n- By aggregating the status of a specified group of health checks (calculated health checks)\n- By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)\n\n> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the `Value` element. When you add a `HealthCheckId` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. \n\nFor more information, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\n*When to Specify HealthCheckId*\n\nSpecifying a value for `HealthCheckId` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:\n\n- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.\n\nIf the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.\n\nIf the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.\n\nIf the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.\n- *Alias resource record sets* : You specify the following settings:\n\n- You set `EvaluateTargetHealth` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).\n- You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.\n- You specify a health check ID for the non-alias resource record set.\n\nIf the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.\n\nIf the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.\n\n> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.\n\n*Geolocation Routing*\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has `*` for `CountryCode` is `*` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:\n\n- The United States\n- North America\n- The default resource record set\n\n*Specifying the Health Check Endpoint by Domain Name*\n\nIf your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each `HTTP` server that is serving content for `www.example.com` . For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as `us-east-2-www.example.com` ), not the name of the resource record sets ( `www.example.com` ).\n\n> Health check results will be unpredictable if you do the following:\n> \n> - Create a health check that has the same value for `FullyQualifiedDomainName` as the name of a resource record set.\n> - Associate that health check with the resource record set.", - "title": "HealthCheckId", - "type": "string" - }, - "HostedZoneId": { - "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .\n\nDo not provide the `HostedZoneId` if it is already defined in `AWS::Route53::RecordSetGroup` . The creation fails if `HostedZoneId` is defined in both.", - "title": "HostedZoneId", + "Condition": { "type": "string" }, - "HostedZoneName": { - "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneName", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MultiValueAnswer": { - "markdownDescription": "*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify `true` for `MultiValueAnswer` . Note the following:\n\n- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.\n- If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.\n- Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records.\n- If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records.\n- When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.\n- If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.\n\nYou can't create multivalue answer alias records.", - "title": "MultiValueAnswer", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the record that you want to create, update, or delete.\n\nEnter a fully qualified domain name, for example, `www.example.com` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats `www.example.com` (without a trailing dot) and `www.example.com.` (with a trailing dot) as identical.\n\nFor information about how to specify characters other than `a-z` , `0-9` , and `-` (hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, `*.example.com` . Note the following:\n\n- The * must replace the entire label. For example, you can't specify `*prod.example.com` or `prod*.example.com` .\n- The * can't replace any of the middle labels, for example, marketing.*.example.com.\n- If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n\n> You can't use the * wildcard for resource records sets that have a type of NS.", - "title": "Name", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Region": { - "markdownDescription": "*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.\n\nNote the following:\n\n- You can only specify one `ResourceRecord` per latency resource record set.\n- You can only create one latency resource record set for each Amazon EC2 Region.\n- You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.\n- You can't create non-latency resource record sets that have the same values for the `Name` and `Type` elements as latency resource record sets.", - "title": "Region", - "type": "string" + "Metadata": { + "type": "object" }, - "ResourceRecords": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TTL": { + "type": "number" + }, + "TrafficPolicyId": { + "type": "string" + }, + "TrafficPolicyVersion": { + "type": "number" + } }, - "markdownDescription": "Information about the records that you want to create. Each record should be in the format appropriate for the record type specified by the `Type` property. For information about different record types and their record formats, see [Values That You Specify When You Create or Edit Amazon Route 53 Records](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values.html) in the *Amazon Route 53 Developer Guide* .", - "title": "ResourceRecords", - "type": "array" - }, - "SetIdentifier": { - "markdownDescription": "*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of `SetIdentifier` must be unique for each resource record set.\n\nFor information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .", - "title": "SetIdentifier", - "type": "string" - }, - "TTL": { - "markdownDescription": "The resource record cache time to live (TTL), in seconds. Note the following:\n\n- If you're creating or updating an alias resource record set, omit `TTL` . Amazon Route 53 uses the value of `TTL` for the alias target.\n- If you're associating this resource record set with a health check (if you're adding a `HealthCheckId` element), we recommend that you specify a `TTL` of 60 seconds or less so clients respond quickly to changes in health status.\n- All of the resource record sets in a group of weighted resource record sets must have the same value for `TTL` .\n- If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a `TTL` of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for `Weight` .", - "title": "TTL", - "type": "string" + "required": [ + "HostedZoneId", + "Name", + "TTL", + "TrafficPolicyId", + "TrafficPolicyVersion" + ], + "type": "object" }, "Type": { - "markdownDescription": "The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nValid values for basic resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `DS` | `MX` | `NAPTR` | `NS` | `PTR` | `SOA` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\nValues for weighted, latency, geolocation, and failover resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.\n\nValid values for multivalue answer resource record sets: `A` | `AAAA` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `CAA` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\n> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of `Type` is `SPF` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) . \n\nValues for alias resource record sets:\n\n- *Amazon API Gateway custom regional APIs and edge-optimized APIs:* `A`\n- *CloudFront distributions:* `A`\n\nIf IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of `A` and one with a value of `AAAA` .\n- *Amazon API Gateway environment that has a regionalized subdomain* : `A`\n- *ELB load balancers:* `A` | `AAAA`\n- *Amazon S3 buckets:* `A`\n- *Amazon Virtual Private Cloud interface VPC endpoints* `A`\n- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except `NS` and `SOA` .\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", - "title": "Type", + "enum": [ + "AWS::Route53::TrafficPolicyInstance" + ], "type": "string" }, - "Weight": { - "markdownDescription": "*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:\n\n- You must specify a value for the `Weight` element for every weighted resource record set.\n- You can only specify one `ResourceRecord` per weighted resource record set.\n- You can't create latency, failover, or geolocation resource record sets that have the same values for the `Name` and `Type` elements as weighted resource record sets.\n- You can create a maximum of 100 weighted resource record sets that have the same values for the `Name` and `Type` elements.\n- For weighted (but not weighted alias) resource record sets, if you set `Weight` to `0` for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set `Weight` to `0` for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.\n\nThe effect of setting `Weight` to `0` is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .", - "title": "Weight", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Name", - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -341353,6 +351943,18 @@ ], "type": "object" }, + "AWS::S3::Bucket.DefaultEventHold": { + "additionalProperties": false, + "properties": { + "Days": { + "type": "number" + }, + "Years": { + "type": "number" + } + }, + "type": "object" + }, "AWS::S3::Bucket.DefaultRetention": { "additionalProperties": false, "properties": { @@ -341361,6 +351963,9 @@ "title": "Days", "type": "number" }, + "DefaultEventHold": { + "$ref": "#/definitions/AWS::S3::Bucket.DefaultEventHold" + }, "Mode": { "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` .", "title": "Mode", @@ -351892,6 +362497,9 @@ "title": "KmsMasterKeyId", "type": "string" }, + "MaximumMessageSize": { + "type": "number" + }, "SignatureVersion": { "markdownDescription": "The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default, `SignatureVersion` is set to `1` .", "title": "SignatureVersion", @@ -356632,28 +367240,534 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessControlAttributes": { + "AccessControlAttributes": { + "items": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" + }, + "markdownDescription": "Lists the attributes that are configured for ABAC in the specified instance.", + "title": "AccessControlAttributes", + "type": "array" + }, + "InstanceArn": { + "markdownDescription": "The ARN of the instance under which the operation will be executed.", + "title": "InstanceArn", + "type": "string" + } + }, + "required": [ + "InstanceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::InstanceAccessControlAttributeConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The name of the attribute associated with your identities in your identity source. This is used to map a specified attribute in your identity source with an attribute in .", + "title": "Key", + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue", + "markdownDescription": "The value used for mapping a specified attribute to an identity source.", + "title": "Value" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { + "additionalProperties": false, + "properties": { + "Source": { + "items": { + "type": "string" + }, + "markdownDescription": "The identity source to use when mapping a specified attribute to .", + "title": "Source", + "type": "array" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::SSO::PermissionSet": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerManagedPolicyReferences": { + "items": { + "$ref": "#/definitions/AWS::SSO::PermissionSet.CustomerManagedPolicyReference" + }, + "markdownDescription": "Specifies the names and paths of the customer managed policies that you have attached to your permission set.", + "title": "CustomerManagedPolicyReferences", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the `PermissionSet` .", + "title": "Description", + "type": "string" + }, + "InlinePolicy": { + "markdownDescription": "The inline policy that is attached to the permission set.\n\n> For `Length Constraints` , if a valid ARN is provided for a permission set, it is possible for an empty inline policy to be returned.", + "title": "InlinePolicy", + "type": "object" + }, + "InstanceArn": { + "markdownDescription": "The ARN of the instance under which the operation will be executed. For more information about ARNs, see [Amazon Resource Names (ARNs) and AWS Service Namespaces](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) in the *AWS General Reference* .", + "title": "InstanceArn", + "type": "string" + }, + "ManagedPolicies": { + "items": { + "type": "string" + }, + "markdownDescription": "A structure that stores a list of managed policy ARNs that describe the associated AWS managed policy.", + "title": "ManagedPolicies", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the permission set.", + "title": "Name", + "type": "string" + }, + "PermissionsBoundary": { + "$ref": "#/definitions/AWS::SSO::PermissionSet.PermissionsBoundary", + "markdownDescription": "Specifies the configuration of the AWS managed or customer managed policy that you want to set as a permissions boundary. Specify either `CustomerManagedPolicyReference` to use the name and path of a customer managed policy, or `ManagedPolicyArn` to use the ARN of an AWS managed policy. A permissions boundary represents the maximum permissions that any policy can grant your role. For more information, see [Permissions boundaries for IAM entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM User Guide* .\n\n> Policies used as permissions boundaries don't provide permissions. You must also attach an IAM policy to the role. To learn how the effective permissions for a role are evaluated, see [IAM JSON policy evaluation logic](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) in the *IAM User Guide* .", + "title": "PermissionsBoundary" + }, + "RelayStateType": { + "markdownDescription": "Used to redirect users within the application during the federation authentication process.", + "title": "RelayStateType", + "type": "string" + }, + "SessionDuration": { + "markdownDescription": "The length of time that the application user sessions are valid for in the ISO-8601 standard.", + "title": "SessionDuration", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to attach to the new `PermissionSet` .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "InstanceArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::PermissionSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSO::PermissionSet.CustomerManagedPolicyReference": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the IAM policy that you have configured in each account where you want to deploy your permission set.", + "title": "Name", + "type": "string" + }, + "Path": { + "markdownDescription": "The path to the IAM policy that you have configured in each account where you want to deploy your permission set. The default is `/` . For more information, see [Friendly names and paths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) in the *IAM User Guide* .", + "title": "Path", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::SSO::PermissionSet.PermissionsBoundary": { + "additionalProperties": false, + "properties": { + "CustomerManagedPolicyReference": { + "$ref": "#/definitions/AWS::SSO::PermissionSet.CustomerManagedPolicyReference", + "markdownDescription": "Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each AWS account where you want to deploy your permission set.", + "title": "CustomerManagedPolicyReference" + }, + "ManagedPolicyArn": { + "markdownDescription": "The AWS managed policy ARN that you want to attach to a permission set as a permissions boundary.", + "title": "ManagedPolicyArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SWF::Domain": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SWF::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AIBenchmarkJobName": { + "type": "string" + }, + "AIWorkloadConfigIdentifier": { + "type": "string" + }, + "BenchmarkTarget": { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob.AIBenchmarkTarget" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob.AIBenchmarkNetworkConfig" + }, + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob.AIBenchmarkOutputConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AIBenchmarkJobName", + "AIWorkloadConfigIdentifier", + "BenchmarkTarget", + "OutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::AIBenchmarkJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob.AIBenchmarkEndpoint": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "InferenceComponents": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob.AIBenchmarkInferenceComponent" + }, + "type": "array" + }, + "TargetContainerHostname": { + "type": "string" + } + }, + "required": [ + "Identifier" + ], + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob.AIBenchmarkInferenceComponent": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + } + }, + "required": [ + "Identifier" + ], + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob.AIBenchmarkNetworkConfig": { + "additionalProperties": false, + "properties": { + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob.AIBenchmarkOutputConfig": { + "additionalProperties": false, + "properties": { + "S3OutputLocation": { + "type": "string" + } + }, + "required": [ + "S3OutputLocation" + ], + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob.AIBenchmarkTarget": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob.AIBenchmarkEndpoint" + } + }, + "required": [ + "Endpoint" + ], + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::AIWorkloadConfig": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AIWorkloadConfigName": { + "type": "string" + }, + "AIWorkloadConfigs": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIWorkloadConfigs" + }, + "DatasetConfig": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIDatasetConfig" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "Lists the attributes that are configured for ABAC in the specified instance.", - "title": "AccessControlAttributes", "type": "array" - }, - "InstanceArn": { - "markdownDescription": "The ARN of the instance under which the operation will be executed.", - "title": "InstanceArn", - "type": "string" } }, "required": [ - "InstanceArn" + "AIWorkloadConfigName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::InstanceAccessControlAttributeConfiguration" + "AWS::SageMaker::AIWorkloadConfig" ], "type": "string" }, @@ -356672,198 +367786,80 @@ ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { + "AWS::SageMaker::AIWorkloadConfig.AIDatasetConfig": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The name of the attribute associated with your identities in your identity source. This is used to map a specified attribute in your identity source with an attribute in .", - "title": "Key", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue", - "markdownDescription": "The value used for mapping a specified attribute to an identity source.", - "title": "Value" + "InputDataConfig": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIWorkloadInputDataConfig" + }, + "type": "array" } }, "required": [ - "Key", - "Value" + "InputDataConfig" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadConfigs": { "additionalProperties": false, "properties": { - "Source": { - "items": { - "type": "string" - }, - "markdownDescription": "The identity source to use when mapping a specified attribute to .", - "title": "Source", - "type": "array" + "WorkloadSpec": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.WorkloadSpec" } }, "required": [ - "Source" + "WorkloadSpec" ], "type": "object" }, - "AWS::SSO::PermissionSet": { + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadDataSource": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerManagedPolicyReferences": { - "items": { - "$ref": "#/definitions/AWS::SSO::PermissionSet.CustomerManagedPolicyReference" - }, - "markdownDescription": "Specifies the names and paths of the customer managed policies that you have attached to your permission set.", - "title": "CustomerManagedPolicyReferences", - "type": "array" - }, - "Description": { - "markdownDescription": "The description of the `PermissionSet` .", - "title": "Description", - "type": "string" - }, - "InlinePolicy": { - "markdownDescription": "The inline policy that is attached to the permission set.\n\n> For `Length Constraints` , if a valid ARN is provided for a permission set, it is possible for an empty inline policy to be returned.", - "title": "InlinePolicy", - "type": "object" - }, - "InstanceArn": { - "markdownDescription": "The ARN of the instance under which the operation will be executed. For more information about ARNs, see [Amazon Resource Names (ARNs) and AWS Service Namespaces](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) in the *AWS General Reference* .", - "title": "InstanceArn", - "type": "string" - }, - "ManagedPolicies": { - "items": { - "type": "string" - }, - "markdownDescription": "A structure that stores a list of managed policy ARNs that describe the associated AWS managed policy.", - "title": "ManagedPolicies", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the permission set.", - "title": "Name", - "type": "string" - }, - "PermissionsBoundary": { - "$ref": "#/definitions/AWS::SSO::PermissionSet.PermissionsBoundary", - "markdownDescription": "Specifies the configuration of the AWS managed or customer managed policy that you want to set as a permissions boundary. Specify either `CustomerManagedPolicyReference` to use the name and path of a customer managed policy, or `ManagedPolicyArn` to use the ARN of an AWS managed policy. A permissions boundary represents the maximum permissions that any policy can grant your role. For more information, see [Permissions boundaries for IAM entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM User Guide* .\n\n> Policies used as permissions boundaries don't provide permissions. You must also attach an IAM policy to the role. To learn how the effective permissions for a role are evaluated, see [IAM JSON policy evaluation logic](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) in the *IAM User Guide* .", - "title": "PermissionsBoundary" - }, - "RelayStateType": { - "markdownDescription": "Used to redirect users within the application during the federation authentication process.", - "title": "RelayStateType", - "type": "string" - }, - "SessionDuration": { - "markdownDescription": "The length of time that the application user sessions are valid for in the ISO-8601 standard.", - "title": "SessionDuration", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to attach to the new `PermissionSet` .", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "InstanceArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::PermissionSet" - ], + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIWorkloadS3DataSource" + } + }, + "type": "object" + }, + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadInputDataConfig": { + "additionalProperties": false, + "properties": { + "ChannelName": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "DataSource": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIWorkloadDataSource" } }, "required": [ - "Type", - "Properties" + "ChannelName", + "DataSource" ], "type": "object" }, - "AWS::SSO::PermissionSet.CustomerManagedPolicyReference": { + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadS3DataSource": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the IAM policy that you have configured in each account where you want to deploy your permission set.", - "title": "Name", - "type": "string" - }, - "Path": { - "markdownDescription": "The path to the IAM policy that you have configured in each account where you want to deploy your permission set. The default is `/` . For more information, see [Friendly names and paths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) in the *IAM User Guide* .", - "title": "Path", + "S3Uri": { "type": "string" } }, "required": [ - "Name" + "S3Uri" ], "type": "object" }, - "AWS::SSO::PermissionSet.PermissionsBoundary": { + "AWS::SageMaker::AIWorkloadConfig.WorkloadSpec": { "additionalProperties": false, "properties": { - "CustomerManagedPolicyReference": { - "$ref": "#/definitions/AWS::SSO::PermissionSet.CustomerManagedPolicyReference", - "markdownDescription": "Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each AWS account where you want to deploy your permission set.", - "title": "CustomerManagedPolicyReference" - }, - "ManagedPolicyArn": { - "markdownDescription": "The AWS managed policy ARN that you want to attach to a permission set as a permissions boundary.", - "title": "ManagedPolicyArn", + "Inline": { "type": "string" } }, + "required": [ + "Inline" + ], "type": "object" }, "AWS::SageMaker::Action": { @@ -357919,30 +368915,33 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoMLJobConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobConfig" + "AutoMLComputeConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLComputeConfig" + }, + "AutoMLJobInputDataConfig": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobChannel" + }, + "type": "array" }, "AutoMLJobObjective": { "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobObjective" }, - "GenerateCandidateDefinitionsOnly": { - "type": "boolean" + "AutoMLProblemTypeConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLProblemTypeConfig" }, - "InputDataConfig": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLChannel" - }, - "type": "array" + "DataSplitConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig" }, "OutputDataConfig": { "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLOutputDataConfig" }, - "ProblemType": { - "type": "string" - }, "RoleArn": { "type": "string" }, + "SecurityConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -357987,43 +368986,13 @@ ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLCandidateGenerationConfig": { + "AWS::SageMaker::AutoMLJob.AutoMLComputeConfig": { "additionalProperties": false, "properties": { - "AlgorithmsConfig": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLAlgorithmConfig" - }, - "type": "array" - }, - "FeatureSpecificationS3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLChannel": { - "additionalProperties": false, - "properties": { - "ChannelType": { - "type": "string" - }, - "CompressionType": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "DataSource": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSource" - }, - "TargetAttributeName": { - "type": "string" + "EmrServerlessComputeConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.EmrServerlessComputeConfig" } }, - "required": [ - "TargetAttributeName" - ], "type": "object" }, "AWS::SageMaker::AutoMLJob.AutoMLDataSource": { @@ -358047,38 +369016,35 @@ }, "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria": { + "AWS::SageMaker::AutoMLJob.AutoMLJobChannel": { "additionalProperties": false, "properties": { - "MaxAutoMLJobRuntimeInSeconds": { - "type": "number" + "ChannelType": { + "type": "string" }, - "MaxCandidates": { - "type": "number" + "CompressionType": { + "type": "string" }, - "MaxRuntimePerTrainingJobInSeconds": { - "type": "number" + "ContentType": { + "type": "string" + }, + "DataSource": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSource" } }, "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLJobConfig": { + "AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria": { "additionalProperties": false, "properties": { - "CandidateGenerationConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLCandidateGenerationConfig" - }, - "CompletionCriteria": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" - }, - "DataSplitConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig" + "MaxAutoMLJobRuntimeInSeconds": { + "type": "number" }, - "Mode": { - "type": "string" + "MaxCandidates": { + "type": "number" }, - "SecurityConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig" + "MaxRuntimePerTrainingJobInSeconds": { + "type": "number" } }, "type": "object" @@ -358110,6 +369076,27 @@ ], "type": "object" }, + "AWS::SageMaker::AutoMLJob.AutoMLProblemTypeConfig": { + "additionalProperties": false, + "properties": { + "ImageClassificationJobConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.ImageClassificationJobConfig" + }, + "TabularJobConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.TabularJobConfig" + }, + "TextClassificationJobConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.TextClassificationJobConfig" + }, + "TextGenerationJobConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.TextGenerationJobConfig" + }, + "TimeSeriesForecastingJobConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.TimeSeriesForecastingJobConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::AutoMLJob.AutoMLS3DataSource": { "additionalProperties": false, "properties": { @@ -358141,6 +369128,224 @@ }, "type": "object" }, + "AWS::SageMaker::AutoMLJob.CandidateGenerationConfig": { + "additionalProperties": false, + "properties": { + "AlgorithmsConfig": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLAlgorithmConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.EmrServerlessComputeConfig": { + "additionalProperties": false, + "properties": { + "ExecutionRoleARN": { + "type": "string" + } + }, + "required": [ + "ExecutionRoleARN" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.HolidayConfigAttributes": { + "additionalProperties": false, + "properties": { + "CountryCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.ImageClassificationJobConfig": { + "additionalProperties": false, + "properties": { + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.ModelAccessConfig": { + "additionalProperties": false, + "properties": { + "AcceptEula": { + "type": "boolean" + } + }, + "required": [ + "AcceptEula" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.TabularJobConfig": { + "additionalProperties": false, + "properties": { + "CandidateGenerationConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.CandidateGenerationConfig" + }, + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + }, + "FeatureSpecificationS3Uri": { + "type": "string" + }, + "GenerateCandidateDefinitionsOnly": { + "type": "boolean" + }, + "Mode": { + "type": "string" + }, + "ProblemType": { + "type": "string" + }, + "SampleWeightAttributeName": { + "type": "string" + }, + "TargetAttributeName": { + "type": "string" + } + }, + "required": [ + "TargetAttributeName" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.TextClassificationJobConfig": { + "additionalProperties": false, + "properties": { + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + }, + "ContentColumn": { + "type": "string" + }, + "TargetLabelColumn": { + "type": "string" + } + }, + "required": [ + "ContentColumn", + "TargetLabelColumn" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.TextGenerationJobConfig": { + "additionalProperties": false, + "properties": { + "BaseModelName": { + "type": "string" + }, + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + }, + "ModelAccessConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.ModelAccessConfig" + }, + "TextGenerationHyperParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.TimeSeriesConfig": { + "additionalProperties": false, + "properties": { + "GroupingAttributeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ItemIdentifierAttributeName": { + "type": "string" + }, + "TargetAttributeName": { + "type": "string" + }, + "TimestampAttributeName": { + "type": "string" + } + }, + "required": [ + "ItemIdentifierAttributeName", + "TargetAttributeName", + "TimestampAttributeName" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.TimeSeriesForecastingJobConfig": { + "additionalProperties": false, + "properties": { + "CandidateGenerationConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.CandidateGenerationConfig" + }, + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + }, + "FeatureSpecificationS3Uri": { + "type": "string" + }, + "ForecastFrequency": { + "type": "string" + }, + "ForecastHorizon": { + "type": "number" + }, + "ForecastQuantiles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "HolidayConfig": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.HolidayConfigAttributes" + }, + "type": "array" + }, + "TimeSeriesConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.TimeSeriesConfig" + }, + "Transformations": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.TimeSeriesTransformations" + } + }, + "required": [ + "ForecastFrequency", + "ForecastHorizon", + "TimeSeriesConfig" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.TimeSeriesTransformations": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Filling": { + "type": "object" + } + }, + "type": "object" + }, "AWS::SageMaker::AutoMLJob.VpcConfig": { "additionalProperties": false, "properties": { @@ -358340,6 +369545,28 @@ ], "type": "object" }, + "AWS::SageMaker::Cluster.ClusterAccountingDatabase": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "SecretArn" + ], + "type": "object" + }, "AWS::SageMaker::Cluster.ClusterAutoScalingConfig": { "additionalProperties": false, "properties": { @@ -358654,6 +369881,9 @@ "AWS::SageMaker::Cluster.ClusterOrchestratorSlurmConfig": { "additionalProperties": false, "properties": { + "AccountingDatabase": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterAccountingDatabase" + }, "SlurmConfigStrategy": { "type": "string" } @@ -360846,6 +372076,11 @@ "title": "EndpointConfigName", "type": "string" }, + "EndpointName": { + "markdownDescription": "The name of the endpoint. The name must be unique within an AWS Region in your AWS account. The name is case-insensitive in `CreateEndpoint` , but the case is preserved and must be matched in [](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html) .", + "title": "EndpointName", + "type": "string" + }, "ExcludeRetainedVariantProperties": { "items": { "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" @@ -363432,6 +374667,12 @@ "markdownDescription": "", "title": "Specification" }, + "Specifications": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecificationForInstanceType" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -363447,8 +374688,7 @@ } }, "required": [ - "EndpointName", - "Specification" + "EndpointName" ], "type": "object" }, @@ -363504,6 +374744,21 @@ ], "type": "object" }, + "AWS::SageMaker::InferenceComponent.ContainerMetricsConfig": { + "additionalProperties": false, + "properties": { + "MetricsEndpoints": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.MetricsEndpoint" + }, + "type": "array" + } + }, + "required": [ + "MetricsEndpoints" + ], + "type": "object" + }, "AWS::SageMaker::InferenceComponent.DeployedImage": { "additionalProperties": false, "properties": { @@ -363525,6 +374780,21 @@ }, "type": "object" }, + "AWS::SageMaker::InferenceComponent.InferenceComponentAvailabilityZoneBalance": { + "additionalProperties": false, + "properties": { + "EnforcementMode": { + "type": "string" + }, + "MaxImbalance": { + "type": "number" + } + }, + "required": [ + "EnforcementMode" + ], + "type": "object" + }, "AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize": { "additionalProperties": false, "properties": { @@ -363579,6 +374849,9 @@ "title": "ArtifactUrl", "type": "string" }, + "ContainerMetricsConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.ContainerMetricsConfig" + }, "DeployedImage": { "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage", "markdownDescription": "", @@ -363603,6 +374876,42 @@ }, "type": "object" }, + "AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecificationForInstanceType": { + "additionalProperties": false, + "properties": { + "ArtifactUrl": { + "type": "string" + }, + "ContainerMetricsConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.ContainerMetricsConfig" + }, + "Environment": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentDataCacheConfig": { + "additionalProperties": false, + "properties": { + "EnableCaching": { + "type": "boolean" + } + }, + "required": [ + "EnableCaching" + ], + "type": "object" + }, "AWS::SageMaker::InferenceComponent.InferenceComponentDeploymentConfig": { "additionalProperties": false, "properties": { @@ -363619,6 +374928,22 @@ }, "type": "object" }, + "AWS::SageMaker::InferenceComponent.InferenceComponentPlacementStatus": { + "additionalProperties": false, + "properties": { + "CurrentCopyCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "CurrentCopyCount", + "InstanceType" + ], + "type": "object" + }, "AWS::SageMaker::InferenceComponent.InferenceComponentRollingUpdatePolicy": { "additionalProperties": false, "properties": { @@ -363662,10 +374987,32 @@ "markdownDescription": "", "title": "DesiredCopyCount", "type": "number" + }, + "PlacementStatus": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentPlacementStatus" + }, + "type": "array" } }, "type": "object" }, + "AWS::SageMaker::InferenceComponent.InferenceComponentSchedulingConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneBalance": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentAvailabilityZoneBalance" + }, + "PlacementStrategy": { + "type": "string" + } + }, + "required": [ + "AvailabilityZoneBalance", + "PlacementStrategy" + ], + "type": "object" + }, "AWS::SageMaker::InferenceComponent.InferenceComponentSpecification": { "additionalProperties": false, "properties": { @@ -363684,11 +375031,20 @@ "markdownDescription": "Defines a container that provides the runtime environment for a model that you deploy with an inference component.", "title": "Container" }, + "CurrentDataCacheConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentDataCacheConfig" + }, + "DataCacheConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentDataCacheConfig" + }, "ModelName": { "markdownDescription": "The name of an existing SageMaker AI model object in your account that you want to deploy with the inference component.", "title": "ModelName", "type": "string" }, + "SchedulingConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSchedulingConfig" + }, "StartupParameters": { "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters", "markdownDescription": "Settings that take effect while the model container starts up.", @@ -363697,6 +375053,39 @@ }, "type": "object" }, + "AWS::SageMaker::InferenceComponent.InferenceComponentSpecificationForInstanceType": { + "additionalProperties": false, + "properties": { + "ComputeResourceRequirements": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements" + }, + "Container": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecificationForInstanceType" + }, + "CurrentDataCacheConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentDataCacheConfig" + }, + "DataCacheConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentDataCacheConfig" + }, + "InstanceType": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "SchedulingConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSchedulingConfig" + }, + "StartupParameters": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, "AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters": { "additionalProperties": false, "properties": { @@ -363713,6 +375102,21 @@ }, "type": "object" }, + "AWS::SageMaker::InferenceComponent.MetricsEndpoint": { + "additionalProperties": false, + "properties": { + "MetricPublishFrequencyInSeconds": { + "type": "number" + }, + "MetricsEndpointPath": { + "type": "string" + } + }, + "required": [ + "MetricsEndpointPath" + ], + "type": "object" + }, "AWS::SageMaker::InferenceExperiment": { "additionalProperties": false, "properties": { @@ -368944,14 +380348,6 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of Amazon Elastic Inference (EI) instance types to associate with the notebook instance. Currently, only one instance type can be associated with a notebook instance. For more information, see [Using Elastic Inference in Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html) .\n\n*Valid Values:* `ml.eia1.medium | ml.eia1.large | ml.eia1.xlarge | ml.eia2.medium | ml.eia2.large | ml.eia2.xlarge` .", - "title": "AcceleratorTypes", - "type": "array" - }, "AdditionalCodeRepositories": { "items": { "type": "string" @@ -375198,6 +386594,12 @@ "$ref": "#/definitions/AWS::SecurityAgent::Pentest.SourceCodeRepository" }, "type": "array" + }, + "TrustedCaCertificates": { + "items": { + "$ref": "#/definitions/AWS::SecurityAgent::Pentest.TrustedCaCertificate" + }, + "type": "array" } }, "type": "object" @@ -375214,6 +386616,21 @@ }, "type": "object" }, + "AWS::SecurityAgent::Pentest.CaCertificateSource": { + "additionalProperties": false, + "properties": { + "ArtifactId": { + "type": "string" + }, + "InlinePem": { + "type": "string" + }, + "S3Location": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SecurityAgent::Pentest.CloudWatchLog": { "additionalProperties": false, "properties": { @@ -375320,6 +386737,18 @@ }, "type": "object" }, + "AWS::SecurityAgent::Pentest.TrustedCaCertificate": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/AWS::SecurityAgent::Pentest.CaCertificateSource" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, "AWS::SecurityAgent::Pentest.VpcConfig": { "additionalProperties": false, "properties": { @@ -377741,6 +389170,9 @@ "Properties": { "additionalProperties": false, "properties": { + "NetworkScanning": { + "$ref": "#/definitions/AWS::SecurityHub::HubV2.NetworkScanning" + }, "Tags": { "additionalProperties": true, "markdownDescription": "The tags to add to the hub V2 resource when you enable Security Hub CSPM.", @@ -377775,6 +389207,18 @@ ], "type": "object" }, + "AWS::SecurityHub::HubV2.NetworkScanning": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::SecurityHub::Insight": { "additionalProperties": false, "properties": { @@ -384241,6 +395685,366 @@ ], "type": "object" }, + "AWS::StorageGateway::CacheReport": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExclusionFilters": { + "items": { + "$ref": "#/definitions/AWS::StorageGateway::CacheReport.CacheReportFilter" + }, + "type": "array" + }, + "FileShareARN": { + "type": "string" + }, + "InclusionFilters": { + "items": { + "$ref": "#/definitions/AWS::StorageGateway::CacheReport.CacheReportFilter" + }, + "type": "array" + }, + "LocationARN": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FileShareARN", + "LocationARN", + "Role" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StorageGateway::CacheReport" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::StorageGateway::CacheReport.CacheReportFilter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::StorageGateway::Device": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StorageGateway::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::StorageGateway::Device.DeviceiSCSIAttributes": { + "additionalProperties": false, + "properties": { + "ChapEnabled": { + "type": "boolean" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkInterfacePort": { + "type": "number" + }, + "TargetARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::StorageGateway::Gateway": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayName": { + "type": "string" + }, + "GatewayRegion": { + "type": "string" + }, + "GatewayTimezone": { + "type": "string" + }, + "GatewayType": { + "type": "string" + } + }, + "required": [ + "GatewayName", + "GatewayRegion", + "GatewayTimezone" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StorageGateway::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::StorageGateway::Gateway.NetworkInterface": { + "additionalProperties": false, + "properties": { + "Ipv4Address": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::StorageGateway::Tape": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayARN": { + "type": "string" + }, + "KMSEncrypted": { + "type": "boolean" + }, + "KMSKey": { + "type": "string" + }, + "PoolId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TapeBarcode": { + "type": "string" + }, + "TapeSizeInBytes": { + "type": "number" + }, + "Worm": { + "type": "boolean" + } + }, + "required": [ + "GatewayARN", + "TapeSizeInBytes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StorageGateway::Tape" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::StorageGateway::TapePool": { "additionalProperties": false, "properties": { @@ -386079,6 +397883,536 @@ ], "type": "object" }, + "AWS::Timestream::InfluxDBParameterGroup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Parameters" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.TagsItems" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Timestream::InfluxDBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.Duration": { + "additionalProperties": false, + "properties": { + "DurationType": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "DurationType", + "Value" + ], + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.InfluxDBv2Parameters": { + "additionalProperties": false, + "properties": { + "FluxLogEnabled": { + "type": "boolean" + }, + "HttpIdleTimeout": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "HttpReadHeaderTimeout": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "HttpReadTimeout": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "HttpWriteTimeout": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "InfluxqlMaxSelectBuckets": { + "type": "number" + }, + "InfluxqlMaxSelectPoint": { + "type": "number" + }, + "InfluxqlMaxSelectSeries": { + "type": "number" + }, + "LogLevel": { + "type": "string" + }, + "MetricsDisabled": { + "type": "boolean" + }, + "NoTasks": { + "type": "boolean" + }, + "PprofDisabled": { + "type": "boolean" + }, + "QueryConcurrency": { + "type": "number" + }, + "QueryInitialMemoryBytes": { + "type": "number" + }, + "QueryMaxMemoryBytes": { + "type": "number" + }, + "QueryMemoryBytes": { + "type": "number" + }, + "QueryQueueSize": { + "type": "number" + }, + "SessionLength": { + "type": "number" + }, + "SessionRenewDisabled": { + "type": "boolean" + }, + "StorageCacheMaxMemorySize": { + "type": "number" + }, + "StorageCacheSnapshotMemorySize": { + "type": "number" + }, + "StorageCacheSnapshotWriteColdDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "StorageCompactFullWriteColdDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "StorageCompactThroughputBurst": { + "type": "number" + }, + "StorageMaxConcurrentCompactions": { + "type": "number" + }, + "StorageMaxIndexLogFileSize": { + "type": "number" + }, + "StorageNoValidateFieldSize": { + "type": "boolean" + }, + "StorageRetentionCheckInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "StorageSeriesFileMaxConcurrentSnapshotCompactions": { + "type": "number" + }, + "StorageSeriesIdSetCacheSize": { + "type": "number" + }, + "StorageWalMaxConcurrentWrites": { + "type": "number" + }, + "StorageWalMaxWriteDelay": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "TracingType": { + "type": "string" + }, + "UiDisabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.InfluxDBv3CoreParameters": { + "additionalProperties": false, + "properties": { + "DataFusionConfig": { + "type": "string" + }, + "DataFusionMaxParquetFanout": { + "type": "number" + }, + "DataFusionNumThreads": { + "type": "number" + }, + "DataFusionRuntimeDisableLifoSlot": { + "type": "boolean" + }, + "DataFusionRuntimeEventInterval": { + "type": "number" + }, + "DataFusionRuntimeGlobalQueueInterval": { + "type": "number" + }, + "DataFusionRuntimeMaxBlockingThreads": { + "type": "number" + }, + "DataFusionRuntimeMaxIoEventsPerTick": { + "type": "number" + }, + "DataFusionRuntimeThreadKeepAlive": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "DataFusionRuntimeThreadPriority": { + "type": "number" + }, + "DataFusionRuntimeType": { + "type": "string" + }, + "DataFusionUseCachedParquetLoader": { + "type": "boolean" + }, + "DeleteGracePeriod": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "DisableParquetMemCache": { + "type": "boolean" + }, + "DistinctCacheEvictionInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "ExecMemPoolBytes": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong" + }, + "ForceSnapshotMemThreshold": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong" + }, + "Gen1Duration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "Gen1LookbackDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "HardDeleteDefaultDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "LastCacheEvictionInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "LogFilter": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "MaxHttpRequestSize": { + "type": "number" + }, + "ParquetMemCachePruneInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "ParquetMemCachePrunePercentage": { + "type": "number" + }, + "ParquetMemCacheQueryPathDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "ParquetMemCacheSize": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong" + }, + "PreemptiveCacheAge": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "QueryFileLimit": { + "type": "number" + }, + "QueryLogSize": { + "type": "number" + }, + "RetentionCheckInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "SnapshottedWalFilesToKeep": { + "type": "number" + }, + "TableIndexCacheConcurrencyLimit": { + "type": "number" + }, + "TableIndexCacheMaxEntries": { + "type": "number" + }, + "WalMaxWriteBufferSize": { + "type": "number" + }, + "WalReplayConcurrencyLimit": { + "type": "number" + }, + "WalReplayFailOnError": { + "type": "boolean" + }, + "WalSnapshotSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.InfluxDBv3EnterpriseParameters": { + "additionalProperties": false, + "properties": { + "CatalogSyncInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "CompactionCheckInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "CompactionCleanupWait": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "CompactionGen2Duration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "CompactionMaxNumFilesPerPlan": { + "type": "number" + }, + "CompactionMultipliers": { + "type": "string" + }, + "CompactionRowLimit": { + "type": "number" + }, + "DataFusionConfig": { + "type": "string" + }, + "DataFusionMaxParquetFanout": { + "type": "number" + }, + "DataFusionNumThreads": { + "type": "number" + }, + "DataFusionRuntimeDisableLifoSlot": { + "type": "boolean" + }, + "DataFusionRuntimeEventInterval": { + "type": "number" + }, + "DataFusionRuntimeGlobalQueueInterval": { + "type": "number" + }, + "DataFusionRuntimeMaxBlockingThreads": { + "type": "number" + }, + "DataFusionRuntimeMaxIoEventsPerTick": { + "type": "number" + }, + "DataFusionRuntimeThreadKeepAlive": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "DataFusionRuntimeThreadPriority": { + "type": "number" + }, + "DataFusionRuntimeType": { + "type": "string" + }, + "DataFusionUseCachedParquetLoader": { + "type": "boolean" + }, + "DedicatedCompactor": { + "type": "boolean" + }, + "DeleteGracePeriod": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "DisableParquetMemCache": { + "type": "boolean" + }, + "DistinctCacheEvictionInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "DistinctValueCacheDisableFromHistory": { + "type": "boolean" + }, + "ExecMemPoolBytes": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong" + }, + "ForceSnapshotMemThreshold": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong" + }, + "Gen1Duration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "Gen1LookbackDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "HardDeleteDefaultDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "IngestQueryInstances": { + "type": "number" + }, + "LastCacheEvictionInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "LastValueCacheDisableFromHistory": { + "type": "boolean" + }, + "LogFilter": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "MaxHttpRequestSize": { + "type": "number" + }, + "ParquetMemCachePruneInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "ParquetMemCachePrunePercentage": { + "type": "number" + }, + "ParquetMemCacheQueryPathDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "ParquetMemCacheSize": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong" + }, + "PreemptiveCacheAge": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "QueryFileLimit": { + "type": "number" + }, + "QueryLogSize": { + "type": "number" + }, + "QueryOnlyInstances": { + "type": "number" + }, + "ReplicationInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "RetentionCheckInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "SnapshottedWalFilesToKeep": { + "type": "number" + }, + "TableIndexCacheConcurrencyLimit": { + "type": "number" + }, + "TableIndexCacheMaxEntries": { + "type": "number" + }, + "WalMaxWriteBufferSize": { + "type": "number" + }, + "WalReplayConcurrencyLimit": { + "type": "number" + }, + "WalReplayFailOnError": { + "type": "boolean" + }, + "WalSnapshotSize": { + "type": "number" + } + }, + "required": [ + "DedicatedCompactor", + "IngestQueryInstances", + "QueryOnlyInstances" + ], + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.Parameters": { + "additionalProperties": false, + "properties": { + "InfluxDBv2": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.InfluxDBv2Parameters" + }, + "InfluxDBv3Core": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.InfluxDBv3CoreParameters" + }, + "InfluxDBv3Enterprise": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.InfluxDBv3EnterpriseParameters" + } + }, + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong": { + "additionalProperties": false, + "properties": { + "Absolute": { + "type": "number" + }, + "Percent": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, "AWS::Timestream::ScheduledQuery": { "additionalProperties": false, "properties": { @@ -386658,6 +398992,238 @@ }, "type": "object" }, + "AWS::Transcribe::CallAnalyticsCategory": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CategoryName": { + "type": "string" + }, + "InputType": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.Rule" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CategoryName", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transcribe::CallAnalyticsCategory" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.AbsoluteTimeRange": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "number" + }, + "First": { + "type": "number" + }, + "Last": { + "type": "number" + }, + "StartTime": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.InterruptionFilter": { + "additionalProperties": false, + "properties": { + "AbsoluteTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.AbsoluteTimeRange" + }, + "Negate": { + "type": "boolean" + }, + "ParticipantRole": { + "type": "string" + }, + "RelativeTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.RelativeTimeRange" + }, + "Threshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.NonTalkTimeFilter": { + "additionalProperties": false, + "properties": { + "AbsoluteTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.AbsoluteTimeRange" + }, + "Negate": { + "type": "boolean" + }, + "RelativeTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.RelativeTimeRange" + }, + "Threshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.RelativeTimeRange": { + "additionalProperties": false, + "properties": { + "EndPercentage": { + "type": "number" + }, + "First": { + "type": "number" + }, + "Last": { + "type": "number" + }, + "StartPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.Rule": { + "additionalProperties": false, + "properties": { + "InterruptionFilter": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.InterruptionFilter" + }, + "NonTalkTimeFilter": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.NonTalkTimeFilter" + }, + "SentimentFilter": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.SentimentFilter" + }, + "TranscriptFilter": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.TranscriptFilter" + } + }, + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.SentimentFilter": { + "additionalProperties": false, + "properties": { + "AbsoluteTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.AbsoluteTimeRange" + }, + "Negate": { + "type": "boolean" + }, + "ParticipantRole": { + "type": "string" + }, + "RelativeTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.RelativeTimeRange" + }, + "Sentiments": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Sentiments" + ], + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.TranscriptFilter": { + "additionalProperties": false, + "properties": { + "AbsoluteTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.AbsoluteTimeRange" + }, + "Negate": { + "type": "boolean" + }, + "ParticipantRole": { + "type": "string" + }, + "RelativeTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.RelativeTimeRange" + }, + "Targets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TranscriptFilterType": { + "type": "string" + } + }, + "required": [ + "Targets", + "TranscriptFilterType" + ], + "type": "object" + }, "AWS::Transcribe::CallAnalyticsJob": { "additionalProperties": false, "properties": { @@ -387234,6 +399800,93 @@ }, "type": "object" }, + "AWS::Transcribe::Vocabulary": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataAccessRoleArn": { + "type": "string" + }, + "LanguageCode": { + "type": "string" + }, + "Phrases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VocabularyFileUri": { + "type": "string" + }, + "VocabularyName": { + "type": "string" + } + }, + "required": [ + "LanguageCode", + "VocabularyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transcribe::Vocabulary" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Transcribe::VocabularyFilter": { "additionalProperties": false, "properties": { @@ -390699,88 +403352,205 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "AllowAssociationToSharableServiceNetwork": { - "markdownDescription": "Specifies whether the resource configuration can be associated with a sharable service network.", - "title": "AllowAssociationToSharableServiceNetwork", - "type": "boolean" - }, - "CustomDomainName": { - "markdownDescription": "The custom domain name.", - "title": "CustomDomainName", - "type": "string" - }, - "DomainVerificationId": { - "markdownDescription": "The domain verification ID.", - "title": "DomainVerificationId", - "type": "string" - }, - "GroupDomain": { - "markdownDescription": "(GROUP) The group domain for a group resource configuration. Any domains that you create for the child resource are subdomains of the group domain. Child resources inherit the verification status of the domain.", - "title": "GroupDomain", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the resource configuration.", - "title": "Name", - "type": "string" - }, - "PortRanges": { - "items": { - "type": "string" - }, - "markdownDescription": "(SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535). You can separate port ranges using commas (for example: 1,2,22-30).", - "title": "PortRanges", - "type": "array" - }, - "ProtocolType": { - "markdownDescription": "(SINGLE, GROUP) The protocol accepted by the resource configuration.", - "title": "ProtocolType", - "type": "string" - }, - "ResourceConfigurationAuthType": { - "markdownDescription": "The auth type for the resource configuration.", - "title": "ResourceConfigurationAuthType", - "type": "string" - }, - "ResourceConfigurationDefinition": { - "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration.ResourceConfigurationDefinition", - "markdownDescription": "Identifies the resource configuration in one of the following ways:\n\n- *Amazon Resource Name (ARN)* - Supported resource-types that are provisioned by AWS services, such as RDS databases, can be identified by their ARN.\n- *Domain name* - Any domain name that is publicly resolvable.\n- *IP address* - For IPv4 and IPv6, only IP addresses in the VPC are supported.", - "title": "ResourceConfigurationDefinition" - }, - "ResourceConfigurationGroupId": { - "markdownDescription": "The ID of the group resource configuration.", - "title": "ResourceConfigurationGroupId", - "type": "string" - }, - "ResourceConfigurationType": { - "markdownDescription": "The type of resource configuration. A resource configuration can be one of the following types:\n\n- *SINGLE* - A single resource.\n- *GROUP* - A group of resources. You must create a group resource configuration before you create a child resource configuration.\n- *CHILD* - A single resource that is part of a group resource configuration.\n- *ARN* - An AWS resource.", - "title": "ResourceConfigurationType", - "type": "string" - }, - "ResourceGatewayId": { - "markdownDescription": "The ID of the resource gateway.", - "title": "ResourceGatewayId", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for the resource configuration.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name", - "ResourceConfigurationType" - ], + "properties": { + "AllowAssociationToSharableServiceNetwork": { + "markdownDescription": "Specifies whether the resource configuration can be associated with a sharable service network.", + "title": "AllowAssociationToSharableServiceNetwork", + "type": "boolean" + }, + "CustomDomainName": { + "markdownDescription": "The custom domain name.", + "title": "CustomDomainName", + "type": "string" + }, + "DomainVerificationId": { + "markdownDescription": "The domain verification ID.", + "title": "DomainVerificationId", + "type": "string" + }, + "GroupDomain": { + "markdownDescription": "(GROUP) The group domain for a group resource configuration. Any domains that you create for the child resource are subdomains of the group domain. Child resources inherit the verification status of the domain.", + "title": "GroupDomain", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the resource configuration.", + "title": "Name", + "type": "string" + }, + "PortRanges": { + "items": { + "type": "string" + }, + "markdownDescription": "(SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535). You can separate port ranges using commas (for example: 1,2,22-30).", + "title": "PortRanges", + "type": "array" + }, + "ProtocolType": { + "markdownDescription": "(SINGLE, GROUP) The protocol accepted by the resource configuration.", + "title": "ProtocolType", + "type": "string" + }, + "ResourceConfigurationAuthType": { + "markdownDescription": "The auth type for the resource configuration.", + "title": "ResourceConfigurationAuthType", + "type": "string" + }, + "ResourceConfigurationDefinition": { + "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration.ResourceConfigurationDefinition", + "markdownDescription": "Identifies the resource configuration in one of the following ways:\n\n- *Amazon Resource Name (ARN)* - Supported resource-types that are provisioned by AWS services, such as RDS databases, can be identified by their ARN.\n- *Domain name* - Any domain name that is publicly resolvable.\n- *IP address* - For IPv4 and IPv6, only IP addresses in the VPC are supported.", + "title": "ResourceConfigurationDefinition" + }, + "ResourceConfigurationGroupId": { + "markdownDescription": "The ID of the group resource configuration.", + "title": "ResourceConfigurationGroupId", + "type": "string" + }, + "ResourceConfigurationType": { + "markdownDescription": "The type of resource configuration. A resource configuration can be one of the following types:\n\n- *SINGLE* - A single resource.\n- *GROUP* - A group of resources. You must create a group resource configuration before you create a child resource configuration.\n- *CHILD* - A single resource that is part of a group resource configuration.\n- *ARN* - An AWS resource.", + "title": "ResourceConfigurationType", + "type": "string" + }, + "ResourceGatewayId": { + "markdownDescription": "The ID of the resource gateway.", + "title": "ResourceGatewayId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the resource configuration.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name", + "ResourceConfigurationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::VpcLattice::ResourceConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::VpcLattice::ResourceConfiguration.CidrResource": { + "additionalProperties": false, + "properties": { + "CidrRanges": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CidrRanges" + ], + "type": "object" + }, + "AWS::VpcLattice::ResourceConfiguration.DnsResource": { + "additionalProperties": false, + "properties": { + "DomainName": { + "markdownDescription": "The domain name of the resource configuration.", + "title": "DomainName", + "type": "string" + }, + "IpAddressType": { + "markdownDescription": "The IP address type for the resource configuration. Dualstack is not currently supported.", + "title": "IpAddressType", + "type": "string" + } + }, + "required": [ + "DomainName", + "IpAddressType" + ], + "type": "object" + }, + "AWS::VpcLattice::ResourceConfiguration.ResourceConfigurationDefinition": { + "additionalProperties": false, + "properties": { + "ArnResource": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource configuration. For the ARN syntax and format, see [ARN format](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html#arns-syntax) in the *AWS Identity and Access Management user guide* .", + "title": "ArnResource", + "type": "string" + }, + "CidrResource": { + "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration.CidrResource" + }, + "DnsResource": { + "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration.DnsResource", + "markdownDescription": "The DNS name of the resource configuration.", + "title": "DnsResource" + }, + "IpResource": { + "markdownDescription": "The IP address of the resource configuration.", + "title": "IpResource", + "type": "string" + } + }, + "type": "object" + }, + "AWS::VpcLattice::ResourceEndpointAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::VpcLattice::ResourceConfiguration" + "AWS::VpcLattice::ResourceEndpointAssociation" ], "type": "string" }, @@ -390794,52 +403564,10 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::VpcLattice::ResourceConfiguration.DnsResource": { - "additionalProperties": false, - "properties": { - "DomainName": { - "markdownDescription": "The domain name of the resource configuration.", - "title": "DomainName", - "type": "string" - }, - "IpAddressType": { - "markdownDescription": "The IP address type for the resource configuration. Dualstack is not currently supported.", - "title": "IpAddressType", - "type": "string" - } - }, - "required": [ - "DomainName", - "IpAddressType" + "Type" ], "type": "object" }, - "AWS::VpcLattice::ResourceConfiguration.ResourceConfigurationDefinition": { - "additionalProperties": false, - "properties": { - "ArnResource": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource configuration. For the ARN syntax and format, see [ARN format](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html#arns-syntax) in the *AWS Identity and Access Management user guide* .", - "title": "ArnResource", - "type": "string" - }, - "DnsResource": { - "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration.DnsResource", - "markdownDescription": "The DNS name of the resource configuration.", - "title": "DnsResource" - }, - "IpResource": { - "markdownDescription": "The IP address of the resource configuration.", - "title": "IpResource", - "type": "string" - } - }, - "type": "object" - }, "AWS::VpcLattice::ResourceGateway": { "additionalProperties": false, "properties": { @@ -416001,6 +428729,9 @@ { "$ref": "#/definitions/AWS::AppConfig::ExperimentDefinition" }, + { + "$ref": "#/definitions/AWS::AppConfig::ExperimentRun" + }, { "$ref": "#/definitions/AWS::AppConfig::Extension" }, @@ -416163,6 +428894,9 @@ { "$ref": "#/definitions/AWS::ApplicationSignals::ServiceLevelObjective" }, + { + "$ref": "#/definitions/AWS::Artifact::ComplianceInquiry" + }, { "$ref": "#/definitions/AWS::Artifact::Report" }, @@ -416262,6 +428996,9 @@ { "$ref": "#/definitions/AWS::Backup::TieringConfiguration" }, + { + "$ref": "#/definitions/AWS::BackupGateway::Gateway" + }, { "$ref": "#/definitions/AWS::BackupGateway::Hypervisor" }, @@ -416331,6 +429068,9 @@ { "$ref": "#/definitions/AWS::Bedrock::EnforcedGuardrailConfiguration" }, + { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob" + }, { "$ref": "#/definitions/AWS::Bedrock::Flow" }, @@ -416499,6 +429239,9 @@ { "$ref": "#/definitions/AWS::Braket::Job" }, + { + "$ref": "#/definitions/AWS::Braket::QuantumTask" + }, { "$ref": "#/definitions/AWS::Braket::SpendingLimit" }, @@ -416586,6 +429329,33 @@ { "$ref": "#/definitions/AWS::Chime::ChannelFlow" }, + { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline" + }, + { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline" + }, + { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline" + }, + { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration" + }, + { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline" + }, + { + "$ref": "#/definitions/AWS::Chime::MediaPipelineKinesisVideoStreamPool" + }, + { + "$ref": "#/definitions/AWS::Chime::MediaStreamPipeline" + }, + { + "$ref": "#/definitions/AWS::Chime::SipMediaApplication" + }, + { + "$ref": "#/definitions/AWS::Chime::VoiceConnector" + }, { "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate" }, @@ -416613,12 +429383,27 @@ { "$ref": "#/definitions/AWS::CleanRooms::PrivacyBudgetTemplate" }, + { + "$ref": "#/definitions/AWS::CleanRoomsML::AudienceGenerationJob" + }, + { + "$ref": "#/definitions/AWS::CleanRoomsML::AudienceModel" + }, + { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredAudienceModel" + }, { "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm" }, { "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation" }, + { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel" + }, + { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob" + }, { "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset" }, @@ -416751,6 +429536,9 @@ { "$ref": "#/definitions/AWS::CloudHSM::Cluster" }, + { + "$ref": "#/definitions/AWS::CloudHSMV2::Backup" + }, { "$ref": "#/definitions/AWS::CloudTrail::Channel" }, @@ -416817,6 +429605,9 @@ { "$ref": "#/definitions/AWS::CodeBuild::Project" }, + { + "$ref": "#/definitions/AWS::CodeBuild::Report" + }, { "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" }, @@ -416937,6 +429728,9 @@ { "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier" }, + { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifierEndpoint" + }, { "$ref": "#/definitions/AWS::Comprehend::DominantLanguageDetectionJob" }, @@ -416949,6 +429743,9 @@ { "$ref": "#/definitions/AWS::Comprehend::FlywheelDataset" }, + { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob" + }, { "$ref": "#/definitions/AWS::Comprehend::SentimentDetectionJob" }, @@ -417198,6 +429995,12 @@ { "$ref": "#/definitions/AWS::DMS::ReplicationTask" }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationTaskAssessmentRun" + }, + { + "$ref": "#/definitions/AWS::DRS::LaunchConfigurationTemplate" + }, { "$ref": "#/definitions/AWS::DRS::RecoveryInstance" }, @@ -417375,6 +430178,9 @@ { "$ref": "#/definitions/AWS::Deadline::StorageProfile" }, + { + "$ref": "#/definitions/AWS::Deadline::Volume" + }, { "$ref": "#/definitions/AWS::Deadline::Worker" }, @@ -417463,7 +430269,7 @@ "$ref": "#/definitions/AWS::DocDBElastic::Cluster" }, { - "$ref": "#/definitions/AWS::DynamoDB::Backup" + "$ref": "#/definitions/AWS::DocDBElastic::ClusterSnapshot" }, { "$ref": "#/definitions/AWS::DynamoDB::Export" @@ -417477,6 +430283,9 @@ { "$ref": "#/definitions/AWS::DynamoDB::Table" }, + { + "$ref": "#/definitions/AWS::EC2::ApplicationStatusCheck" + }, { "$ref": "#/definitions/AWS::EC2::CapacityManagerDataExport" }, @@ -417885,6 +430694,9 @@ { "$ref": "#/definitions/AWS::ECS::Daemon" }, + { + "$ref": "#/definitions/AWS::ECS::DaemonDeployment" + }, { "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition" }, @@ -417897,6 +430709,12 @@ { "$ref": "#/definitions/AWS::ECS::Service" }, + { + "$ref": "#/definitions/AWS::ECS::ServiceDeployment" + }, + { + "$ref": "#/definitions/AWS::ECS::ServiceRevision" + }, { "$ref": "#/definitions/AWS::ECS::Task" }, @@ -417987,6 +430805,9 @@ { "$ref": "#/definitions/AWS::EMRServerless::JobRun" }, + { + "$ref": "#/definitions/AWS::EMRServerless::Session" + }, { "$ref": "#/definitions/AWS::EVS::Environment" }, @@ -418137,6 +430958,9 @@ { "$ref": "#/definitions/AWS::Evidently::Segment" }, + { + "$ref": "#/definitions/AWS::FIS::Action" + }, { "$ref": "#/definitions/AWS::FIS::Experiment" }, @@ -418149,18 +430973,30 @@ { "$ref": "#/definitions/AWS::FIS::TargetAccountConfiguration" }, + { + "$ref": "#/definitions/AWS::FMS::ApplicationsList" + }, { "$ref": "#/definitions/AWS::FMS::NotificationChannel" }, { "$ref": "#/definitions/AWS::FMS::Policy" }, + { + "$ref": "#/definitions/AWS::FMS::ProtocolsList" + }, { "$ref": "#/definitions/AWS::FMS::ResourceSet" }, + { + "$ref": "#/definitions/AWS::FSx::Backup" + }, { "$ref": "#/definitions/AWS::FSx::DataRepositoryAssociation" }, + { + "$ref": "#/definitions/AWS::FSx::FileCache" + }, { "$ref": "#/definitions/AWS::FSx::FileSystem" }, @@ -418263,6 +431099,9 @@ { "$ref": "#/definitions/AWS::Glue::Connection" }, + { + "$ref": "#/definitions/AWS::Glue::ConnectionType" + }, { "$ref": "#/definitions/AWS::Glue::Crawler" }, @@ -418413,6 +431252,9 @@ { "$ref": "#/definitions/AWS::GroundStation::MissionProfile" }, + { + "$ref": "#/definitions/AWS::GroundStation::Satellite" + }, { "$ref": "#/definitions/AWS::GuardDuty::CustomDetectionRuleAssociation" }, @@ -418446,6 +431288,12 @@ { "$ref": "#/definitions/AWS::GuardDuty::TrustedEntitySet" }, + { + "$ref": "#/definitions/AWS::HealthAgent::Domain" + }, + { + "$ref": "#/definitions/AWS::HealthAgent::Subscription" + }, { "$ref": "#/definitions/AWS::HealthImaging::Datastore" }, @@ -418806,12 +431654,21 @@ { "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Pipeline" + }, { "$ref": "#/definitions/AWS::IoTSiteWise::Portal" }, { "$ref": "#/definitions/AWS::IoTSiteWise::Project" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Task" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Workspace" + }, { "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" }, @@ -418893,6 +431750,9 @@ { "$ref": "#/definitions/AWS::Kendra::Faq" }, + { + "$ref": "#/definitions/AWS::Kendra::FeaturedResultsSet" + }, { "$ref": "#/definitions/AWS::Kendra::Index" }, @@ -418905,6 +431765,9 @@ { "$ref": "#/definitions/AWS::KendraRanking::ExecutionPlan" }, + { + "$ref": "#/definitions/AWS::Kinesis::Channel" + }, { "$ref": "#/definitions/AWS::Kinesis::ResourcePolicy" }, @@ -419031,6 +431894,9 @@ { "$ref": "#/definitions/AWS::LicenseManager::License" }, + { + "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetGroup" + }, { "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet" }, @@ -419076,6 +431942,9 @@ { "$ref": "#/definitions/AWS::Lightsail::InstanceSnapshot" }, + { + "$ref": "#/definitions/AWS::Lightsail::KeyPair" + }, { "$ref": "#/definitions/AWS::Lightsail::LoadBalancer" }, @@ -419226,6 +432095,9 @@ { "$ref": "#/definitions/AWS::Macie::FindingsFilter" }, + { + "$ref": "#/definitions/AWS::Macie::Member" + }, { "$ref": "#/definitions/AWS::Macie::Session" }, @@ -419280,6 +432152,9 @@ { "$ref": "#/definitions/AWS::MediaConnect::RouterOutput" }, + { + "$ref": "#/definitions/AWS::MediaConvert::Job" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -419421,6 +432296,9 @@ { "$ref": "#/definitions/AWS::MemoryDB::ReservedNode" }, + { + "$ref": "#/definitions/AWS::MemoryDB::Snapshot" + }, { "$ref": "#/definitions/AWS::MemoryDB::SubnetGroup" }, @@ -419460,6 +432338,9 @@ { "$ref": "#/definitions/AWS::NeptuneGraph::PrivateGraphEndpoint" }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::ContainerAssociation" + }, { "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" }, @@ -419622,6 +432503,9 @@ { "$ref": "#/definitions/AWS::Omics::Run" }, + { + "$ref": "#/definitions/AWS::Omics::RunBatch" + }, { "$ref": "#/definitions/AWS::Omics::RunCache" }, @@ -419718,6 +432602,9 @@ { "$ref": "#/definitions/AWS::Organizations::Root" }, + { + "$ref": "#/definitions/AWS::Outposts::Outpost" + }, { "$ref": "#/definitions/AWS::Outposts::Site" }, @@ -419784,9 +432671,15 @@ { "$ref": "#/definitions/AWS::Personalize::Dataset" }, + { + "$ref": "#/definitions/AWS::Personalize::DatasetExportJob" + }, { "$ref": "#/definitions/AWS::Personalize::DatasetGroup" }, + { + "$ref": "#/definitions/AWS::Personalize::DatasetImportJob" + }, { "$ref": "#/definitions/AWS::Personalize::EventTracker" }, @@ -419874,6 +432767,9 @@ { "$ref": "#/definitions/AWS::Pipes::Pipe" }, + { + "$ref": "#/definitions/AWS::PricingPlanManager::Subscription" + }, { "$ref": "#/definitions/AWS::Proton::EnvironmentAccountConnection" }, @@ -419934,6 +432830,9 @@ { "$ref": "#/definitions/AWS::QuickSight::CustomPermissions" }, + { + "$ref": "#/definitions/AWS::QuickSight::Customization" + }, { "$ref": "#/definitions/AWS::QuickSight::DLPSetting" }, @@ -419997,12 +432896,18 @@ { "$ref": "#/definitions/AWS::RDS::DBCluster" }, + { + "$ref": "#/definitions/AWS::RDS::DBClusterAutomatedBackup" + }, { "$ref": "#/definitions/AWS::RDS::DBClusterParameterGroup" }, { "$ref": "#/definitions/AWS::RDS::DBInstance" }, + { + "$ref": "#/definitions/AWS::RDS::DBInstanceAutomatedBackup" + }, { "$ref": "#/definitions/AWS::RDS::DBParameterGroup" }, @@ -420099,12 +433004,24 @@ { "$ref": "#/definitions/AWS::Redshift::Integration" }, + { + "$ref": "#/definitions/AWS::Redshift::QEV2IdcApplication" + }, { "$ref": "#/definitions/AWS::Redshift::ScheduledAction" }, + { + "$ref": "#/definitions/AWS::Redshift::Snapshot" + }, + { + "$ref": "#/definitions/AWS::Redshift::SnapshotCopyGrant" + }, { "$ref": "#/definitions/AWS::Redshift::SnapshotSchedule" }, + { + "$ref": "#/definitions/AWS::Redshift::UsageLimit" + }, { "$ref": "#/definitions/AWS::RedshiftServerless::Namespace" }, @@ -420144,6 +433061,9 @@ { "$ref": "#/definitions/AWS::ResilienceHub::App" }, + { + "$ref": "#/definitions/AWS::ResilienceHub::AppAssessment" + }, { "$ref": "#/definitions/AWS::ResilienceHub::RecommendationTemplate" }, @@ -420228,6 +433148,12 @@ { "$ref": "#/definitions/AWS::Route53::RecordSetGroup" }, + { + "$ref": "#/definitions/AWS::Route53::TrafficPolicy" + }, + { + "$ref": "#/definitions/AWS::Route53::TrafficPolicyInstance" + }, { "$ref": "#/definitions/AWS::Route53GlobalResolver::AccessSource" }, @@ -420621,6 +433547,15 @@ { "$ref": "#/definitions/AWS::SSO::PermissionSet" }, + { + "$ref": "#/definitions/AWS::SWF::Domain" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig" + }, { "$ref": "#/definitions/AWS::SageMaker::Action" }, @@ -421005,6 +433940,18 @@ { "$ref": "#/definitions/AWS::StepFunctions::StateMachineVersion" }, + { + "$ref": "#/definitions/AWS::StorageGateway::CacheReport" + }, + { + "$ref": "#/definitions/AWS::StorageGateway::Device" + }, + { + "$ref": "#/definitions/AWS::StorageGateway::Gateway" + }, + { + "$ref": "#/definitions/AWS::StorageGateway::Tape" + }, { "$ref": "#/definitions/AWS::StorageGateway::TapePool" }, @@ -421044,12 +433991,18 @@ { "$ref": "#/definitions/AWS::Timestream::InfluxDBInstance" }, + { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup" + }, { "$ref": "#/definitions/AWS::Timestream::ScheduledQuery" }, { "$ref": "#/definitions/AWS::Timestream::Table" }, + { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory" + }, { "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsJob" }, @@ -421062,6 +434015,9 @@ { "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob" }, + { + "$ref": "#/definitions/AWS::Transcribe::Vocabulary" + }, { "$ref": "#/definitions/AWS::Transcribe::VocabularyFilter" }, @@ -421137,6 +434093,9 @@ { "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration" }, + { + "$ref": "#/definitions/AWS::VpcLattice::ResourceEndpointAssociation" + }, { "$ref": "#/definitions/AWS::VpcLattice::ResourceGateway" }, diff --git a/schema_source/cloudformation.schema.json b/schema_source/cloudformation.schema.json index be4573b3e..74814e46f 100644 --- a/schema_source/cloudformation.schema.json +++ b/schema_source/cloudformation.schema.json @@ -4769,8 +4769,7 @@ "required": [ "Descriptors", "Name", - "RecordType", - "RegistryId" + "RecordType" ], "type": "object" }, @@ -4810,6 +4809,15 @@ }, "type": "object" }, + "AWS::AgentRegistry::RegistryRecord.AgUiDescriptor": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.SourceOnlyDescriptorSource" + } + }, + "type": "object" + }, "AWS::AgentRegistry::RegistryRecord.AgentSkillsAdditionalData": { "additionalProperties": false, "properties": { @@ -4894,15 +4902,30 @@ "AgentSkillsDefinition": { "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.AgentSkillsDefinitionDescriptor" }, + "Agui": { + "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.AgUiDescriptor" + }, "Custom": { "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.CustomDescriptor" }, + "Http": { + "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.HttpDescriptor" + }, "McpServer": { "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.McpServerDescriptor" } }, "type": "object" }, + "AWS::AgentRegistry::RegistryRecord.HttpDescriptor": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.SourceOnlyDescriptorSource" + } + }, + "type": "object" + }, "AWS::AgentRegistry::RegistryRecord.McpServerAdditionalData": { "additionalProperties": false, "properties": { @@ -5036,6 +5059,27 @@ ], "type": "object" }, + "AWS::AgentRegistry::RegistryRecord.SourceOnlyDescriptorSource": { + "additionalProperties": false, + "properties": { + "FromUrl": { + "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.SourceOnlyDescriptorSourceFromUrl" + } + }, + "type": "object" + }, + "AWS::AgentRegistry::RegistryRecord.SourceOnlyDescriptorSourceFromUrl": { + "additionalProperties": false, + "properties": { + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, "AWS::AmazonMQ::Broker": { "additionalProperties": false, "properties": { @@ -13828,6 +13872,106 @@ ], "type": "object" }, + "AWS::AppConfig::ExperimentRun": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationIdentifier": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ExperimentDefinitionIdentifier": { + "type": "string" + }, + "ExposurePercentage": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TreatmentOverrides": { + "$ref": "#/definitions/AWS::AppConfig::ExperimentRun.TreatmentOverrides" + } + }, + "required": [ + "ApplicationIdentifier", + "ExperimentDefinitionIdentifier", + "ExposurePercentage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::ExperimentRun" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::ExperimentRun.TreatmentOverrides": { + "additionalProperties": false, + "properties": { + "Inline": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "AWS::AppConfig::Extension": { "additionalProperties": false, "properties": { @@ -22717,6 +22861,9 @@ "title": "Description", "type": "string" }, + "DisableIMDSV1": { + "type": "boolean" + }, "DisplayName": { "markdownDescription": "The image builder name to display.", "title": "DisplayName", @@ -23888,9 +24035,6 @@ "title": "ApiId", "type": "string" }, - "ApiKeyId": { - "type": "string" - }, "Description": { "markdownDescription": "Unique description of your API key.", "title": "Description", @@ -28507,6 +28651,70 @@ ], "type": "object" }, + "AWS::Artifact::ComplianceInquiry": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Artifact::ComplianceInquiry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Artifact::Report": { "additionalProperties": false, "properties": { @@ -35966,7 +36174,7 @@ ], "type": "object" }, - "AWS::BackupGateway::Hypervisor": { + "AWS::BackupGateway::Gateway": { "additionalProperties": false, "properties": { "Condition": { @@ -36001,50 +36209,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Host": { - "markdownDescription": "The server host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN).", - "title": "Host", - "type": "string" - }, - "KmsKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service used to encrypt the hypervisor.", - "title": "KmsKeyArn", - "type": "string" - }, - "LogGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the group of gateways within the requested log.", - "title": "LogGroupArn", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the hypervisor.", - "title": "Name", + "GatewayDisplayName": { "type": "string" }, - "Password": { - "markdownDescription": "The password for the hypervisor.", - "title": "Password", + "GatewayType": { "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::BackupGateway::Gateway.TagsItems" }, - "markdownDescription": "The tags of the hypervisor configuration to import.", - "title": "Tags", "type": "array" - }, - "Username": { - "markdownDescription": "The username for the hypervisor.", - "title": "Username", - "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::BackupGateway::Hypervisor" + "AWS::BackupGateway::Gateway" ], "type": "string" }, @@ -36062,7 +36244,141 @@ ], "type": "object" }, - "AWS::BackupSearch::SearchJob": { + "AWS::BackupGateway::Gateway.MaintenanceStartTime": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "number" + }, + "DayOfWeek": { + "type": "number" + }, + "HourOfDay": { + "type": "number" + }, + "MinuteOfHour": { + "type": "number" + } + }, + "required": [ + "HourOfDay", + "MinuteOfHour" + ], + "type": "object" + }, + "AWS::BackupGateway::Gateway.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::BackupGateway::Hypervisor": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Host": { + "markdownDescription": "The server host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN).", + "title": "Host", + "type": "string" + }, + "KmsKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service used to encrypt the hypervisor.", + "title": "KmsKeyArn", + "type": "string" + }, + "LogGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the group of gateways within the requested log.", + "title": "LogGroupArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the hypervisor.", + "title": "Name", + "type": "string" + }, + "Password": { + "markdownDescription": "The password for the hypervisor.", + "title": "Password", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags of the hypervisor configuration to import.", + "title": "Tags", + "type": "array" + }, + "Username": { + "markdownDescription": "The username for the hypervisor.", + "title": "Username", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::BackupGateway::Hypervisor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::BackupSearch::SearchJob": { "additionalProperties": false, "properties": { "Condition": { @@ -42802,6 +43118,375 @@ }, "type": "object" }, + "AWS::Bedrock::EvaluationJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Bedrock::EvaluationJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.AutomatedEvaluationConfig": { + "additionalProperties": false, + "properties": { + "DatasetMetricConfigs": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluationDatasetMetricConfig" + }, + "type": "array" + }, + "EvaluatorModelConfig": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluatorModelConfig" + } + }, + "required": [ + "DatasetMetricConfigs" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.BedrockEvaluatorModel": { + "additionalProperties": false, + "properties": { + "ModelIdentifier": { + "type": "string" + } + }, + "required": [ + "ModelIdentifier" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationBedrockModel": { + "additionalProperties": false, + "properties": { + "InferenceParams": { + "type": "string" + }, + "ModelIdentifier": { + "type": "string" + } + }, + "required": [ + "ModelIdentifier" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationConfig": { + "additionalProperties": false, + "properties": { + "Automated": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.AutomatedEvaluationConfig" + }, + "Human": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.HumanEvaluationConfig" + } + }, + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationDataset": { + "additionalProperties": false, + "properties": { + "DatasetLocation": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluationDatasetLocation" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationDatasetLocation": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationDatasetMetricConfig": { + "additionalProperties": false, + "properties": { + "Dataset": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluationDataset" + }, + "MetricNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TaskType": { + "type": "string" + } + }, + "required": [ + "Dataset", + "MetricNames", + "TaskType" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationInferenceConfig": { + "additionalProperties": false, + "properties": { + "Models": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluationModelConfig" + }, + "type": "array" + }, + "RagConfigs": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.RAGConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationModelConfig": { + "additionalProperties": false, + "properties": { + "BedrockModel": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluationBedrockModel" + } + }, + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluationOutputDataConfig": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.EvaluatorModelConfig": { + "additionalProperties": false, + "properties": { + "BedrockEvaluatorModels": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.BedrockEvaluatorModel" + }, + "type": "array" + } + }, + "required": [ + "BedrockEvaluatorModels" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.HumanEvaluationConfig": { + "additionalProperties": false, + "properties": { + "CustomMetrics": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.HumanEvaluationCustomMetric" + }, + "type": "array" + }, + "DatasetMetricConfigs": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.EvaluationDatasetMetricConfig" + }, + "type": "array" + }, + "HumanWorkflowConfig": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.HumanWorkflowConfig" + } + }, + "required": [ + "DatasetMetricConfigs" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.HumanEvaluationCustomMetric": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RatingMethod": { + "type": "string" + } + }, + "required": [ + "Name", + "RatingMethod" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.HumanWorkflowConfig": { + "additionalProperties": false, + "properties": { + "FlowDefinitionArn": { + "type": "string" + }, + "Instructions": { + "type": "string" + } + }, + "required": [ + "FlowDefinitionArn" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.KnowledgeBaseConfig": { + "additionalProperties": false, + "properties": { + "RetrieveAndGenerateConfig": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.RetrieveAndGenerateConfig" + }, + "RetrieveConfig": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.RetrieveConfig" + } + }, + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.KnowledgeBaseRetrievalConfiguration": { + "additionalProperties": false, + "properties": { + "VectorSearchConfiguration": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.KnowledgeBaseVectorSearchConfiguration" + } + }, + "required": [ + "VectorSearchConfiguration" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.KnowledgeBaseRetrieveAndGenerateConfiguration": { + "additionalProperties": false, + "properties": { + "KnowledgeBaseId": { + "type": "string" + }, + "ModelArn": { + "type": "string" + }, + "RetrievalConfiguration": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.KnowledgeBaseRetrievalConfiguration" + } + }, + "required": [ + "KnowledgeBaseId", + "ModelArn" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.KnowledgeBaseVectorSearchConfiguration": { + "additionalProperties": false, + "properties": { + "NumberOfResults": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.RAGConfig": { + "additionalProperties": false, + "properties": { + "KnowledgeBaseConfig": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.KnowledgeBaseConfig" + } + }, + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.RetrieveAndGenerateConfig": { + "additionalProperties": false, + "properties": { + "KnowledgeBaseConfiguration": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.KnowledgeBaseRetrieveAndGenerateConfiguration" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "KnowledgeBaseConfiguration", + "Type" + ], + "type": "object" + }, + "AWS::Bedrock::EvaluationJob.RetrieveConfig": { + "additionalProperties": false, + "properties": { + "KnowledgeBaseId": { + "type": "string" + }, + "KnowledgeBaseRetrievalConfiguration": { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob.KnowledgeBaseRetrievalConfiguration" + } + }, + "required": [ + "KnowledgeBaseId", + "KnowledgeBaseRetrievalConfiguration" + ], + "type": "object" + }, "AWS::Bedrock::Flow": { "additionalProperties": false, "properties": { @@ -46189,6 +46874,9 @@ "title": "EmbeddingDataType", "type": "string" }, + "ModelConfiguration": { + "type": "object" + }, "Video": { "items": { "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.VideoConfiguration" @@ -46291,6 +46979,9 @@ }, "ServerSideEncryptionConfiguration": { "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.ManagedKnowledgeBaseServerSideEncryptionConfiguration" + }, + "SupplementalDataStorageConfiguration": { + "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.SupplementalDataStorageConfiguration" } }, "type": "object" @@ -50872,6 +51563,15 @@ }, "type": "array" }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "VpcIdentifier": { "type": "string" } @@ -51317,6 +52017,18 @@ ], "type": "object" }, + "AWS::BedrockAgentCore::GatewayRule.SystemManagedBlock": { + "additionalProperties": false, + "properties": { + "ManagedBy": { + "type": "string" + } + }, + "required": [ + "ManagedBy" + ], + "type": "object" + }, "AWS::BedrockAgentCore::GatewayRule.TargetTrafficSplitEntry": { "additionalProperties": false, "properties": { @@ -51777,12 +52489,48 @@ ], "type": "object" }, + "AWS::BedrockAgentCore::GatewayTarget.HttpConnectorSource": { + "additionalProperties": false, + "properties": { + "ConnectorId": { + "type": "string" + } + }, + "required": [ + "ConnectorId" + ], + "type": "object" + }, + "AWS::BedrockAgentCore::GatewayTarget.HttpConnectorTargetConfiguration": { + "additionalProperties": false, + "properties": { + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Source": { + "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.HttpConnectorSource" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, "AWS::BedrockAgentCore::GatewayTarget.HttpTargetConfiguration": { "additionalProperties": false, "properties": { "AgentcoreRuntime": { "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.RuntimeTargetConfiguration" }, + "Connector": { + "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.HttpConnectorTargetConfiguration" + }, "Passthrough": { "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.PassthroughTargetConfiguration" } @@ -58057,285 +58805,441 @@ ], "type": "object" }, - "AWS::BillingConductor::PricingRule.FreeTier": { - "additionalProperties": false, - "properties": { - "Activated": { - "markdownDescription": "Activate or deactivate AWS Free Tier.", - "title": "Activated", - "type": "boolean" - } - }, - "required": [ - "Activated" - ], - "type": "object" - }, - "AWS::BillingConductor::PricingRule.Tiering": { - "additionalProperties": false, - "properties": { - "FreeTier": { - "$ref": "#/definitions/AWS::BillingConductor::PricingRule.FreeTier", - "markdownDescription": "The possible AWS Free Tier configurations.", - "title": "FreeTier" - } - }, - "type": "object" - }, - "AWS::Braket::Job": { + "AWS::BillingConductor::PricingRule.CustomTier": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AlgorithmSpecification": { - "$ref": "#/definitions/AWS::Braket::Job.AlgorithmSpecification" - }, - "CheckpointConfig": { - "$ref": "#/definitions/AWS::Braket::Job.JobCheckpointConfig" - }, - "DeviceConfig": { - "$ref": "#/definitions/AWS::Braket::Job.DeviceConfig" - }, - "HyperParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "InputDataConfig": { - "items": { - "$ref": "#/definitions/AWS::Braket::Job.InputFileConfig" - }, - "type": "array" - }, - "InstanceConfig": { - "$ref": "#/definitions/AWS::Braket::Job.InstanceConfig" - }, - "JobName": { - "type": "string" - }, - "OutputDataConfig": { - "$ref": "#/definitions/AWS::Braket::Job.JobOutputDataConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::Braket::Job.JobStoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AlgorithmSpecification", - "DeviceConfig", - "InstanceConfig", - "JobName", - "OutputDataConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Braket::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Braket::Job.AlgorithmSpecification": { - "additionalProperties": false, - "properties": { - "ScriptModeConfig": { - "$ref": "#/definitions/AWS::Braket::Job.ScriptModeConfig" - } - }, - "required": [ - "ScriptModeConfig" - ], - "type": "object" - }, - "AWS::Braket::Job.DataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::Braket::Job.S3DataSource" - } - }, - "required": [ - "S3DataSource" - ], - "type": "object" - }, - "AWS::Braket::Job.DeviceConfig": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - } - }, - "required": [ - "Device" - ], - "type": "object" - }, - "AWS::Braket::Job.InputFileConfig": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "DataSource": { - "$ref": "#/definitions/AWS::Braket::Job.DataSource" - } - }, - "required": [ - "ChannelName", - "DataSource" - ], - "type": "object" - }, - "AWS::Braket::Job.InstanceConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { + "BeginRangeInclusive": { "type": "number" }, - "InstanceType": { - "type": "string" - }, - "VolumeSizeInGb": { + "EndRangeExclusive": { "type": "number" - } - }, - "required": [ - "InstanceType", - "VolumeSizeInGb" - ], - "type": "object" - }, - "AWS::Braket::Job.JobCheckpointConfig": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Braket::Job.JobOutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3Path": { - "type": "string" + "RateValue": { + "type": "number" } }, "required": [ - "S3Path" + "BeginRangeInclusive", + "RateValue" ], "type": "object" }, - "AWS::Braket::Job.JobStoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Braket::Job.S3DataSource": { + "AWS::BillingConductor::PricingRule.FreeTier": { "additionalProperties": false, "properties": { - "S3Uri": { - "type": "string" + "Activated": { + "markdownDescription": "Activate or deactivate AWS Free Tier.", + "title": "Activated", + "type": "boolean" } }, "required": [ - "S3Uri" + "Activated" ], "type": "object" }, - "AWS::Braket::Job.ScriptModeConfig": { + "AWS::BillingConductor::PricingRule.Tiering": { "additionalProperties": false, "properties": { - "CompressionType": { - "type": "string" - }, - "EntryPoint": { - "type": "string" + "CustomTiers": { + "items": { + "$ref": "#/definitions/AWS::BillingConductor::PricingRule.CustomTier" + }, + "type": "array" }, - "S3Uri": { - "type": "string" + "FreeTier": { + "$ref": "#/definitions/AWS::BillingConductor::PricingRule.FreeTier", + "markdownDescription": "The possible AWS Free Tier configurations.", + "title": "FreeTier" } }, - "required": [ - "EntryPoint", - "S3Uri" - ], "type": "object" }, - "AWS::Braket::SpendingLimit": { + "AWS::Braket::Job": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AlgorithmSpecification": { + "$ref": "#/definitions/AWS::Braket::Job.AlgorithmSpecification" + }, + "CheckpointConfig": { + "$ref": "#/definitions/AWS::Braket::Job.JobCheckpointConfig" + }, + "DeviceConfig": { + "$ref": "#/definitions/AWS::Braket::Job.DeviceConfig" + }, + "HyperParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "InputDataConfig": { + "items": { + "$ref": "#/definitions/AWS::Braket::Job.InputFileConfig" + }, + "type": "array" + }, + "InstanceConfig": { + "$ref": "#/definitions/AWS::Braket::Job.InstanceConfig" + }, + "JobName": { + "type": "string" + }, + "OutputDataConfig": { + "$ref": "#/definitions/AWS::Braket::Job.JobOutputDataConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::Braket::Job.JobStoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AlgorithmSpecification", + "DeviceConfig", + "InstanceConfig", + "JobName", + "OutputDataConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Braket::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Braket::Job.AlgorithmSpecification": { + "additionalProperties": false, + "properties": { + "ScriptModeConfig": { + "$ref": "#/definitions/AWS::Braket::Job.ScriptModeConfig" + } + }, + "required": [ + "ScriptModeConfig" + ], + "type": "object" + }, + "AWS::Braket::Job.DataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::Braket::Job.S3DataSource" + } + }, + "required": [ + "S3DataSource" + ], + "type": "object" + }, + "AWS::Braket::Job.DeviceConfig": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + } + }, + "required": [ + "Device" + ], + "type": "object" + }, + "AWS::Braket::Job.InputFileConfig": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "DataSource": { + "$ref": "#/definitions/AWS::Braket::Job.DataSource" + } + }, + "required": [ + "ChannelName", + "DataSource" + ], + "type": "object" + }, + "AWS::Braket::Job.InstanceConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "InstanceType", + "VolumeSizeInGb" + ], + "type": "object" + }, + "AWS::Braket::Job.JobCheckpointConfig": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Braket::Job.JobOutputDataConfig": { + "additionalProperties": false, + "properties": { + "S3Path": { + "type": "string" + } + }, + "required": [ + "S3Path" + ], + "type": "object" + }, + "AWS::Braket::Job.JobStoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Braket::Job.S3DataSource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Braket::Job.ScriptModeConfig": { + "additionalProperties": false, + "properties": { + "CompressionType": { + "type": "string" + }, + "EntryPoint": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "EntryPoint", + "S3Uri" + ], + "type": "object" + }, + "AWS::Braket::QuantumTask": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Associations": { + "items": { + "$ref": "#/definitions/AWS::Braket::QuantumTask.Association" + }, + "type": "array" + }, + "DeviceArn": { + "type": "string" + }, + "DeviceParameters": { + "type": "string" + }, + "ExperimentalCapabilities": { + "$ref": "#/definitions/AWS::Braket::QuantumTask.ExperimentalCapabilities" + }, + "OutputS3Bucket": { + "type": "string" + }, + "Shots": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeviceArn", + "OutputS3Bucket", + "Shots" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Braket::QuantumTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Braket::QuantumTask.ActionMetadata": { + "additionalProperties": false, + "properties": { + "ActionType": { + "type": "string" + } + }, + "required": [ + "ActionType" + ], + "type": "object" + }, + "AWS::Braket::QuantumTask.Association": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Arn", + "Type" + ], + "type": "object" + }, + "AWS::Braket::QuantumTask.ExperimentalCapabilities": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::Braket::SpendingLimit": { "additionalProperties": false, "properties": { "Condition": { @@ -62716,6 +63620,1900 @@ ], "type": "object" }, + "AWS::Chime::MediaCapturePipeline": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChimeSdkMeetingConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ChimeSdkMeetingConfiguration" + }, + "SinkArn": { + "type": "string" + }, + "SinkIamRoleArn": { + "type": "string" + }, + "SinkType": { + "type": "string" + }, + "SourceType": { + "type": "string" + }, + "SseAwsKeyManagementParams": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.SseAwsKeyManagementParams" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SinkArn", + "SinkType", + "SourceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaCapturePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.ActiveSpeakerOnlyConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveSpeakerPosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.ArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "Audio": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.AudioArtifactsConfiguration" + }, + "CompositedVideo": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.CompositedVideoArtifactsConfiguration" + }, + "Content": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ContentArtifactsConfiguration" + }, + "Video": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.VideoArtifactsConfiguration" + } + }, + "required": [ + "Audio", + "Content", + "Video" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.AudioArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "MuxType": { + "type": "string" + } + }, + "required": [ + "MuxType" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.ChimeSdkMeetingConfiguration": { + "additionalProperties": false, + "properties": { + "ArtifactsConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ArtifactsConfiguration" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.SourceConfiguration" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.CompositedVideoArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "GridViewConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.GridViewConfiguration" + }, + "Layout": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "required": [ + "GridViewConfiguration" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.ContentArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "MuxType": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.GridViewConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveSpeakerOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.ActiveSpeakerOnlyConfiguration" + }, + "CanvasOrientation": { + "type": "string" + }, + "ContentShareLayout": { + "type": "string" + }, + "HorizontalLayoutConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.HorizontalLayoutConfiguration" + }, + "PresenterOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.PresenterOnlyConfiguration" + }, + "VerticalLayoutConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.VerticalLayoutConfiguration" + }, + "VideoAttribute": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.VideoAttribute" + } + }, + "required": [ + "ContentShareLayout" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.HorizontalLayoutConfiguration": { + "additionalProperties": false, + "properties": { + "TileAspectRatio": { + "type": "string" + }, + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.PresenterOnlyConfiguration": { + "additionalProperties": false, + "properties": { + "PresenterPosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.SelectedVideoStreams": { + "additionalProperties": false, + "properties": { + "AttendeeIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExternalUserIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "SelectedVideoStreams": { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline.SelectedVideoStreams" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.SseAwsKeyManagementParams": { + "additionalProperties": false, + "properties": { + "AwsKmsEncryptionContext": { + "type": "string" + }, + "AwsKmsKeyId": { + "type": "string" + } + }, + "required": [ + "AwsKmsKeyId" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.VerticalLayoutConfiguration": { + "additionalProperties": false, + "properties": { + "TileAspectRatio": { + "type": "string" + }, + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.VideoArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "MuxType": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaCapturePipeline.VideoAttribute": { + "additionalProperties": false, + "properties": { + "BorderColor": { + "type": "string" + }, + "BorderThickness": { + "type": "number" + }, + "CornerRadius": { + "type": "number" + }, + "HighlightColor": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Sinks": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ConcatenationSink" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ConcatenationSource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Sinks", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaConcatenationPipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.ArtifactsConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "Audio": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.AudioConcatenationConfiguration" + }, + "CompositedVideo": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.CompositedVideoConcatenationConfiguration" + }, + "Content": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ContentConcatenationConfiguration" + }, + "DataChannel": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.DataChannelConcatenationConfiguration" + }, + "MeetingEvents": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.MeetingEventsConcatenationConfiguration" + }, + "TranscriptionMessages": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.TranscriptionMessagesConcatenationConfiguration" + }, + "Video": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.VideoConcatenationConfiguration" + } + }, + "required": [ + "Audio", + "CompositedVideo", + "Content", + "DataChannel", + "MeetingEvents", + "TranscriptionMessages", + "Video" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.AudioConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.ChimeSdkMeetingConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "ArtifactsConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ArtifactsConcatenationConfiguration" + } + }, + "required": [ + "ArtifactsConfiguration" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.CompositedVideoConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.ConcatenationSink": { + "additionalProperties": false, + "properties": { + "S3BucketSinkConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.S3BucketSinkConfiguration" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "S3BucketSinkConfiguration", + "Type" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.ConcatenationSource": { + "additionalProperties": false, + "properties": { + "MediaCapturePipelineSourceConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.MediaCapturePipelineSourceConfiguration" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "MediaCapturePipelineSourceConfiguration", + "Type" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.ContentConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.DataChannelConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.MediaCapturePipelineSourceConfiguration": { + "additionalProperties": false, + "properties": { + "ChimeSdkMeetingConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline.ChimeSdkMeetingConcatenationConfiguration" + }, + "MediaPipelineArn": { + "type": "string" + } + }, + "required": [ + "ChimeSdkMeetingConfiguration", + "MediaPipelineArn" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.MeetingEventsConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.S3BucketSinkConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.TranscriptionMessagesConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaConcatenationPipeline.VideoConcatenationConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KinesisVideoStreamRecordingSourceRuntimeConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamRecordingSourceRuntimeConfiguration" + }, + "KinesisVideoStreamSourceRuntimeConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamSourceRuntimeConfiguration" + }, + "MediaInsightsPipelineConfigurationArn": { + "type": "string" + }, + "MediaInsightsRuntimeMetadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "S3RecordingSinkRuntimeConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.S3RecordingSinkRuntimeConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MediaInsightsPipelineConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaInsightsPipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.ChannelDefinition": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "number" + }, + "ParticipantRole": { + "type": "string" + } + }, + "required": [ + "ChannelId" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.FragmentSelector": { + "additionalProperties": false, + "properties": { + "FragmentSelectorType": { + "type": "string" + }, + "TimestampRange": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.TimestampRange" + } + }, + "required": [ + "FragmentSelectorType", + "TimestampRange" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamRecordingSourceRuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "FragmentSelector": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.FragmentSelector" + }, + "Streams": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.RecordingStreamConfiguration" + }, + "type": "array" + } + }, + "required": [ + "FragmentSelector", + "Streams" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.KinesisVideoStreamSourceRuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "MediaEncoding": { + "type": "string" + }, + "MediaSampleRate": { + "type": "number" + }, + "Streams": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.StreamConfiguration" + }, + "type": "array" + } + }, + "required": [ + "MediaEncoding", + "MediaSampleRate", + "Streams" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.RecordingStreamConfiguration": { + "additionalProperties": false, + "properties": { + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.S3RecordingSinkRuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "RecordingFileFormat": { + "type": "string" + } + }, + "required": [ + "Destination", + "RecordingFileFormat" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.StreamChannelDefinition": { + "additionalProperties": false, + "properties": { + "ChannelDefinitions": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.ChannelDefinition" + }, + "type": "array" + }, + "NumberOfChannels": { + "type": "number" + } + }, + "required": [ + "NumberOfChannels" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.StreamConfiguration": { + "additionalProperties": false, + "properties": { + "FragmentNumber": { + "type": "string" + }, + "StreamArn": { + "type": "string" + }, + "StreamChannelDefinition": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline.StreamChannelDefinition" + } + }, + "required": [ + "StreamArn", + "StreamChannelDefinition" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipeline.TimestampRange": { + "additionalProperties": false, + "properties": { + "EndTimestamp": { + "type": "string" + }, + "StartTimestamp": { + "type": "string" + } + }, + "required": [ + "EndTimestamp", + "StartTimestamp" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Elements": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.MediaInsightsPipelineConfigurationElement" + }, + "type": "array" + }, + "MediaInsightsPipelineConfigurationName": { + "type": "string" + }, + "RealTimeAlertConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertConfiguration" + }, + "ResourceAccessRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Elements", + "MediaInsightsPipelineConfigurationName", + "ResourceAccessRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaInsightsPipelineConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeCallAnalyticsProcessorConfiguration": { + "additionalProperties": false, + "properties": { + "CallAnalyticsStreamCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContentIdentificationType": { + "type": "string" + }, + "ContentRedactionType": { + "type": "string" + }, + "EnablePartialResultsStabilization": { + "type": "boolean" + }, + "FilterPartialResults": { + "type": "boolean" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageModelName": { + "type": "string" + }, + "PartialResultsStability": { + "type": "string" + }, + "PiiEntityTypes": { + "type": "string" + }, + "PostCallAnalyticsSettings": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.PostCallAnalyticsSettings" + }, + "VocabularyFilterMethod": { + "type": "string" + }, + "VocabularyFilterName": { + "type": "string" + }, + "VocabularyName": { + "type": "string" + } + }, + "required": [ + "LanguageCode" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeProcessorConfiguration": { + "additionalProperties": false, + "properties": { + "ContentIdentificationType": { + "type": "string" + }, + "ContentRedactionType": { + "type": "string" + }, + "EnablePartialResultsStabilization": { + "type": "boolean" + }, + "FilterPartialResults": { + "type": "boolean" + }, + "IdentifyLanguage": { + "type": "boolean" + }, + "IdentifyMultipleLanguages": { + "type": "boolean" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageModelName": { + "type": "string" + }, + "LanguageOptions": { + "type": "string" + }, + "PartialResultsStability": { + "type": "string" + }, + "PiiEntityTypes": { + "type": "string" + }, + "PreferredLanguage": { + "type": "string" + }, + "ShowSpeakerLabel": { + "type": "boolean" + }, + "VocabularyFilterMethod": { + "type": "string" + }, + "VocabularyFilterName": { + "type": "string" + }, + "VocabularyFilterNames": { + "type": "string" + }, + "VocabularyName": { + "type": "string" + }, + "VocabularyNames": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.IssueDetectionConfiguration": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + } + }, + "required": [ + "RuleName" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.KeywordMatchConfiguration": { + "additionalProperties": false, + "properties": { + "Keywords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Negate": { + "type": "boolean" + }, + "RuleName": { + "type": "string" + } + }, + "required": [ + "Keywords", + "RuleName" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.KinesisDataStreamSinkConfiguration": { + "additionalProperties": false, + "properties": { + "InsightsTarget": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.MediaInsightsPipelineConfigurationElement": { + "additionalProperties": false, + "properties": { + "AmazonTranscribeCallAnalyticsProcessorConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeCallAnalyticsProcessorConfiguration" + }, + "AmazonTranscribeProcessorConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.AmazonTranscribeProcessorConfiguration" + }, + "KinesisDataStreamSinkConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.KinesisDataStreamSinkConfiguration" + }, + "S3RecordingSinkConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.S3RecordingSinkConfiguration" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.PostCallAnalyticsSettings": { + "additionalProperties": false, + "properties": { + "ContentRedactionOutput": { + "type": "string" + }, + "DataAccessRoleArn": { + "type": "string" + }, + "OutputEncryptionKMSKeyId": { + "type": "string" + }, + "OutputLocation": { + "type": "string" + } + }, + "required": [ + "DataAccessRoleArn", + "OutputLocation" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertConfiguration": { + "additionalProperties": false, + "properties": { + "Disabled": { + "type": "boolean" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.RealTimeAlertRule": { + "additionalProperties": false, + "properties": { + "IssueDetectionConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.IssueDetectionConfiguration" + }, + "KeywordMatchConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.KeywordMatchConfiguration" + }, + "SentimentConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration.SentimentConfiguration" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.S3RecordingSinkConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "RecordingFileFormat": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaInsightsPipelineConfiguration.SentimentConfiguration": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "SentimentType": { + "type": "string" + }, + "TimePeriod": { + "type": "number" + } + }, + "required": [ + "RuleName", + "SentimentType", + "TimePeriod" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Sinks": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSinkConfiguration" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSourceConfiguration" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Sinks", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaLiveConnectorPipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.ActiveSpeakerOnlyConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveSpeakerPosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.ChimeSdkMeetingLiveConnectorConfiguration": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CompositedVideo": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.CompositedVideoArtifactsConfiguration" + }, + "MuxType": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.SourceConfiguration" + } + }, + "required": [ + "MuxType" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.CompositedVideoArtifactsConfiguration": { + "additionalProperties": false, + "properties": { + "GridViewConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.GridViewConfiguration" + }, + "Layout": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "required": [ + "GridViewConfiguration" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.GridViewConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveSpeakerOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.ActiveSpeakerOnlyConfiguration" + }, + "CanvasOrientation": { + "type": "string" + }, + "ContentShareLayout": { + "type": "string" + }, + "HorizontalLayoutConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.HorizontalLayoutConfiguration" + }, + "PresenterOnlyConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.PresenterOnlyConfiguration" + }, + "VerticalLayoutConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.VerticalLayoutConfiguration" + }, + "VideoAttribute": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.VideoAttribute" + } + }, + "required": [ + "ContentShareLayout" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.HorizontalLayoutConfiguration": { + "additionalProperties": false, + "properties": { + "TileAspectRatio": { + "type": "string" + }, + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorRTMPConfiguration": { + "additionalProperties": false, + "properties": { + "AudioChannels": { + "type": "string" + }, + "AudioSampleRate": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSinkConfiguration": { + "additionalProperties": false, + "properties": { + "RTMPConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorRTMPConfiguration" + }, + "SinkType": { + "type": "string" + } + }, + "required": [ + "RTMPConfiguration", + "SinkType" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.LiveConnectorSourceConfiguration": { + "additionalProperties": false, + "properties": { + "ChimeSdkMeetingLiveConnectorConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.ChimeSdkMeetingLiveConnectorConfiguration" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "ChimeSdkMeetingLiveConnectorConfiguration", + "SourceType" + ], + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.PresenterOnlyConfiguration": { + "additionalProperties": false, + "properties": { + "PresenterPosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.SelectedVideoStreams": { + "additionalProperties": false, + "properties": { + "AttendeeIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExternalUserIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "SelectedVideoStreams": { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline.SelectedVideoStreams" + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.VerticalLayoutConfiguration": { + "additionalProperties": false, + "properties": { + "TileAspectRatio": { + "type": "string" + }, + "TileCount": { + "type": "number" + }, + "TileOrder": { + "type": "string" + }, + "TilePosition": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaLiveConnectorPipeline.VideoAttribute": { + "additionalProperties": false, + "properties": { + "BorderColor": { + "type": "string" + }, + "BorderThickness": { + "type": "number" + }, + "CornerRadius": { + "type": "number" + }, + "HighlightColor": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Chime::MediaPipelineKinesisVideoStreamPool": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PoolName": { + "type": "string" + }, + "StreamConfiguration": { + "$ref": "#/definitions/AWS::Chime::MediaPipelineKinesisVideoStreamPool.StreamConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaPipelineKinesisVideoStreamPool.TagsItems" + }, + "type": "array" + } + }, + "required": [ + "PoolName", + "StreamConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaPipelineKinesisVideoStreamPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaPipelineKinesisVideoStreamPool.StreamConfiguration": { + "additionalProperties": false, + "properties": { + "DataRetentionInHours": { + "type": "number" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::Chime::MediaPipelineKinesisVideoStreamPool.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Chime::MediaStreamPipeline": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Sinks": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaStreamPipeline.MediaStreamSink" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::Chime::MediaStreamPipeline.MediaStreamSource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Sinks", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::MediaStreamPipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::MediaStreamPipeline.MediaStreamSink": { + "additionalProperties": false, + "properties": { + "MediaStreamType": { + "type": "string" + }, + "ReservedStreamCapacity": { + "type": "number" + }, + "SinkArn": { + "type": "string" + }, + "SinkType": { + "type": "string" + } + }, + "required": [ + "MediaStreamType", + "ReservedStreamCapacity", + "SinkArn", + "SinkType" + ], + "type": "object" + }, + "AWS::Chime::MediaStreamPipeline.MediaStreamSource": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SourceArn", + "SourceType" + ], + "type": "object" + }, + "AWS::Chime::SipMediaApplication": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "Endpoints": { + "items": { + "$ref": "#/definitions/AWS::Chime::SipMediaApplication.SipMediaApplicationEndpoint" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AwsRegion", + "Endpoints", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::SipMediaApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Chime::SipMediaApplication.SipMediaApplicationEndpoint": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + } + }, + "required": [ + "LambdaArn" + ], + "type": "object" + }, + "AWS::Chime::VoiceConnector": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "RequireEncryption": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "RequireEncryption" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chime::VoiceConnector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CleanRooms::AnalysisTemplate": { "additionalProperties": false, "properties": { @@ -63627,6 +66425,39 @@ ], "type": "object" }, + "AWS::CleanRooms::ConfiguredTable.AggregationThreshold": { + "additionalProperties": false, + "properties": { + "AllowedAggregateExpressionType": { + "type": "string" + }, + "IdentityColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MinimumIdentityCount": { + "type": "number" + }, + "OutputColumnThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.OutputColumnThreshold" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "AllowedAggregateExpressionType", + "IdentityColumns", + "MinimumIdentityCount", + "Type" + ], + "type": "object" + }, "AWS::CleanRooms::ConfiguredTable.AnalysisRule": { "additionalProperties": false, "properties": { @@ -63726,6 +66557,12 @@ "title": "AdditionalAnalyses", "type": "string" }, + "AggregationThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationThreshold" + }, + "type": "array" + }, "AllowedAnalyses": { "items": { "type": "string" @@ -63742,6 +66579,9 @@ "title": "AllowedAnalysisProviders", "type": "array" }, + "ComparisonControls": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ComparisonControls" + }, "DifferentialPrivacy": { "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.DifferentialPrivacy", "markdownDescription": "The differential privacy configuration.", @@ -63826,16 +66666,38 @@ "title": "TableName", "type": "string" }, - "WorkGroup": { - "markdownDescription": "The workgroup of the Athena table reference.", - "title": "WorkGroup", - "type": "string" + "WorkGroup": { + "markdownDescription": "The workgroup of the Athena table reference.", + "title": "WorkGroup", + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName", + "WorkGroup" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ComparisonControls": { + "additionalProperties": false, + "properties": { + "AllowedColumnComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedLiteralComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "DatabaseName", - "TableName", - "WorkGroup" + "AllowedColumnComparisonColumns", + "AllowedLiteralComparisonColumns" ], "type": "object" }, @@ -63930,6 +66792,22 @@ ], "type": "object" }, + "AWS::CleanRooms::ConfiguredTable.OutputColumnThreshold": { + "additionalProperties": false, + "properties": { + "MinimumIdentityCount": { + "type": "number" + }, + "OutputColumnName": { + "type": "string" + } + }, + "required": [ + "MinimumIdentityCount", + "OutputColumnName" + ], + "type": "object" + }, "AWS::CleanRooms::ConfiguredTable.SnowflakeTableReference": { "additionalProperties": false, "properties": { @@ -64654,6 +67532,61 @@ ], "type": "object" }, + "AWS::CleanRooms::IntermediateTable.AggregationThreshold": { + "additionalProperties": false, + "properties": { + "AllowedAggregateExpressionType": { + "type": "string" + }, + "IdentityColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MinimumIdentityCount": { + "type": "number" + }, + "OutputColumnThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.OutputColumnThreshold" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "AllowedAggregateExpressionType", + "IdentityColumns", + "MinimumIdentityCount", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::IntermediateTable.ComparisonControls": { + "additionalProperties": false, + "properties": { + "AllowedColumnComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedLiteralComparisonColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AllowedColumnComparisonColumns", + "AllowedLiteralComparisonColumns" + ], + "type": "object" + }, "AWS::CleanRooms::IntermediateTable.DifferentialPrivacy": { "additionalProperties": false, "properties": { @@ -64703,6 +67636,12 @@ "AdditionalAnalyses": { "type": "string" }, + "AggregationThresholds": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.AggregationThreshold" + }, + "type": "array" + }, "AllowedAnalyses": { "items": { "type": "string" @@ -64721,6 +67660,9 @@ }, "type": "array" }, + "ComparisonControls": { + "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.ComparisonControls" + }, "DifferentialPrivacy": { "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacy" }, @@ -64760,6 +67702,22 @@ ], "type": "object" }, + "AWS::CleanRooms::IntermediateTable.OutputColumnThreshold": { + "additionalProperties": false, + "properties": { + "MinimumIdentityCount": { + "type": "number" + }, + "OutputColumnName": { + "type": "string" + } + }, + "required": [ + "MinimumIdentityCount", + "OutputColumnName" + ], + "type": "object" + }, "AWS::CleanRooms::IntermediateTable.PopulationAnalysisConfiguration": { "additionalProperties": false, "properties": { @@ -65263,6 +68221,298 @@ }, "type": "object" }, + "AWS::CleanRoomsML::AudienceGenerationJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IncludeSeedInOutput": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CleanRoomsML::AudienceGenerationJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CleanRoomsML::AudienceGenerationJob.AudienceQualityMetrics": { + "additionalProperties": false, + "properties": { + "RecallMetric": { + "type": "number" + }, + "RelevanceMetrics": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::AudienceGenerationJob.RelevanceMetric" + }, + "type": "array" + } + }, + "required": [ + "RelevanceMetrics" + ], + "type": "object" + }, + "AWS::CleanRoomsML::AudienceGenerationJob.AudienceSize": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::CleanRoomsML::AudienceGenerationJob.RelevanceMetric": { + "additionalProperties": false, + "properties": { + "AudienceSize": { + "$ref": "#/definitions/AWS::CleanRoomsML::AudienceGenerationJob.AudienceSize" + }, + "Score": { + "type": "number" + } + }, + "required": [ + "AudienceSize" + ], + "type": "object" + }, + "AWS::CleanRoomsML::AudienceModel": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CleanRoomsML::AudienceModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredAudienceModel": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CleanRoomsML::ConfiguredAudienceModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredAudienceModel.AudienceDestination": { + "additionalProperties": false, + "properties": { + "S3Destination": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredAudienceModel.S3ConfigMap" + } + }, + "required": [ + "S3Destination" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredAudienceModel.AudienceSizeConfig": { + "additionalProperties": false, + "properties": { + "AudienceSizeBins": { + "items": { + "type": "number" + }, + "type": "array" + }, + "AudienceSizeType": { + "type": "string" + } + }, + "required": [ + "AudienceSizeBins", + "AudienceSizeType" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredAudienceModel.ConfiguredAudienceModelOutputConfig": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredAudienceModel.AudienceDestination" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Destination", + "RoleArn" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredAudienceModel.S3ConfigMap": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, "AWS::CleanRoomsML::ConfiguredModelAlgorithm": { "additionalProperties": false, "properties": { @@ -65298,153 +68548,733 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InferenceContainerConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig" - }, - "KmsKeyArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrainingContainerConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig" - } - }, - "required": [ - "Name", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CleanRoomsML::ConfiguredModelAlgorithm" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig": { - "additionalProperties": false, - "properties": { - "Arguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Entrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ImageUri": { - "type": "string" - }, - "MetricDefinitions": { - "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.MetricDefinition" - }, - "type": "array" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "type": "string" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithm.MetricDefinition": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Regex": { - "type": "string" - } - }, - "required": [ - "Name", - "Regex" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "Description": { + "type": "string" + }, + "InferenceContainerConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig" + }, + "KmsKeyArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrainingContainerConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig" + } + }, + "required": [ + "Name", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CleanRoomsML::ConfiguredModelAlgorithm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithm.ContainerConfig": { + "additionalProperties": false, + "properties": { + "Arguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Entrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageUri": { + "type": "string" + }, + "MetricDefinitions": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm.MetricDefinition" + }, + "type": "array" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithm.InferenceContainerConfig": { + "additionalProperties": false, + "properties": { + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithm.MetricDefinition": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "required": [ + "Name", + "Regex" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfiguredModelAlgorithmArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MembershipIdentifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PrivacyConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConfiguredModelAlgorithmArn", + "MembershipIdentifier", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig": { + "additionalProperties": false, + "properties": { + "CustomDataIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CustomDataIdentifiers" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration": { + "additionalProperties": false, + "properties": { + "CustomEntityConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig" + }, + "EntitiesToRedact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "EntitiesToRedact" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy": { + "additionalProperties": false, + "properties": { + "AllowedAccountIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FilterPattern": { + "type": "string" + }, + "LogRedactionConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration" + }, + "LogType": { + "type": "string" + } + }, + "required": [ + "AllowedAccountIds" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy": { + "additionalProperties": false, + "properties": { + "NoiseLevel": { + "type": "string" + } + }, + "required": [ + "NoiseLevel" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration": { + "additionalProperties": false, + "properties": { + "Policies": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfigurationPolicies" + } + }, + "required": [ + "Policies" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfigurationPolicies": { + "additionalProperties": false, + "properties": { + "TrainedModelExports": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy" + }, + "TrainedModelInferenceJobs": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy" + }, + "TrainedModels": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy": { + "additionalProperties": false, + "properties": { + "FilesToExport": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSize": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsMaxSize" + } + }, + "required": [ + "FilesToExport", + "MaxSize" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsMaxSize": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLogs": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy" + }, + "type": "array" + }, + "MaxOutputSize": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceMaxOutputSize" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceMaxOutputSize": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLogs": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy" + }, + "type": "array" + }, + "ContainerMetrics": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy" + }, + "MaxArtifactSize": { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CleanRoomsML::MLInputChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.AccessBudget": { + "additionalProperties": false, + "properties": { + "AggregateRemainingBudget": { + "type": "number" + }, + "Details": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.AccessBudgetDetails" + }, + "type": "array" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "AggregateRemainingBudget", + "Details", + "ResourceArn" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.AccessBudgetDetails": { + "additionalProperties": false, + "properties": { + "AutoRefresh": { + "type": "string" + }, + "Budget": { + "type": "number" + }, + "BudgetType": { + "type": "string" + }, + "RemainingBudget": { + "type": "number" + } + }, + "required": [ + "Budget", + "BudgetType", + "RemainingBudget" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.ColumnClassificationDetails": { + "additionalProperties": false, + "properties": { + "ColumnMapping": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.SyntheticDataColumnProperties" + }, + "type": "array" + } + }, + "required": [ + "ColumnMapping" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.ComputeConfiguration": { + "additionalProperties": false, + "properties": { + "Worker": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.WorkerComputeConfiguration" + } + }, + "required": [ + "Worker" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.InputChannel": { + "additionalProperties": false, + "properties": { + "DataSource": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.InputChannelDataSource" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "DataSource", + "RoleArn" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.InputChannelDataSource": { + "additionalProperties": false, + "properties": { + "ProtectedQueryInputParameters": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.ProtectedQueryInputParameters" + } + }, + "required": [ + "ProtectedQueryInputParameters" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.MLSyntheticDataParameters": { + "additionalProperties": false, + "properties": { + "ColumnClassification": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.ColumnClassificationDetails" + }, + "Epsilon": { + "type": "number" + }, + "MaxMembershipInferenceAttackScore": { + "type": "number" + } + }, + "required": [ + "Epsilon", + "MaxMembershipInferenceAttackScore" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.PrivacyBudgets": { + "additionalProperties": false, + "properties": { + "AccessBudgets": { + "items": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.AccessBudget" + }, + "type": "array" + } + }, + "required": [ + "AccessBudgets" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.Properties": { + "additionalProperties": false, + "properties": { + "Spark": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Spark" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.ProtectedQueryInputParameters": { + "additionalProperties": false, + "properties": { + "ComputeConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.ComputeConfiguration" + }, + "ResultFormat": { + "type": "string" + }, + "SqlParameters": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.ProtectedQuerySQLParameters" + } + }, + "required": [ + "SqlParameters" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.ProtectedQuerySQLParameters": { + "additionalProperties": false, + "properties": { + "AnalysisTemplateArn": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "QueryString": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.SyntheticDataColumnProperties": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "ColumnType": { + "type": "string" + }, + "IsPredictiveValue": { + "type": "boolean" + } + }, + "required": [ + "ColumnName", + "ColumnType", + "IsPredictiveValue" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.SyntheticDataConfiguration": { + "additionalProperties": false, + "properties": { + "SyntheticDataParameters": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.MLSyntheticDataParameters" + } + }, + "required": [ + "SyntheticDataParameters" + ], + "type": "object" + }, + "AWS::CleanRoomsML::MLInputChannel.WorkerComputeConfiguration": { + "additionalProperties": false, + "properties": { + "Number": { + "type": "number" + }, + "Properties": { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel.Properties" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CleanRoomsML::TrainedModelInferenceJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfiguredModelAlgorithmAssociationArn": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfiguredModelAlgorithmArn": { - "type": "string" + "DataSource": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.ModelInferenceDataSource" }, "Description": { "type": "string" @@ -65455,26 +69285,27 @@ "Name": { "type": "string" }, - "PrivacyConfiguration": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration" + "OutputConfiguration": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceOutputConfiguration" + }, + "ResourceConfig": { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceResourceConfig" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrainedModelArn": { + "type": "string" } }, - "required": [ - "ConfiguredModelAlgorithmArn", - "MembershipIdentifier", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation" + "AWS::CleanRoomsML::TrainedModelInferenceJob" ], "type": "string" }, @@ -65488,207 +69319,67 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig": { - "additionalProperties": false, - "properties": { - "CustomDataIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CustomDataIdentifiers" + "Type" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceOutputConfiguration": { "additionalProperties": false, "properties": { - "CustomEntityConfig": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.CustomEntityConfig" + "Accept": { + "type": "string" }, - "EntitiesToRedact": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "EntitiesToRedact" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy": { - "additionalProperties": false, - "properties": { - "AllowedAccountIds": { + "Members": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceReceiverMember" }, "type": "array" - }, - "FilterPattern": { - "type": "string" - }, - "LogRedactionConfiguration": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogRedactionConfiguration" - }, - "LogType": { - "type": "string" } }, "required": [ - "AllowedAccountIds" + "Members" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceReceiverMember": { "additionalProperties": false, "properties": { - "NoiseLevel": { + "AccountId": { "type": "string" } }, "required": [ - "NoiseLevel" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfiguration": { - "additionalProperties": false, - "properties": { - "Policies": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfigurationPolicies" - } - }, - "required": [ - "Policies" + "AccountId" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.PrivacyConfigurationPolicies": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.InferenceResourceConfig": { "additionalProperties": false, "properties": { - "TrainedModelExports": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy" - }, - "TrainedModelInferenceJobs": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy" - }, - "TrainedModels": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy" - } - }, - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { + "InstanceCount": { "type": "number" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsConfigurationPolicy": { - "additionalProperties": false, - "properties": { - "FilesToExport": { - "items": { - "type": "string" - }, - "type": "array" }, - "MaxSize": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsMaxSize" - } - }, - "required": [ - "FilesToExport", - "MaxSize" - ], - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelExportsMaxSize": { - "additionalProperties": false, - "properties": { - "Unit": { + "InstanceType": { "type": "string" - }, - "Value": { - "type": "number" } }, "required": [ - "Unit", - "Value" + "InstanceType" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceJobsConfigurationPolicy": { + "AWS::CleanRoomsML::TrainedModelInferenceJob.ModelInferenceDataSource": { "additionalProperties": false, "properties": { - "ContainerLogs": { - "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy" - }, - "type": "array" - }, - "MaxOutputSize": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceMaxOutputSize" - } - }, - "type": "object" - }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelInferenceMaxOutputSize": { - "additionalProperties": false, - "properties": { - "Unit": { + "MlInputChannelArn": { "type": "string" - }, - "Value": { - "type": "number" } }, "required": [ - "Unit", - "Value" + "MlInputChannelArn" ], "type": "object" }, - "AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelsConfigurationPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLogs": { - "items": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.LogsConfigurationPolicy" - }, - "type": "array" - }, - "ContainerMetrics": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.MetricsConfigurationPolicy" - }, - "MaxArtifactSize": { - "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation.TrainedModelArtifactMaxSize" - } - }, - "type": "object" - }, "AWS::CleanRoomsML::TrainingDataset": { "additionalProperties": false, "properties": { @@ -72867,6 +76558,63 @@ ], "type": "object" }, + "AWS::CloudHSMV2::Backup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudHSMV2::Backup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::CloudTrail::Channel": { "additionalProperties": false, "properties": { @@ -77064,6 +80812,149 @@ ], "type": "object" }, + "AWS::CodeBuild::Report": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::Report" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Report.CodeCoverageReportSummary": { + "additionalProperties": false, + "properties": { + "BranchCoveragePercentage": { + "type": "number" + }, + "BranchesCovered": { + "type": "number" + }, + "BranchesMissed": { + "type": "number" + }, + "LineCoveragePercentage": { + "type": "number" + }, + "LinesCovered": { + "type": "number" + }, + "LinesMissed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Report.ReportExportConfig": { + "additionalProperties": false, + "properties": { + "ExportConfigType": { + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::CodeBuild::Report.S3ReportExportConfig" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Report.S3ReportExportConfig": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "BucketOwner": { + "type": "string" + }, + "EncryptionDisabled": { + "type": "boolean" + }, + "EncryptionKey": { + "type": "string" + }, + "Packaging": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Report.TestReportSummary": { + "additionalProperties": false, + "properties": { + "DurationInNanoSeconds": { + "type": "number" + }, + "StatusCounts": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "number" + } + }, + "type": "object" + }, + "Total": { + "type": "number" + } + }, + "required": [ + "DurationInNanoSeconds", + "StatusCounts", + "Total" + ], + "type": "object" + }, "AWS::CodeBuild::ReportGroup": { "additionalProperties": false, "properties": { @@ -84317,6 +88208,85 @@ ], "type": "object" }, + "AWS::Comprehend::DocumentClassifierEndpoint": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DesiredInferenceUnits": { + "type": "number" + }, + "EndpointName": { + "type": "string" + }, + "ModelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DesiredInferenceUnits", + "EndpointName", + "ModelArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Comprehend::DocumentClassifierEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Comprehend::DominantLanguageDetectionJob": { "additionalProperties": false, "properties": { @@ -84800,34 +88770,123 @@ "Properties": { "additionalProperties": false, "properties": { - "DatasetName": { + "DatasetName": { + "type": "string" + }, + "DatasetType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FlywheelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatasetName", + "FlywheelArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Comprehend::FlywheelDataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Comprehend::PiiEntitiesDetectionJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataAccessRoleArn": { "type": "string" }, - "DatasetType": { + "InputDataConfig": { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob.InputDataConfig" + }, + "JobName": { "type": "string" }, - "Description": { + "LanguageCode": { "type": "string" }, - "FlywheelArn": { + "Mode": { "type": "string" }, + "RedactionConfig": { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob.RedactionConfig" + }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob.TagsItems" }, "type": "array" } }, "required": [ - "DatasetName", - "FlywheelArn" + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode", + "Mode" ], "type": "object" }, "Type": { "enum": [ - "AWS::Comprehend::FlywheelDataset" + "AWS::Comprehend::PiiEntitiesDetectionJob" ], "type": "string" }, @@ -84846,6 +88905,67 @@ ], "type": "object" }, + "AWS::Comprehend::PiiEntitiesDetectionJob.InputDataConfig": { + "additionalProperties": false, + "properties": { + "InputFormat": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Comprehend::PiiEntitiesDetectionJob.OutputDataConfig": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::Comprehend::PiiEntitiesDetectionJob.RedactionConfig": { + "additionalProperties": false, + "properties": { + "MaskCharacter": { + "type": "string" + }, + "MaskMode": { + "type": "string" + }, + "PiiEntityTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Comprehend::PiiEntitiesDetectionJob.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, "AWS::Comprehend::SentimentDetectionJob": { "additionalProperties": false, "properties": { @@ -90014,7 +94134,11 @@ } }, "required": [ - "InstanceArn" + "InstanceArn", + "MetricCalculation", + "Name", + "Status", + "Unit" ], "type": "object" }, @@ -98164,9 +102288,12 @@ "type": "number" }, "CrossRegionCopyTargets": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets", + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget" + }, "markdownDescription": "*[Default policies only]* Specifies destination Regions for snapshot or AMI copies. You can specify up to 3 destination Regions. If you do not want to create cross-Region copies, omit this parameter.", - "title": "CrossRegionCopyTargets" + "title": "CrossRegionCopyTargets", + "type": "array" }, "DefaultPolicy": { "markdownDescription": "*[Default policies only]* Specify the type of default policy to create.\n\n- To create a default policy for EBS snapshots, that creates snapshots of all volumes in the Region that do not have recent backups, specify `VOLUME` .\n- To create a default policy for EBS-backed AMIs, that creates EBS-backed AMIs from all instances in the Region that do not have recent backups, specify `INSTANCE` .", @@ -98450,11 +102577,6 @@ }, "type": "object" }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::DLM::LifecyclePolicy.DeprecateRule": { "additionalProperties": false, "properties": { @@ -98542,16 +102664,6 @@ ], "type": "object" }, - "AWS::DLM::LifecyclePolicy.ExcludeTags": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::DLM::LifecyclePolicy.Exclusions": { "additionalProperties": false, "properties": { @@ -98561,14 +102673,20 @@ "type": "boolean" }, "ExcludeTags": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeTags", + "items": { + "$ref": "#/definitions/Tag" + }, "markdownDescription": "*[Default policies for EBS-backed AMIs only]* Specifies whether to exclude volumes that have specific tags.", - "title": "ExcludeTags" + "title": "ExcludeTags", + "type": "array" }, "ExcludeVolumeTypes": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList", + "items": { + "type": "string" + }, "markdownDescription": "*[Default policies for EBS snapshots only]* Specifies the volume types to exclude. Volumes of the specified types will not be targeted by the policy.", - "title": "ExcludeVolumeTypes" + "title": "ExcludeVolumeTypes", + "type": "array" } }, "type": "object" @@ -98654,9 +102772,12 @@ "type": "number" }, "CrossRegionCopyTargets": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets", + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget" + }, "markdownDescription": "*[Default policies only]* Specifies destination Regions for snapshot or AMI copies. You can specify up to 3 destination Regions. If you do not want to create cross-Region copies, omit this parameter.", - "title": "CrossRegionCopyTargets" + "title": "CrossRegionCopyTargets", + "type": "array" }, "EventSource": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource", @@ -98911,11 +103032,6 @@ }, "type": "object" }, - "AWS::DLM::LifecyclePolicy.VolumeTypeValues": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { @@ -102066,87 +106182,245 @@ "Properties": { "additionalProperties": false, "properties": { - "CdcStartPosition": { - "markdownDescription": "Indicates when you want a change data capture (CDC) operation to start. Use either `CdcStartPosition` or `CdcStartTime` to specify when you want a CDC operation to start. Specifying both values results in an error.\n\nThe value can be in date, checkpoint, log sequence number (LSN), or system change number (SCN) format.\n\nHere is a date example: `--cdc-start-position \"2018-03-08T12:12:12\"`\n\nHere is a checkpoint example: `--cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"`\n\nHere is an LSN example: `--cdc-start-position \u201cmysql-bin-changelog.000024:373\u201d`\n\n> When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the `slotName` extra connection attribute to the name of this logical replication slot. For more information, see [Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", - "title": "CdcStartPosition", - "type": "string" - }, - "CdcStartTime": { - "markdownDescription": "Indicates the start time for a change data capture (CDC) operation.", - "title": "CdcStartTime", - "type": "number" - }, - "CdcStopPosition": { - "markdownDescription": "Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.\n\nHere is a server time example: `--cdc-stop-position \"server_time:2018-02-09T12:12:12\"`\n\nHere is a commit time example: `--cdc-stop-position \"commit_time: 2018-02-09T12:12:12\"`", - "title": "CdcStopPosition", - "type": "string" + "CdcStartPosition": { + "markdownDescription": "Indicates when you want a change data capture (CDC) operation to start. Use either `CdcStartPosition` or `CdcStartTime` to specify when you want a CDC operation to start. Specifying both values results in an error.\n\nThe value can be in date, checkpoint, log sequence number (LSN), or system change number (SCN) format.\n\nHere is a date example: `--cdc-start-position \"2018-03-08T12:12:12\"`\n\nHere is a checkpoint example: `--cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"`\n\nHere is an LSN example: `--cdc-start-position \u201cmysql-bin-changelog.000024:373\u201d`\n\n> When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the `slotName` extra connection attribute to the name of this logical replication slot. For more information, see [Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .", + "title": "CdcStartPosition", + "type": "string" + }, + "CdcStartTime": { + "markdownDescription": "Indicates the start time for a change data capture (CDC) operation.", + "title": "CdcStartTime", + "type": "number" + }, + "CdcStopPosition": { + "markdownDescription": "Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.\n\nHere is a server time example: `--cdc-stop-position \"server_time:2018-02-09T12:12:12\"`\n\nHere is a commit time example: `--cdc-stop-position \"commit_time: 2018-02-09T12:12:12\"`", + "title": "CdcStopPosition", + "type": "string" + }, + "MigrationType": { + "markdownDescription": "The migration type. Valid values: `full-load` | `cdc` | `full-load-and-cdc`", + "title": "MigrationType", + "type": "string" + }, + "ReplicationInstanceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of a replication instance.", + "title": "ReplicationInstanceArn", + "type": "string" + }, + "ReplicationTaskIdentifier": { + "markdownDescription": "An identifier for the replication task.\n\nConstraints:\n\n- Must contain 1-255 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.", + "title": "ReplicationTaskIdentifier", + "type": "string" + }, + "ReplicationTaskSettings": { + "markdownDescription": "Overall settings for the task, in JSON format. For more information, see [Specifying Task Settings for AWS Database Migration Service Tasks](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html) in the *AWS Database Migration Service User Guide* .", + "title": "ReplicationTaskSettings", + "type": "string" + }, + "ResourceIdentifier": { + "markdownDescription": "A display name for the resource identifier at the end of the `EndpointArn` response parameter that is returned in the created `Endpoint` object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as `Example-App-ARN1` .\n\nFor example, this value might result in the `EndpointArn` value `arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1` . If you don't specify a `ResourceIdentifier` value, AWS DMS generates a default identifier value for the end of `EndpointArn` .", + "title": "ResourceIdentifier", + "type": "string" + }, + "SourceEndpointArn": { + "markdownDescription": "An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.", + "title": "SourceEndpointArn", + "type": "string" + }, + "TableMappings": { + "markdownDescription": "The table mappings for the task, in JSON format. For more information, see [Using Table Mapping to Specify Task Settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html) in the *AWS Database Migration Service User Guide* .", + "title": "TableMappings", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "One or more tags to be assigned to the replication task.", + "title": "Tags", + "type": "array" + }, + "TargetEndpointArn": { + "markdownDescription": "An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.", + "title": "TargetEndpointArn", + "type": "string" + }, + "TaskData": { + "markdownDescription": "Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see [Specifying Supplemental Data for Task Settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html) in the *AWS Database Migration Service User Guide.*", + "title": "TaskData", + "type": "string" + } + }, + "required": [ + "MigrationType", + "ReplicationInstanceArn", + "SourceEndpointArn", + "TableMappings", + "TargetEndpointArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationTaskAssessmentRun": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationTaskAssessmentRun" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DMS::ReplicationTaskAssessmentRun.AssessmentProgress": { + "additionalProperties": false, + "properties": { + "IndividualAssessmentCompletedCount": { + "type": "number" + }, + "IndividualAssessmentCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DRS::LaunchConfigurationTemplate": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CopyPrivateIp": { + "type": "boolean" }, - "MigrationType": { - "markdownDescription": "The migration type. Valid values: `full-load` | `cdc` | `full-load-and-cdc`", - "title": "MigrationType", - "type": "string" + "CopyTags": { + "type": "boolean" }, - "ReplicationInstanceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of a replication instance.", - "title": "ReplicationInstanceArn", + "ExportBucketArn": { "type": "string" }, - "ReplicationTaskIdentifier": { - "markdownDescription": "An identifier for the replication task.\n\nConstraints:\n\n- Must contain 1-255 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.", - "title": "ReplicationTaskIdentifier", + "LaunchDisposition": { "type": "string" }, - "ReplicationTaskSettings": { - "markdownDescription": "Overall settings for the task, in JSON format. For more information, see [Specifying Task Settings for AWS Database Migration Service Tasks](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html) in the *AWS Database Migration Service User Guide* .", - "title": "ReplicationTaskSettings", - "type": "string" + "LaunchIntoSourceInstance": { + "type": "boolean" }, - "ResourceIdentifier": { - "markdownDescription": "A display name for the resource identifier at the end of the `EndpointArn` response parameter that is returned in the created `Endpoint` object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as `Example-App-ARN1` .\n\nFor example, this value might result in the `EndpointArn` value `arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1` . If you don't specify a `ResourceIdentifier` value, AWS DMS generates a default identifier value for the end of `EndpointArn` .", - "title": "ResourceIdentifier", - "type": "string" + "Licensing": { + "$ref": "#/definitions/AWS::DRS::LaunchConfigurationTemplate.Licensing" }, - "SourceEndpointArn": { - "markdownDescription": "An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.", - "title": "SourceEndpointArn", - "type": "string" - }, - "TableMappings": { - "markdownDescription": "The table mappings for the task, in JSON format. For more information, see [Using Table Mapping to Specify Task Settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html) in the *AWS Database Migration Service User Guide* .", - "title": "TableMappings", - "type": "string" + "PostLaunchEnabled": { + "type": "boolean" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more tags to be assigned to the replication task.", - "title": "Tags", "type": "array" }, - "TargetEndpointArn": { - "markdownDescription": "An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.", - "title": "TargetEndpointArn", - "type": "string" - }, - "TaskData": { - "markdownDescription": "Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see [Specifying Supplemental Data for Task Settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html) in the *AWS Database Migration Service User Guide.*", - "title": "TaskData", + "TargetInstanceTypeRightSizingMethod": { "type": "string" } }, - "required": [ - "MigrationType", - "ReplicationInstanceArn", - "SourceEndpointArn", - "TableMappings", - "TargetEndpointArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::DMS::ReplicationTask" + "AWS::DRS::LaunchConfigurationTemplate" ], "type": "string" }, @@ -102160,11 +106434,19 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, + "AWS::DRS::LaunchConfigurationTemplate.Licensing": { + "additionalProperties": false, + "properties": { + "OsByol": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::DRS::RecoveryInstance": { "additionalProperties": false, "properties": { @@ -105509,6 +109791,9 @@ "markdownDescription": "Specifies configuration information for a customer-managed Secrets Manager secret where a storage location credentials is stored in Secrets Manager as plain text (for authentication token, secret key, or password) or as binary (for Kerberos keytab). This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.\n\n> You can use either `CmkSecretConfig` or `CustomSecretConfig` to provide credentials for a `CreateLocation` request. Do not provide both parameters for the same request.", "title": "CustomSecretConfig" }, + "FederatedIdentity": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.AzureFederatedIdentityConfig" + }, "Subdirectory": { "markdownDescription": "Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, `/my/images` ).", "title": "Subdirectory", @@ -105563,6 +109848,34 @@ ], "type": "object" }, + "AWS::DataSync::LocationAzureBlob.AzureFederatedIdentityConfig": { + "additionalProperties": false, + "properties": { + "AwsIamRole": { + "type": "string" + }, + "AzureOidc": { + "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.AzureOidcConfig" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationAzureBlob.AzureOidcConfig": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "TenantId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "TenantId" + ], + "type": "object" + }, "AWS::DataSync::LocationAzureBlob.CmkSecretConfig": { "additionalProperties": false, "properties": { @@ -106730,6 +111043,9 @@ "markdownDescription": "Specifies configuration information for a customer-managed Secrets Manager secret where the secret key for a specific object storage location is stored in plain text, in Secrets Manager. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.\n\n> You can use either `CmkSecretConfig` (with `SecretKey` ) or `CustomSecretConfig` (without `SecretKey` ) to provide credentials for a `CreateLocationObjectStorage` request. Do not provide both parameters for the same request.", "title": "CustomSecretConfig" }, + "FederatedIdentity": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.ObjectStorageFederatedIdentityConfig" + }, "SecretKey": { "markdownDescription": "Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.\n\n> If you provide a secret using `SecretKey` , but do not provide secret configuration details using `CmkSecretConfig` or `CustomSecretConfig` , then DataSync stores the token using your AWS account's Secrets Manager secret.", "title": "SecretKey", @@ -106827,6 +111143,30 @@ ], "type": "object" }, + "AWS::DataSync::LocationObjectStorage.GoogleOidcConfig": { + "additionalProperties": false, + "properties": { + "IdentityPoolName": { + "type": "string" + }, + "IdentityProviderName": { + "type": "string" + }, + "ProjectName": { + "type": "string" + }, + "ProjectNumber": { + "type": "string" + } + }, + "required": [ + "IdentityPoolName", + "IdentityProviderName", + "ProjectName", + "ProjectNumber" + ], + "type": "object" + }, "AWS::DataSync::LocationObjectStorage.ManagedSecretConfig": { "additionalProperties": false, "properties": { @@ -106841,6 +111181,27 @@ ], "type": "object" }, + "AWS::DataSync::LocationObjectStorage.ObjectStorageExternalIdentityConfig": { + "additionalProperties": false, + "properties": { + "GoogleOidc": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.GoogleOidcConfig" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationObjectStorage.ObjectStorageFederatedIdentityConfig": { + "additionalProperties": false, + "properties": { + "AwsIamRole": { + "type": "string" + }, + "ExternalIdentity": { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage.ObjectStorageExternalIdentityConfig" + } + }, + "type": "object" + }, "AWS::DataSync::LocationS3": { "additionalProperties": false, "properties": { @@ -107400,6 +111761,9 @@ "title": "Mtime", "type": "string" }, + "ObjectMetadata": { + "type": "string" + }, "ObjectTags": { "markdownDescription": "Specifies whether you want DataSync to `PRESERVE` object tags (default behavior) when transferring between object storage systems. If you want your DataSync task to ignore object tags, specify the `NONE` value.", "title": "ObjectTags", @@ -112951,43 +117315,201 @@ "additionalProperties": false, "properties": { "FarmId": { - "markdownDescription": "The identifier assigned to the farm that contains the queue.", + "markdownDescription": "The identifier assigned to the farm that contains the queue.", + "title": "FarmId", + "type": "string" + }, + "Priority": { + "markdownDescription": "The queue environment's priority.", + "title": "Priority", + "type": "number" + }, + "QueueId": { + "markdownDescription": "The unique identifier of the queue that contains the environment.", + "title": "QueueId", + "type": "string" + }, + "Template": { + "markdownDescription": "A JSON or YAML template that describes the processing environment for the queue.", + "title": "Template", + "type": "string" + }, + "TemplateType": { + "markdownDescription": "Specifies whether the template for the queue environment is JSON or YAML.", + "title": "TemplateType", + "type": "string" + } + }, + "required": [ + "FarmId", + "Priority", + "QueueId", + "Template", + "TemplateType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Deadline::QueueEnvironment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Deadline::QueueFleetAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FarmId": { + "markdownDescription": "The identifier of the farm that contains the queue and the fleet.", + "title": "FarmId", + "type": "string" + }, + "FleetId": { + "markdownDescription": "The fleet ID.", + "title": "FleetId", + "type": "string" + }, + "QueueId": { + "markdownDescription": "The queue ID.", + "title": "QueueId", + "type": "string" + } + }, + "required": [ + "FarmId", + "FleetId", + "QueueId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Deadline::QueueFleetAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Deadline::QueueLimitAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FarmId": { + "markdownDescription": "The unique identifier of the farm that contains the queue-limit association.", "title": "FarmId", "type": "string" }, - "Priority": { - "markdownDescription": "The queue environment's priority.", - "title": "Priority", - "type": "number" + "LimitId": { + "markdownDescription": "The unique identifier of the limit in the association.", + "title": "LimitId", + "type": "string" }, "QueueId": { - "markdownDescription": "The unique identifier of the queue that contains the environment.", + "markdownDescription": "The unique identifier of the queue in the association.", "title": "QueueId", "type": "string" - }, - "Template": { - "markdownDescription": "A JSON or YAML template that describes the processing environment for the queue.", - "title": "Template", - "type": "string" - }, - "TemplateType": { - "markdownDescription": "Specifies whether the template for the queue environment is JSON or YAML.", - "title": "TemplateType", - "type": "string" } }, "required": [ "FarmId", - "Priority", - "QueueId", - "Template", - "TemplateType" + "LimitId", + "QueueId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::QueueEnvironment" + "AWS::Deadline::QueueLimitAssociation" ], "type": "string" }, @@ -113006,7 +117528,7 @@ ], "type": "object" }, - "AWS::Deadline::QueueFleetAssociation": { + "AWS::Deadline::StorageProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -113041,32 +117563,40 @@ "Properties": { "additionalProperties": false, "properties": { + "DisplayName": { + "markdownDescription": "The display name of the storage profile summary to update.\n\n> This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.", + "title": "DisplayName", + "type": "string" + }, "FarmId": { - "markdownDescription": "The identifier of the farm that contains the queue and the fleet.", + "markdownDescription": "The unique identifier of the farm that contains the storage profile.", "title": "FarmId", "type": "string" }, - "FleetId": { - "markdownDescription": "The fleet ID.", - "title": "FleetId", - "type": "string" + "FileSystemLocations": { + "items": { + "$ref": "#/definitions/AWS::Deadline::StorageProfile.FileSystemLocation" + }, + "markdownDescription": "Operating system specific file system path to the storage location.", + "title": "FileSystemLocations", + "type": "array" }, - "QueueId": { - "markdownDescription": "The queue ID.", - "title": "QueueId", + "OsFamily": { + "markdownDescription": "The operating system (OS) family.", + "title": "OsFamily", "type": "string" } }, "required": [ + "DisplayName", "FarmId", - "FleetId", - "QueueId" + "OsFamily" ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::QueueFleetAssociation" + "AWS::Deadline::StorageProfile" ], "type": "string" }, @@ -113085,86 +117615,33 @@ ], "type": "object" }, - "AWS::Deadline::QueueLimitAssociation": { + "AWS::Deadline::StorageProfile.FileSystemLocation": { "additionalProperties": false, "properties": { - "Condition": { + "Name": { + "markdownDescription": "The location name.", + "title": "Name", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Path": { + "markdownDescription": "The file path.", + "title": "Path", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FarmId": { - "markdownDescription": "The unique identifier of the farm that contains the queue-limit association.", - "title": "FarmId", - "type": "string" - }, - "LimitId": { - "markdownDescription": "The unique identifier of the limit in the association.", - "title": "LimitId", - "type": "string" - }, - "QueueId": { - "markdownDescription": "The unique identifier of the queue in the association.", - "title": "QueueId", - "type": "string" - } - }, - "required": [ - "FarmId", - "LimitId", - "QueueId" - ], - "type": "object" - }, "Type": { - "enum": [ - "AWS::Deadline::QueueLimitAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "The type of file.", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "Name", + "Path", + "Type" ], "type": "object" }, - "AWS::Deadline::StorageProfile": { + "AWS::Deadline::Volume": { "additionalProperties": false, "properties": { "Condition": { @@ -113199,40 +117676,24 @@ "Properties": { "additionalProperties": false, "properties": { - "DisplayName": { - "markdownDescription": "The display name of the storage profile summary to update.\n\n> This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.", - "title": "DisplayName", + "FarmId": { "type": "string" }, - "FarmId": { - "markdownDescription": "The unique identifier of the farm that contains the storage profile.", - "title": "FarmId", + "FleetId": { "type": "string" }, - "FileSystemLocations": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::Deadline::StorageProfile.FileSystemLocation" + "$ref": "#/definitions/AWS::Deadline::Volume.TagsItems" }, - "markdownDescription": "Operating system specific file system path to the storage location.", - "title": "FileSystemLocations", "type": "array" - }, - "OsFamily": { - "markdownDescription": "The operating system (OS) family.", - "title": "OsFamily", - "type": "string" } }, - "required": [ - "DisplayName", - "FarmId", - "OsFamily" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::StorageProfile" + "AWS::Deadline::Volume" ], "type": "string" }, @@ -113246,34 +117707,23 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Deadline::StorageProfile.FileSystemLocation": { + "AWS::Deadline::Volume.TagsItems": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The location name.", - "title": "Name", - "type": "string" - }, - "Path": { - "markdownDescription": "The file path.", - "title": "Path", + "Key": { "type": "string" }, - "Type": { - "markdownDescription": "The type of file.", - "title": "Type", + "Value": { "type": "string" } }, "required": [ - "Name", - "Path", - "Type" + "Key", + "Value" ], "type": "object" }, @@ -117693,7 +122143,7 @@ ], "type": "object" }, - "AWS::DynamoDB::Backup": { + "AWS::DocDBElastic::ClusterSnapshot": { "additionalProperties": false, "properties": { "Condition": { @@ -117728,22 +122178,28 @@ "Properties": { "additionalProperties": false, "properties": { - "BackupName": { + "ClusterArn": { "type": "string" }, - "TableName": { + "SnapshotName": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "BackupName", - "TableName" + "ClusterArn", + "SnapshotName" ], "type": "object" }, "Type": { "enum": [ - "AWS::DynamoDB::Backup" + "AWS::DocDBElastic::ClusterSnapshot" ], "type": "string" }, @@ -117968,6 +122424,12 @@ "markdownDescription": "Specifies the time to live (TTL) settings for the table. This setting will be applied to all replicas.", "title": "TimeToLiveSpecification" }, + "VectorIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.VectorIndex" + }, + "type": "array" + }, "WarmThroughput": { "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WarmThroughput", "markdownDescription": "Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the `UpdateTable` operation to meet the throughput requirements of an upcoming peak event.", @@ -118456,6 +122918,22 @@ ], "type": "object" }, + "AWS::DynamoDB::GlobalTable.SearchSchemaElement": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "SearchSchemaElementType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "SearchSchemaElementType" + ], + "type": "object" + }, "AWS::DynamoDB::GlobalTable.StreamSpecification": { "additionalProperties": false, "properties": { @@ -118518,6 +122996,52 @@ ], "type": "object" }, + "AWS::DynamoDB::GlobalTable.VectorAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + } + }, + "required": [ + "AttributeName" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.VectorIndex": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "type": "number" + }, + "DistanceFunction": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" + }, + "SearchSchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SearchSchemaElement" + }, + "type": "array" + }, + "VectorAttribute": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.VectorAttribute" + } + }, + "required": [ + "Dimensions", + "DistanceFunction", + "IndexName", + "Projection", + "VectorAttribute" + ], + "type": "object" + }, "AWS::DynamoDB::GlobalTable.WarmThroughput": { "additionalProperties": false, "properties": { @@ -118781,6 +123305,12 @@ "markdownDescription": "Specifies the Time to Live (TTL) settings for the table.\n\n> For detailed information about the limits in DynamoDB, see [Limits in Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the Amazon DynamoDB Developer Guide.", "title": "TimeToLiveSpecification" }, + "VectorIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.VectorIndex" + }, + "type": "array" + }, "WarmThroughput": { "$ref": "#/definitions/AWS::DynamoDB::Table.WarmThroughput", "markdownDescription": "Represents the warm throughput (in read units per second and write units per second) for creating a table.", @@ -119162,6 +123692,22 @@ ], "type": "object" }, + "AWS::DynamoDB::Table.SearchSchemaElement": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "SearchSchemaElementType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "SearchSchemaElementType" + ], + "type": "object" + }, "AWS::DynamoDB::Table.StreamSpecification": { "additionalProperties": false, "properties": { @@ -119206,6 +123752,52 @@ ], "type": "object" }, + "AWS::DynamoDB::Table.VectorAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + } + }, + "required": [ + "AttributeName" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.VectorIndex": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "type": "number" + }, + "DistanceFunction": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" + }, + "SearchSchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.SearchSchemaElement" + }, + "type": "array" + }, + "VectorAttribute": { + "$ref": "#/definitions/AWS::DynamoDB::Table.VectorAttribute" + } + }, + "required": [ + "Dimensions", + "DistanceFunction", + "IndexName", + "Projection", + "VectorAttribute" + ], + "type": "object" + }, "AWS::DynamoDB::Table.WarmThroughput": { "additionalProperties": false, "properties": { @@ -119222,6 +123814,159 @@ }, "type": "object" }, + "AWS::EC2::ApplicationStatusCheck": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "FailureThreshold": { + "type": "number" + }, + "HealthCheckPaths": { + "items": { + "$ref": "#/definitions/AWS::EC2::ApplicationStatusCheck.HealthCheckPath" + }, + "type": "array" + }, + "InitializationGracePeriodSeconds": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "IpScope": { + "type": "string" + }, + "IpVersion": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "StatusCodeMatcher": { + "type": "string" + }, + "SuccessThreshold": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ApplicationStatusCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ApplicationStatusCheck.HealthCheckPath": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::EC2::ApplicationStatusCheck.HealthCheckPathDestination" + }, + "type": "array" + }, + "Source": { + "$ref": "#/definitions/AWS::EC2::ApplicationStatusCheck.HealthCheckPathSource" + } + }, + "type": "object" + }, + "AWS::EC2::ApplicationStatusCheck.HealthCheckPathDestination": { + "additionalProperties": false, + "properties": { + "SecurityGroupId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::ApplicationStatusCheck.HealthCheckPathSource": { + "additionalProperties": false, + "properties": { + "SecurityGroupId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::CapacityManagerDataExport": { "additionalProperties": false, "properties": { @@ -120825,6 +125570,24 @@ }, "type": "object" }, + "AWS::EC2::EC2Fleet.CapacityReservationTargetRequest": { + "additionalProperties": false, + "properties": { + "CapacityReservationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CapacityReservationResourceGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EC2::EC2Fleet.CpuPerformanceFactorRequest": { "additionalProperties": false, "properties": { @@ -120862,6 +125625,9 @@ "title": "KmsKeyId", "type": "string" }, + "MultiAvailabilityZoneConfiguration": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.MultiAvailabilityZoneConfiguration" + }, "SnapshotId": { "markdownDescription": "The ID of the snapshot.", "title": "SnapshotId", @@ -121239,6 +126005,21 @@ }, "type": "object" }, + "AWS::EC2::EC2Fleet.MultiAvailabilityZoneConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationType": { + "type": "string" + }, + "StandbyAvailabilityZones": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.StandbyAvailabilityZone" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EC2::EC2Fleet.NetworkBandwidthGbpsRequest": { "additionalProperties": false, "properties": { @@ -121433,14 +126214,35 @@ }, "type": "object" }, + "AWS::EC2::EC2Fleet.ReservedCapacityFallbackOptionsRequest": { + "additionalProperties": false, + "properties": { + "MarketTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::EC2::EC2Fleet.ReservedCapacityOptionsRequest": { "additionalProperties": false, "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationTargetRequest" + }, "ReservationTypes": { "items": { "type": "string" }, "type": "array" + }, + "ReservedCapacityFallbackOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.ReservedCapacityFallbackOptionsRequest" } }, "type": "object" @@ -121491,6 +126293,18 @@ }, "type": "object" }, + "AWS::EC2::EC2Fleet.StandbyAvailabilityZone": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::EC2Fleet.TagSpecification": { "additionalProperties": false, "properties": { @@ -139440,18 +144254,105 @@ "PropagateTags": { "type": "string" }, - "Tags": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Daemon" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Daemon.DaemonAlarmConfiguration": { + "additionalProperties": false, + "properties": { + "AlarmNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ECS::Daemon.DaemonDeploymentConfiguration": { + "additionalProperties": false, + "properties": { + "Alarms": { + "$ref": "#/definitions/AWS::ECS::Daemon.DaemonAlarmConfiguration" + }, + "BakeTimeInMinutes": { + "type": "number" + }, + "DrainPercent": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonDeployment": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { "items": { - "$ref": "#/definitions/Tag" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, "type": "array" } - }, + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Daemon" + "AWS::ECS::DaemonDeployment" ], "type": "string" }, @@ -139469,7 +144370,7 @@ ], "type": "object" }, - "AWS::ECS::Daemon.DaemonAlarmConfiguration": { + "AWS::ECS::DaemonDeployment.DaemonAlarmConfiguration": { "additionalProperties": false, "properties": { "AlarmNames": { @@ -139484,11 +144385,62 @@ }, "type": "object" }, - "AWS::ECS::Daemon.DaemonDeploymentConfiguration": { + "AWS::ECS::DaemonDeployment.DaemonCircuitBreaker": { + "additionalProperties": false, + "properties": { + "FailureCount": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "Threshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonDeployment.DaemonDeploymentAlarms": { + "additionalProperties": false, + "properties": { + "AlarmNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Status": { + "type": "string" + }, + "TriggeredAlarmNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonDeployment.DaemonDeploymentCapacityProvider": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DrainingInstanceCount": { + "type": "number" + }, + "RunningInstanceCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::DaemonDeployment.DaemonDeploymentConfiguration": { "additionalProperties": false, "properties": { "Alarms": { - "$ref": "#/definitions/AWS::ECS::Daemon.DaemonAlarmConfiguration" + "$ref": "#/definitions/AWS::ECS::DaemonDeployment.DaemonAlarmConfiguration" }, "BakeTimeInMinutes": { "type": "number" @@ -139499,6 +144451,27 @@ }, "type": "object" }, + "AWS::ECS::DaemonDeployment.DaemonDeploymentRevisionDetail": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CapacityProviders": { + "items": { + "$ref": "#/definitions/AWS::ECS::DaemonDeployment.DaemonDeploymentCapacityProvider" + }, + "type": "array" + }, + "TotalDrainingInstanceCount": { + "type": "number" + }, + "TotalRunningInstanceCount": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ECS::DaemonTaskDefinition": { "additionalProperties": false, "properties": { @@ -140749,49 +145722,1062 @@ "title": "ServiceName", "type": "string" }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" - }, - "markdownDescription": "The details of the service discovery registry to associate with this service. For more information, see [Service discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) .\n\n> Each service may be associated with one service registry. Multiple service registries for each service isn't supported. > To remove this property from your service resource, specify an empty `ServiceRegistry` array.", - "title": "ServiceRegistries", - "type": "array" - }, - "Tags": { + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" + }, + "markdownDescription": "The details of the service discovery registry to associate with this service. For more information, see [Service discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) .\n\n> Each service may be associated with one service registry. Multiple service registries for each service isn't supported. > To remove this property from your service resource, specify an empty `ServiceRegistry` array.", + "title": "ServiceRegistries", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.\n\nThe following basic restrictions apply to tags:\n\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.", + "title": "Tags", + "type": "array" + }, + "TaskDefinition": { + "markdownDescription": "The `family` and `revision` ( `family:revision` ) or full ARN of the task definition to run in your service. If a `revision` isn't specified, the latest `ACTIVE` revision is used.\n\nA task definition must be specified if the service uses either the `ECS` or `CODE_DEPLOY` deployment controllers.\n\nFor more information about deployment types, see [Amazon ECS deployment types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) .", + "title": "TaskDefinition", + "type": "string" + }, + "VolumeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceVolumeConfiguration" + }, + "markdownDescription": "The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume.\n\n> To remove this property from your service resource, specify an empty `ServiceVolumeConfiguration` array.", + "title": "VolumeConfigurations", + "type": "array" + }, + "VpcLatticeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.VpcLatticeConfiguration" + }, + "markdownDescription": "The VPC Lattice configuration for the service being created.", + "title": "VpcLatticeConfigurations", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.AdvancedConfiguration": { + "additionalProperties": false, + "properties": { + "AlternateTargetGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.", + "title": "AlternateTargetGroupArn", + "type": "string" + }, + "ProductionListenerRule": { + "markdownDescription": "The Amazon Resource Name (ARN) that that identifies the production listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing production traffic.", + "title": "ProductionListenerRule", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call the Elastic Load Balancing APIs for you.", + "title": "RoleArn", + "type": "string" + }, + "TestListenerRule": { + "markdownDescription": "The Amazon Resource Name (ARN) that identifies ) that identifies the test listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing test traffic.", + "title": "TestListenerRule", + "type": "string" + } + }, + "required": [ + "AlternateTargetGroupArn" + ], + "type": "object" + }, + "AWS::ECS::Service.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "markdownDescription": "Whether the task's elastic network interface receives a public IP address.\n\nConsider the following when you set this value:\n\n- When you use `create-service` or `update-service` , the default is `DISABLED` .\n- When the service `deploymentController` is `ECS` , the value must be `DISABLED` .", + "title": "AssignPublicIp", + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified.\n\n> All specified security groups must be from the same VPC.", + "title": "SecurityGroups", + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified.\n\n> All specified subnets must be from the same VPC.", + "title": "Subnets", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::Service.CanaryConfiguration": { + "additionalProperties": false, + "properties": { + "CanaryBakeTimeInMinutes": { + "markdownDescription": "The amount of time in minutes to wait during the canary phase before shifting the remaining production traffic to the new service revision. Valid values are 0 to 1440 minutes (24 hours). The default value is 10.", + "title": "CanaryBakeTimeInMinutes", + "type": "number" + }, + "CanaryPercent": { + "markdownDescription": "The percentage of production traffic to shift to the new service revision during the canary phase. Valid values are multiples of 0.1 from 0.1 to 100.0. The default value is 5.0.", + "title": "CanaryPercent", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "markdownDescription": "The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider for each service. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used.\n\nBase value characteristics:\n\n- Only one capacity provider in a strategy can have a base defined\n- The default value is `0` if not specified\n- The valid range is 0 to 100,000\n- Base requirements are satisfied first before weight distribution", + "title": "Base", + "type": "number" + }, + "CapacityProvider": { + "markdownDescription": "The short name of the capacity provider. This can be either an AWS managed capacity provider ( `FARGATE` or `FARGATE_SPOT` ) or the name of a custom capacity provider that you created.", + "title": "CapacityProvider", + "type": "string" + }, + "Weight": { + "markdownDescription": "The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied.\n\nIf no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail.\n\nWeight value characteristics:\n\n- Weight is considered after the base value is satisfied\n- The default value is `0` if not specified\n- The valid range is 0 to 1,000\n- At least one capacity provider must have a weight greater than zero\n- Capacity providers with weight of `0` cannot place tasks\n\nTask distribution logic:\n\n- Base satisfaction: The minimum number of tasks specified by the base value are placed on that capacity provider\n- Weight distribution: After base requirements are met, additional tasks are distributed according to weight ratios\n\nExamples:\n\nEqual Distribution: Two capacity providers both with weight `1` will split tasks evenly after base requirements are met.\n\nWeighted Distribution: If capacityProviderA has weight `1` and capacityProviderB has weight `4` , then for every 1 task on A, 4 tasks will run on B.", + "title": "Weight", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentAlarms": { + "additionalProperties": false, + "properties": { + "AlarmNames": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more CloudWatch alarm names. Use a \",\" to separate the alarms.", + "title": "AlarmNames", + "type": "array" + }, + "Enable": { + "markdownDescription": "Determines whether to use the CloudWatch alarm option in the service deployment process.", + "title": "Enable", + "type": "boolean" + }, + "Rollback": { + "markdownDescription": "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is used, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.", + "title": "Rollback", + "type": "boolean" + } + }, + "required": [ + "AlarmNames", + "Enable", + "Rollback" + ], + "type": "object" + }, + "AWS::ECS::Service.DeploymentCircuitBreaker": { + "additionalProperties": false, + "properties": { + "Enable": { + "markdownDescription": "Determines whether to use the deployment circuit breaker logic for the service.", + "title": "Enable", + "type": "boolean" + }, + "ResetOnHealthyTask": { + "type": "boolean" + }, + "Rollback": { + "markdownDescription": "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.", + "title": "Rollback", + "type": "boolean" + }, + "ThresholdConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.ThresholdConfiguration" + } + }, + "required": [ + "Enable", + "Rollback" + ], + "type": "object" + }, + "AWS::ECS::Service.DeploymentConfiguration": { + "additionalProperties": false, + "properties": { + "Alarms": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentAlarms", + "markdownDescription": "Information about the CloudWatch alarms.", + "title": "Alarms" + }, + "BakeTimeInMinutes": { + "markdownDescription": "The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted.\n\nThe following rules apply when you don't specify a value:\n\n- For rolling deployments, the value is set to 3 hours (180 minutes).\n- When you use an external deployment controller ( `EXTERNAL` ), or the CodeDeploy blue/green deployment controller ( `CODE_DEPLOY` ), the value is set to 3 hours (180 minutes).\n- For all other cases, the value is set to 36 hours (2160 minutes).", + "title": "BakeTimeInMinutes", + "type": "number" + }, + "CanaryConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.CanaryConfiguration", + "markdownDescription": "Configuration for canary deployment strategy. Only valid when the deployment strategy is `CANARY` . This configuration enables shifting a fixed percentage of traffic for testing, followed by shifting the remaining traffic after a bake period.", + "title": "CanaryConfiguration" + }, + "DeploymentCircuitBreaker": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker", + "markdownDescription": "> The deployment circuit breaker can only be used for services using the rolling update ( `ECS` ) deployment type. \n\nThe *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide*", + "title": "DeploymentCircuitBreaker" + }, + "EarlySuccessCriteria": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentEarlySuccessCriteria" + }, + "LifecycleHooks": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentLifecycleHook" + }, + "markdownDescription": "An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.", + "title": "LifecycleHooks", + "type": "array" + }, + "LinearConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.LinearConfiguration", + "markdownDescription": "Configuration for linear deployment strategy. Only valid when the deployment strategy is `LINEAR` . This configuration enables progressive traffic shifting in equal percentage increments with configurable bake times between each step.", + "title": "LinearConfiguration" + }, + "MaximumPercent": { + "markdownDescription": "If a service is using the rolling update ( `ECS` ) deployment type, the `maximumPercent` parameter represents an upper limit on the number of your service's tasks that are allowed in the `RUNNING` or `PENDING` state during a deployment, as a percentage of the `desiredCount` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the `REPLICA` service scheduler and has a `desiredCount` of four tasks and a `maximumPercent` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default `maximumPercent` value for a service using the `REPLICA` service scheduler is 200%.\n\nThe Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) .\n\nIf a service is using either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the `RUNNING` state while the container instances are in the `DRAINING` state.\n\n> You can't specify a custom `maximumPercent` value for a service that uses either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and has tasks that use the EC2 launch type. \n\nIf the service uses either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service.", + "title": "MaximumPercent", + "type": "number" + }, + "MinimumHealthyPercent": { + "markdownDescription": "If a service is using the rolling update ( `ECS` ) deployment type, the `minimumHealthyPercent` represents a lower limit on the number of your service's tasks that must remain in the `RUNNING` state during a deployment, as a percentage of the `desiredCount` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a `desiredCount` of four tasks and a `minimumHealthyPercent` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks.\n\nIf any tasks are unhealthy and if `maximumPercent` doesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one \u2014 using the `minimumHealthyPercent` as a constraint \u2014 to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) .\n\nFor services that *do not* use a load balancer, the following should be noted:\n\n- A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n- If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a `RUNNING` state before the task is counted towards the minimum healthy percent total.\n- If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings.\n\nFor services that *do* use a load balancer, the following should be noted:\n\n- If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n- If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n\nThe default value for a replica service for `minimumHealthyPercent` is 100%. The default `minimumHealthyPercent` value for a service using the `DAEMON` service schedule is 0% for the AWS CLI , the AWS SDKs, and the APIs and 50% for the AWS Management Console.\n\nThe minimum number of healthy tasks during a deployment is the `desiredCount` multiplied by the `minimumHealthyPercent` /100, rounded up to the nearest integer value.\n\nIf a service is using either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the `RUNNING` state while the container instances are in the `DRAINING` state.\n\n> You can't specify a custom `minimumHealthyPercent` value for a service that uses either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and has tasks that use the EC2 launch type. \n\nIf a service is using either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.", + "title": "MinimumHealthyPercent", + "type": "number" + }, + "Strategy": { + "markdownDescription": "The deployment strategy for the service. Choose from these valid values:\n\n- `ROLLING` - When you create a service which uses the rolling update ( `ROLLING` ) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.\n- `BLUE_GREEN` - A blue/green deployment strategy ( `BLUE_GREEN` ) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.\n- `LINEAR` - A *linear* deployment strategy ( `LINEAR` ) gradually shifts traffic from the current production environment to a new environment in equal percentages over time. With Amazon ECS linear deployments, you can control the pace of traffic shifting and validate new service revisions with increasing amounts of production traffic.\n- `CANARY` - A *canary* deployment strategy ( `CANARY` ) shifts a small percentage of traffic to the new service revision first, then shifts the remaining traffic all at once after a specified time period. This allows you to test the new version with a subset of users before full deployment.", + "title": "Strategy", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentController": { + "additionalProperties": false, + "properties": { + "Type": { + "markdownDescription": "The deployment controller type to use.\n\nThe deployment controller is the mechanism that determines how tasks are deployed for your service. The valid options are:\n\n- ECS\n\nWhen you create a service which uses the `ECS` deployment controller, you can choose between the following deployment strategies:\n\n- `ROLLING` : When you create a service which uses the *rolling update* ( `ROLLING` ) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.\n\nRolling update deployments are best suited for the following scenarios:\n\n- Gradual service updates: You need to update your service incrementally without taking the entire service offline at once.\n- Limited resource requirements: You want to avoid the additional resource costs of running two complete environments simultaneously (as required by blue/green deployments).\n- Acceptable deployment time: Your application can tolerate a longer deployment process, as rolling updates replace tasks one by one.\n- No need for instant roll back: Your service can tolerate a rollback process that takes minutes rather than seconds.\n- Simple deployment process: You prefer a straightforward deployment approach without the complexity of managing multiple environments, target groups, and listeners.\n- No load balancer requirement: Your service doesn't use or require a load balancer, Application Load Balancer , Network Load Balancer , or Service Connect (which are required for blue/green deployments).\n- Stateful applications: Your application maintains state that makes it difficult to run two parallel environments.\n- Cost sensitivity: You want to minimize deployment costs by not running duplicate environments during deployment.\n\nRolling updates are the default deployment strategy for services and provide a balance between deployment safety and resource efficiency for many common application scenarios.\n- `BLUE_GREEN` : A *blue/green* deployment strategy ( `BLUE_GREEN` ) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.\n\nAmazon ECS blue/green deployments are best suited for the following scenarios:\n\n- Service validation: When you need to validate new service revisions before directing production traffic to them\n- Zero downtime: When your service requires zero-downtime deployments\n- Instant roll back: When you need the ability to quickly roll back if issues are detected\n- Load balancer requirement: When your service uses Application Load Balancer , Network Load Balancer , or Service Connect\n- External\n\nUse a third-party deployment controller.\n- Blue/green deployment (powered by CodeDeploy )\n\nCodeDeploy installs an updated version of the application as a new replacement task set and reroutes production traffic from the original application task set to the replacement task set. The original task set is terminated after a successful deployment. Use this deployment controller to verify a new deployment of a service before sending production traffic to it.\n\nWhen updating the deployment controller for a service, consider the following depending on the type of migration you're performing.\n\n- If you have a template that contains the `EXTERNAL` deployment controller information as well as `TaskSet` and `PrimaryTaskSet` resources, and you remove the task set resources from the template when updating from `EXTERNAL` to `ECS` , the `DescribeTaskSet` and `DeleteTaskSet` API calls will return a 400 error after the deployment controller is updated to `ECS` . This results in a delete failure on the task set resources, even though the stack transitions to `UPDATE_COMPLETE` status. For more information, see [Resource removed from stack but not deleted](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-resource-removed-not-deleted) in the AWS CloudFormation User Guide. To fix this issue, delete the task sets directly using the Amazon ECS `DeleteTaskSet` API. For more information about how to delete a task set, see [DeleteTaskSet](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html) in the ECSlong API Reference.\n- If you're migrating from `CODE_DEPLOY` to `ECS` with a new task definition and CloudFormation performs a rollback operation, the Amazon ECS `UpdateService` request fails with the following error:\n\nResource handler returned message: \"Invalid request provided: Unable to update task definition on services with a CODE_DEPLOY deployment controller.\n- After a successful migration from `ECS` to `EXTERNAL` deployment controller, you need to manually remove the `ACTIVE` task set, because Amazon ECS no longer manages the deployment. For information about how to delete a task set, see [DeleteTaskSet](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html) in the ECSlong API Reference.", + "title": "Type", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentEarlySuccessCriteria": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + }, + "HealthyPercent": { + "type": "number" + }, + "SourceServiceRevisionCleanup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentLifecycleHook": { + "additionalProperties": false, + "properties": { + "HookDetails": { + "markdownDescription": "Use this field to specify custom parameters that Amazon ECS passes to your hook target invocations (such as a Lambda function).\n\nThis field must be a JSON object as a string.", + "title": "HookDetails", + "type": "object" + }, + "HookTargetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported.\n\nYou must provide this parameter when configuring a deployment lifecycle hook.", + "title": "HookTargetArn", + "type": "string" + }, + "LifecycleStages": { + "items": { + "type": "string" + }, + "markdownDescription": "The lifecycle stages at which to run the hook. Choose from these valid values:\n\n- RECONCILE_SERVICE\n\nThe reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state.\n\nYou can use a lifecycle hook for this stage.\n- PRE_SCALE_UP\n\nThe green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic.\n\nYou can use a lifecycle hook for this stage.\n- POST_SCALE_UP\n\nThe green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic.\n\nYou can use a lifecycle hook for this stage.\n- TEST_TRAFFIC_SHIFT\n\nThe blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic.\n\nYou can use a lifecycle hook for this stage.\n- POST_TEST_TRAFFIC_SHIFT\n\nThe test traffic shift is complete. The green service revision handles 100% of the test traffic.\n\nYou can use a lifecycle hook for this stage.\n- PRODUCTION_TRAFFIC_SHIFT\n\nProduction traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic.\n\nYou can use a lifecycle hook for this stage.\n- POST_PRODUCTION_TRAFFIC_SHIFT\n\nThe production traffic shift is complete.\n\nYou can use a lifecycle hook for this stage.\n\nYou must provide this parameter when configuring a deployment lifecycle hook.", + "title": "LifecycleStages", + "type": "array" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf.\n\nFor more information, see [Permissions required for Lambda functions in Amazon ECS blue/green deployments](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/blue-green-permissions.html) in the *Amazon Elastic Container Service Developer Guide* .", + "title": "RoleArn", + "type": "string" + }, + "TargetType": { + "type": "string" + }, + "TimeoutConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.HookTimeoutConfig" + } + }, + "required": [ + "LifecycleStages" + ], + "type": "object" + }, + "AWS::ECS::Service.EBSTagSpecification": { + "additionalProperties": false, + "properties": { + "PropagateTags": { + "markdownDescription": "Determines whether to propagate the tags from the task definition to the Amazon EBS volume. Tags can only propagate to a `SERVICE` specified in `ServiceVolumeConfiguration` . If no value is specified, the tags aren't propagated.", + "title": "PropagateTags", + "type": "string" + }, + "ResourceType": { + "markdownDescription": "The type of volume resource.", + "title": "ResourceType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags applied to this Amazon EBS volume. `AmazonECSCreated` and `AmazonECSManaged` are reserved tags that can't be used.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "ResourceType" + ], + "type": "object" + }, + "AWS::ECS::Service.ForceNewDeployment": { + "additionalProperties": false, + "properties": { + "EnableForceNewDeployment": { + "markdownDescription": "Determines whether to force a new deployment of the service. By default, deployments aren't forced. You can use this option to start a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination ( `my_image:latest` ) or to roll Fargate tasks onto a newer platform version.", + "title": "EnableForceNewDeployment", + "type": "boolean" + }, + "ForceNewDeploymentNonce": { + "markdownDescription": "When you change the `ForceNewDeploymentNonce` value in your template, it signals Amazon ECS to start a new deployment even though no other service parameters have changed. The value must be a unique, time- varying value like a timestamp, random string, or sequence number. Use this property when you want to ensure your tasks pick up the latest version of a Docker image that uses the same tag but has been updated in the registry.", + "title": "ForceNewDeploymentNonce", + "type": "string" + } + }, + "required": [ + "EnableForceNewDeployment" + ], + "type": "object" + }, + "AWS::ECS::Service.HookTimeoutConfig": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "TimeoutInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.LinearConfiguration": { + "additionalProperties": false, + "properties": { + "StepBakeTimeInMinutes": { + "markdownDescription": "The amount of time in minutes to wait between each traffic shifting step during a linear deployment. Valid values are 0 to 1440 minutes (24 hours). The default value is 6. This bake time is not applied after reaching 100 percent traffic.", + "title": "StepBakeTimeInMinutes", + "type": "number" + }, + "StepPercent": { + "markdownDescription": "The percentage of production traffic to shift in each step during a linear deployment. Valid values are multiples of 0.1 from 3.0 to 100.0. The default value is 10.0.", + "title": "StepPercent", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.LoadBalancer": { + "additionalProperties": false, + "properties": { + "AdvancedConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.AdvancedConfiguration", + "markdownDescription": "The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.", + "title": "AdvancedConfiguration" + }, + "ContainerName": { + "markdownDescription": "The name of the container (as it appears in a container definition) to associate with the load balancer.\n\nYou need to specify the container name when configuring the target group for an Amazon ECS load balancer.", + "title": "ContainerName", + "type": "string" + }, + "ContainerPort": { + "markdownDescription": "The port on the container to associate with the load balancer. This port must correspond to a `containerPort` in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the `hostPort` of the port mapping.", + "title": "ContainerPort", + "type": "number" + }, + "LoadBalancerName": { + "markdownDescription": "The name of the load balancer to associate with the Amazon ECS service or task set.\n\nIf you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.", + "title": "LoadBalancerName", + "type": "string" + }, + "TargetGroupArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.\n\nA target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.\n\nFor services using the `ECS` deployment controller, you can specify one or multiple target groups. For more information, see [Registering multiple target groups with a service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nFor services using the `CODE_DEPLOY` deployment controller, you're required to define two target groups for the load balancer. For more information, see [Blue/green deployment with CodeDeploy](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> If your service's task definition uses the `awsvpc` network mode, you must choose `ip` as the target type, not `instance` . Do this when creating your target groups because tasks that use the `awsvpc` network mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.", + "title": "TargetGroupArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { + "markdownDescription": "The log driver to use for the container.\n\nFor tasks on AWS Fargate , the supported log drivers are `awslogs` , `splunk` , and `awsfirelens` .\n\nFor tasks hosted on Amazon EC2 instances, the supported log drivers are `awslogs` , `fluentd` , `gelf` , `json-file` , `journald` , `syslog` , `splunk` , and `awsfirelens` .\n\nFor more information about using the `awslogs` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nFor more information about using the `awsfirelens` log driver, see [Send Amazon ECS logs to an AWS service or AWS Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) .\n\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.", + "title": "LogDriver", + "type": "string" + }, + "Options": { + "additionalProperties": true, + "markdownDescription": "The configuration options to send to the log driver.\n\nThe options you can specify depend on the log driver. Some of the options you can specify when you use the `awslogs` log driver to route logs to Amazon CloudWatch include the following:\n\n- **awslogs-create-group** - Required: No\n\nSpecify whether you want the log group to be created automatically. If this option isn't specified, it defaults to `false` .\n\n> Your IAM policy must include the `logs:CreateLogGroup` permission before you attempt to use `awslogs-create-group` .\n- **awslogs-region** - Required: Yes\n\nSpecify the AWS Region that the `awslogs` log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option.\n- **awslogs-group** - Required: Yes\n\nMake sure to specify a log group that the `awslogs` log driver sends its log streams to.\n- **awslogs-stream-prefix** - Required: Yes, when using Fargate.Optional when using EC2.\n\nUse the `awslogs-stream-prefix` option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format `prefix-name/container-name/ecs-task-id` .\n\nIf you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option.\n\nFor Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to.\n\nYou must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console.\n- **awslogs-datetime-format** - Required: No\n\nThis option defines a multiline start pattern in Python `strftime` format. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages.\n\nOne example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry.\n\nFor more information, see [awslogs-datetime-format](https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-datetime-format) .\n\nYou cannot configure both the `awslogs-datetime-format` and `awslogs-multiline-pattern` options.\n\n> Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance.\n- **awslogs-multiline-pattern** - Required: No\n\nThis option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages.\n\nFor more information, see [awslogs-multiline-pattern](https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-multiline-pattern) .\n\nThis option is ignored if `awslogs-datetime-format` is also configured.\n\nYou cannot configure both the `awslogs-datetime-format` and `awslogs-multiline-pattern` options.\n\n> Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance.\n\nThe following options apply to all supported log drivers.\n\n- **mode** - Required: No\n\nValid values: `non-blocking` | `blocking`\n\nThis option defines the delivery mode of log messages from the container to the log driver specified using `logDriver` . The delivery mode you choose affects application availability when the flow of logs from container is interrupted.\n\nIf you use the `blocking` mode and the flow of logs is interrupted, calls from container code to write to the `stdout` and `stderr` streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure.\n\nIf you use the `non-blocking` mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the `max-buffer-size` option. This prevents the application from becoming unresponsive when logs cannot be sent. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see [Preventing log loss with non-blocking mode in the `awslogs` container log driver](https://docs.aws.amazon.com/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/) .\n\nYou can set a default `mode` for all containers in a specific AWS Region by using the `defaultLogDriverMode` account setting. If you don't specify the `mode` option or configure the account setting, Amazon ECS will default to the `non-blocking` mode. For more information about the account setting, see [Default log driver mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#default-log-driver-mode) in the *Amazon Elastic Container Service Developer Guide* .\n\n> On June 25, 2025, Amazon ECS changed the default log driver mode from `blocking` to `non-blocking` to prioritize task availability over logging. To continue using the `blocking` mode after this change, do one of the following:\n> \n> - Set the `mode` option in your container definition's `logConfiguration` as `blocking` .\n> - Set the `defaultLogDriverMode` account setting to `blocking` .\n- **max-buffer-size** - Required: No\n\nDefault value: `10m`\n\nWhen `non-blocking` mode is used, the `max-buffer-size` log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost.\n\nTo route logs using the `splunk` log router, you need to specify a `splunk-token` and a `splunk-url` .\n\nWhen you use the `awsfirelens` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the `log-driver-buffer-limit` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker.\n\nOther options you can specify when using `awsfirelens` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with `region` and a name for the log stream with `delivery_stream` .\n\nWhen you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with `region` and a data stream name with `stream` .\n\nWhen you export logs to Amazon OpenSearch Service, you can specify options like `Name` , `Host` (OpenSearch Service endpoint without protocol), `Port` , `Index` , `Type` , `Aws_auth` , `Aws_region` , `Suppress_Type_Name` , and `tls` . For more information, see [Under the hood: FireLens for Amazon ECS Tasks](https://docs.aws.amazon.com/containers/under-the-hood-firelens-for-amazon-ecs-tasks/) .\n\nWhen you export logs to Amazon S3, you can specify the bucket using the `bucket` option. You can also specify `region` , `total_file_size` , `upload_timeout` , and `use_put_object` as options.\n\nThis 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}}'`", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Options", + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.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* .", + "title": "SecretOptions", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::Service.MetricConfiguration": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResolutionSeconds": { + "type": "number" + } + }, + "required": [ + "MetricNames", + "ResolutionSeconds" + ], + "type": "object" + }, + "AWS::ECS::Service.MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "MetricConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.MetricConfiguration" + }, + "type": "array" + } + }, + "required": [ + "MetricConfigurations" + ], + "type": "object" + }, + "AWS::ECS::Service.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsvpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration", + "markdownDescription": "The VPC subnets and security groups that are associated with a task.\n\n> All specified subnets and security groups must be from the same VPC.", + "title": "AwsvpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Service.PlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "markdownDescription": "A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance` . 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* .", + "title": "Expression", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of constraint. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.PlacementStrategy": { + "additionalProperties": false, + "properties": { + "Field": { + "markdownDescription": "The field to apply the placement strategy against. For the `spread` placement strategy, valid values are `instanceId` (or `host` , which has the same effect), or any platform or custom attribute that's applied to a container instance, such as `attribute:ecs.availability-zone` . For the `binpack` placement strategy, valid values are `cpu` and `memory` . For the `random` placement strategy, this field is not used.", + "title": "Field", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of placement strategy. The `random` placement strategy randomly places tasks on available candidates. The `spread` placement strategy spreads placement across available candidates evenly based on the `field` parameter. The `binpack` strategy places tasks on available candidates that have the least available amount of the resource that's specified with the `field` parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.Secret": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the secret.", + "title": "Name", + "type": "string" + }, + "ValueFrom": { + "markdownDescription": "The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the full ARN of the parameter in the SSM Parameter Store.\n\nFor information about the require AWS Identity and Access Management 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\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.", + "title": "ValueFrom", + "type": "string" + } + }, + "required": [ + "Name", + "ValueFrom" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectAccessLogConfiguration": { + "additionalProperties": false, + "properties": { + "Format": { + "markdownDescription": "The format for Service Connect access log output. Choose TEXT for human-readable logs or JSON for structured data that integrates well with log analysis tools.", + "title": "Format", + "type": "string" + }, + "IncludeQueryParameters": { + "markdownDescription": "Specifies whether to include query parameters in Service Connect access logs.\n\nWhen enabled, query parameters from HTTP requests are included in the access logs. Consider security and privacy implications when enabling this feature, as query parameters may contain sensitive information such as request IDs and tokens. By default, this parameter is `DISABLED` .", + "title": "IncludeQueryParameters", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectClientAlias": { + "additionalProperties": false, + "properties": { + "DnsName": { + "markdownDescription": "The `dnsName` is the name that you use in the applications of client tasks to connect to this service. The name must be a valid DNS name but doesn't need to be fully-qualified. The name can include up to 127 characters. The name can include lowercase letters, numbers, underscores (_), hyphens (-), and periods (.). The name can't start with a hyphen.\n\nIf this parameter isn't specified, the default value of `discoveryName.namespace` is used. If the `discoveryName` isn't specified, the port mapping name from the task definition is used in `portName.namespace` .\n\nTo avoid changing your applications in client Amazon ECS services, set this to the same name that the client application uses by default. For example, a few common names are `database` , `db` , or the lowercase name of a database, such as `mysql` or `redis` . 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* .", + "title": "DnsName", + "type": "string" + }, + "Port": { + "markdownDescription": "The listening port number for the Service Connect proxy. This port is available inside of all of the tasks within the same namespace.\n\nTo avoid changing your applications in client Amazon ECS services, set this to the same port that the client application uses by default. 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* .", + "title": "Port", + "type": "number" + }, + "TestTrafficRules": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRules", + "markdownDescription": "The configuration for test traffic routing rules used during blue/green deployments with Amazon ECS Service Connect. This allows you to route a portion of traffic to the new service revision of your service for testing before shifting all production traffic.", + "title": "TestTrafficRules" + } + }, + "required": [ + "Port" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectConfiguration": { + "additionalProperties": false, + "properties": { + "AccessLogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectAccessLogConfiguration", + "markdownDescription": "The configuration for Service Connect access logging. Access logs capture detailed information about requests made to your service, including request patterns, response codes, and timing data. They can be useful for debugging connectivity issues, monitoring service performance, and auditing service-to-service communication for security and compliance purposes.\n\n> To enable access logs, you must also specify a `logConfiguration` in the `serviceConnectConfiguration` .", + "title": "AccessLogConfiguration" + }, + "Enabled": { + "markdownDescription": "Specifies whether to use Service Connect with this service.", + "title": "Enabled", + "type": "boolean" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.LogConfiguration", + "markdownDescription": "The log configuration for the container. This parameter maps to `LogConfig` in the docker container create command and the `--log-driver` option to docker run.\n\nBy default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.\n\nUnderstand the following when specifying a log configuration for your containers.\n\n- Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n\nFor tasks on AWS Fargate , the supported log drivers are `awslogs` , `splunk` , and `awsfirelens` .\n\nFor tasks hosted on Amazon EC2 instances, the supported log drivers are `awslogs` , `fluentd` , `gelf` , `json-file` , `journald` , `syslog` , `splunk` , and `awsfirelens` .\n- This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n- For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide* .\n- For tasks that are on AWS Fargate , because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.", + "title": "LogConfiguration" + }, + "Namespace": { + "markdownDescription": "The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace for use with Service Connect. The namespace must be in the same AWS Region as the Amazon ECS service and cluster. The type of namespace doesn't affect Service Connect. For more information about AWS Cloud Map , see [Working with Services](https://docs.aws.amazon.com/cloud-map/latest/dg/working-with-services.html) in the *AWS Cloud Map Developer Guide* .", + "title": "Namespace", + "type": "string" + }, + "Services": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectService" + }, + "markdownDescription": "The list of Service Connect service objects. These are names and aliases (also known as endpoints) that are used by other Amazon ECS services to connect to this service.\n\nThis field is not required for a \"client\" Amazon ECS service that's a member of a namespace only to connect to other services within the namespace. An example of this would be a frontend application that accepts incoming requests from either a load balancer that's attached to the service or by other means.\n\nAn object selects a port from the task definition, assigns a name for the AWS Cloud Map service, and a list of aliases (endpoints) and ports for client applications to refer to this service.", + "title": "Services", + "type": "array" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectService": { + "additionalProperties": false, + "properties": { + "ClientAliases": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectClientAlias" + }, + "markdownDescription": "The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1.\n\nEach alias (\"endpoint\") is a fully-qualified name and port number that other Amazon ECS tasks (\"clients\") can use to connect to this service.\n\nEach name and port mapping must be unique within the namespace.\n\nFor each `ServiceConnectService` , you must provide at least one `clientAlias` with one `port` .", + "title": "ClientAliases", + "type": "array" + }, + "DiscoveryName": { + "markdownDescription": "The `discoveryName` is the name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service. This must be unique within the AWS Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.\n\nIf the `discoveryName` isn't specified, the port mapping name from the task definition is used in `portName.namespace` .", + "title": "DiscoveryName", + "type": "string" + }, + "IngressPortOverride": { + "markdownDescription": "The port number for the Service Connect proxy to listen on.\n\nUse the value of this field to bypass the proxy for traffic on the port number specified in the named `portMapping` in the task definition of this application, and then use it in your VPC security groups to allow traffic into the proxy for this Amazon ECS service.\n\nIn `awsvpc` mode and Fargate, the default value is the container port number. The container port number is in the `portMapping` in the task definition. In bridge mode, the default value is the ephemeral port of the Service Connect proxy.", + "title": "IngressPortOverride", + "type": "number" + }, + "PortName": { + "markdownDescription": "The `portName` must match the name of one of the `portMappings` from all the containers in the task definition of this Amazon ECS service.", + "title": "PortName", + "type": "string" + }, + "Timeout": { + "$ref": "#/definitions/AWS::ECS::Service.TimeoutConfiguration", + "markdownDescription": "A reference to an object that represents the configured timeouts for Service Connect.", + "title": "Timeout" + }, + "Tls": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTlsConfiguration", + "markdownDescription": "A reference to an object that represents a Transport Layer Security (TLS) configuration.", + "title": "Tls" + } + }, + "required": [ + "PortName" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectTestTrafficRules": { + "additionalProperties": false, + "properties": { + "Header": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRulesHeader", + "markdownDescription": "The HTTP header-based routing rules that determine which requests should be routed to the new service version during blue/green deployment testing. These rules provide fine-grained control over test traffic routing based on request headers.", + "title": "Header" + } + }, + "required": [ + "Header" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectTestTrafficRulesHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "", + "title": "Name", + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRulesHeaderValue", + "markdownDescription": "", + "title": "Value" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectTestTrafficRulesHeaderValue": { + "additionalProperties": false, + "properties": { + "Exact": { + "markdownDescription": "", + "title": "Exact", + "type": "string" + } + }, + "required": [ + "Exact" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectTlsCertificateAuthority": { + "additionalProperties": false, + "properties": { + "AwsPcaAuthorityArn": { + "markdownDescription": "The ARN of the AWS Private Certificate Authority certificate.", + "title": "AwsPcaAuthorityArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.ServiceConnectTlsConfiguration": { + "additionalProperties": false, + "properties": { + "IssuerCertificateAuthority": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTlsCertificateAuthority", + "markdownDescription": "The signer certificate authority.", + "title": "IssuerCertificateAuthority" + }, + "KmsKey": { + "markdownDescription": "The AWS Key Management Service key.", + "title": "KmsKey", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that's associated with the Service Connect TLS.", + "title": "RoleArn", + "type": "string" + } + }, + "required": [ + "IssuerCertificateAuthority" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceManagedEBSVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Encrypted": { + "markdownDescription": "Indicates whether the volume should be encrypted. If you turn on Region-level Amazon EBS encryption by default but set this value as `false` , the setting is overridden and the volume is encrypted with the KMS key specified for Amazon EBS encryption by default. This parameter maps 1:1 with the `Encrypted` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", + "title": "Encrypted", + "type": "boolean" + }, + "FilesystemType": { + "markdownDescription": "The filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the tasks will fail to start.\n\nThe available Linux filesystem types are `ext3` , `ext4` , and `xfs` . If no value is specified, the `xfs` filesystem type is used by default.\n\nThe available Windows filesystem types are `NTFS` .", + "title": "FilesystemType", + "type": "string" + }, + "Iops": { + "markdownDescription": "The number of I/O operations per second (IOPS). For `gp3` , `io1` , and `io2` volumes, this represents the number of IOPS that are provisioned for the volume. For `gp2` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.\n\nThe following are the supported values for each volume type.\n\n- `gp3` : 3,000 - 16,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nThis parameter is required for `io1` and `io2` volume types. The default for `gp3` volumes is `3,000 IOPS` . This parameter is not supported for `st1` , `sc1` , or `standard` volume types.\n\nThis parameter maps 1:1 with the `Iops` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", + "title": "Iops", + "type": "number" + }, + "KmsKeyId": { + "markdownDescription": "The Amazon Resource Name (ARN) identifier of the AWS Key Management Service key to use for Amazon EBS encryption. When a key is specified using this parameter, it overrides Amazon EBS default encryption or any KMS key that you specified for cluster-level managed storage encryption. This parameter maps 1:1 with the `KmsKeyId` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* . For more information about encrypting Amazon EBS volumes attached to tasks, see [Encrypt data stored in Amazon EBS volumes attached to Amazon ECS tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-kms-encryption.html) .\n\n> AWS authenticates the AWS Key Management Service key asynchronously. Therefore, if you specify an ID, alias, or ARN that is invalid, the action can appear to complete, but eventually fails.", + "title": "KmsKeyId", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of the IAM role to associate with this volume. This is the Amazon ECS infrastructure IAM role that is used to manage your AWS infrastructure. We recommend using the Amazon ECS-managed `AmazonECSInfrastructureRolePolicyForVolumes` IAM policy with this role. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the *Amazon ECS Developer Guide* .", + "title": "RoleArn", + "type": "string" + }, + "SizeInGiB": { + "markdownDescription": "The size of the volume in GiB. You must specify either a volume size or a snapshot ID. If you specify a snapshot ID, the snapshot size is used for the volume size by default. You can optionally specify a volume size greater than or equal to the snapshot size. This parameter maps 1:1 with the `Size` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .\n\nThe following are the supported volume size values for each volume type.\n\n- `gp2` and `gp3` : 1-16,384\n- `io1` and `io2` : 4-16,384\n- `st1` and `sc1` : 125-16,384\n- `standard` : 1-1,024", + "title": "SizeInGiB", + "type": "number" + }, + "SnapshotId": { + "markdownDescription": "The snapshot that Amazon ECS uses to create volumes for attachment to tasks maintained by the service. You must specify either `snapshotId` or `sizeInGiB` in your volume configuration. This parameter maps 1:1 with the `SnapshotId` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", + "title": "SnapshotId", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.EBSTagSpecification" + }, + "markdownDescription": "The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This parameter maps 1:1 with the `TagSpecifications.N` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", + "title": "TagSpecifications", + "type": "array" + }, + "Throughput": { + "markdownDescription": "The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s. This parameter maps 1:1 with the `Throughput` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .\n\n> This parameter is only supported for the `gp3` volume type.", + "title": "Throughput", + "type": "number" + }, + "VolumeInitializationRate": { + "markdownDescription": "The rate, in MiB/s, at which data is fetched from a snapshot of an existing EBS volume to create new volumes for attachment to the tasks maintained by the service. This property can be specified only if you specify a `snapshotId` . For more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EBS User Guide* .", + "title": "VolumeInitializationRate", + "type": "number" + }, + "VolumeType": { + "markdownDescription": "The volume type. This parameter maps 1:1 with the `VolumeType` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* . For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) in the *Amazon EC2 User Guide* .\n\nThe following are the supported volume types.\n\n- General Purpose SSD: `gp2` | `gp3`\n- Provisioned IOPS SSD: `io1` | `io2`\n- Throughput Optimized HDD: `st1`\n- Cold HDD: `sc1`\n- Magnetic: `standard`\n\n> The magnetic volume type is not supported on Fargate.", + "title": "VolumeType", + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "markdownDescription": "The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the `bridge` or `host` network mode, you must specify a `containerName` and `containerPort` combination from the task definition. If the task definition that your service task specifies uses the `awsvpc` network mode and a type SRV DNS record is used, you must specify either a `containerName` and `containerPort` combination or a `port` value. However, you can't specify both.", + "title": "ContainerName", + "type": "string" + }, + "ContainerPort": { + "markdownDescription": "The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the `bridge` or `host` network mode, you must specify a `containerName` and `containerPort` combination from the task definition. If the task definition your service task specifies uses the `awsvpc` network mode and a type SRV DNS record is used, you must specify either a `containerName` and `containerPort` combination or a `port` value. However, you can't specify both.", + "title": "ContainerPort", + "type": "number" + }, + "Port": { + "markdownDescription": "The port value used if your service discovery service specified an SRV record. This field might be used if both the `awsvpc` network mode and SRV records are used.", + "title": "Port", + "type": "number" + }, + "RegistryArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is AWS Cloud Map . For more information, see [CreateService](https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html) .", + "title": "RegistryArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.ServiceVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "ManagedEBSVolume": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceManagedEBSVolumeConfiguration", + "markdownDescription": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service. The Amazon EBS volumes are visible in your account in the Amazon EC2 console once they are created.", + "title": "ManagedEBSVolume" + }, + "Name": { + "markdownDescription": "The name of the volume. This value must match the volume name from the `Volume` object in the task definition.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ECS::Service.ThresholdConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ECS::Service.TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "markdownDescription": "The amount of time in seconds a connection will stay active while idle. A value of `0` can be set to disable `idleTimeout` .\n\nThe `idleTimeout` default for `HTTP` / `HTTP2` / `GRPC` is 5 minutes.\n\nThe `idleTimeout` default for `TCP` is 1 hour.", + "title": "IdleTimeoutSeconds", + "type": "number" + }, + "PerRequestTimeoutSeconds": { + "markdownDescription": "The amount of time waiting for the upstream to respond with a complete response per request. A value of `0` can be set to disable `perRequestTimeout` . `perRequestTimeout` can only be set if Service Connect `appProtocol` isn't `TCP` . Only `idleTimeout` is allowed for `TCP` `appProtocol` .", + "title": "PerRequestTimeoutSeconds", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.VpcLatticeConfiguration": { + "additionalProperties": false, + "properties": { + "PortName": { + "markdownDescription": "The name of the port mapping to register in the VPC Lattice target group. This is the name of the `portMapping` you defined in your task definition.", + "title": "PortName", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of the IAM role to associate with this VPC Lattice configuration. This is the Amazon ECS infrastructure IAM role that is used to manage your VPC Lattice infrastructure.", + "title": "RoleArn", + "type": "string" + }, + "TargetGroupArn": { + "markdownDescription": "The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.", + "title": "TargetGroupArn", + "type": "string" + } + }, + "required": [ + "PortName", + "RoleArn", + "TargetGroupArn" + ], + "type": "object" + }, + "AWS::ECS::ServiceDeployment": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { "items": { - "$ref": "#/definitions/Tag" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "markdownDescription": "The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.\n\nThe following basic restrictions apply to tags:\n\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.", - "title": "Tags", "type": "array" - }, - "TaskDefinition": { - "markdownDescription": "The `family` and `revision` ( `family:revision` ) or full ARN of the task definition to run in your service. If a `revision` isn't specified, the latest `ACTIVE` revision is used.\n\nA task definition must be specified if the service uses either the `ECS` or `CODE_DEPLOY` deployment controllers.\n\nFor more information about deployment types, see [Amazon ECS deployment types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) .", - "title": "TaskDefinition", + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::ServiceDeployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::ServiceDeployment.ServiceRevisionSummary": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "PendingTaskCount": { + "type": "number" + }, + "RequestedTaskCount": { + "type": "number" + }, + "RunningTaskCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::ServiceRevision": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceVolumeConfiguration" - }, - "markdownDescription": "The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume.\n\n> To remove this property from your service resource, specify an empty `ServiceVolumeConfiguration` array.", - "title": "VolumeConfigurations", - "type": "array" - }, - "VpcLatticeConfigurations": { + { "items": { - "$ref": "#/definitions/AWS::ECS::Service.VpcLatticeConfiguration" + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" }, - "markdownDescription": "The VPC Lattice configuration for the service being created.", - "title": "VpcLatticeConfigurations", "type": "array" } - }, + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::Service" + "AWS::ECS::ServiceRevision" ], "type": "string" }, @@ -140809,393 +146795,524 @@ ], "type": "object" }, - "AWS::ECS::Service.AdvancedConfiguration": { + "AWS::ECS::ServiceRevision.AdvancedConfiguration": { "additionalProperties": false, "properties": { "AlternateTargetGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.", - "title": "AlternateTargetGroupArn", "type": "string" }, "ProductionListenerRule": { - "markdownDescription": "The Amazon Resource Name (ARN) that that identifies the production listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing production traffic.", - "title": "ProductionListenerRule", "type": "string" }, "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call the Elastic Load Balancing APIs for you.", - "title": "RoleArn", "type": "string" }, "TestListenerRule": { - "markdownDescription": "The Amazon Resource Name (ARN) that identifies ) that identifies the test listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing test traffic.", - "title": "TestListenerRule", "type": "string" } }, - "required": [ - "AlternateTargetGroupArn" - ], "type": "object" }, - "AWS::ECS::Service.AwsVpcConfiguration": { + "AWS::ECS::ServiceRevision.AwsVpcConfiguration": { "additionalProperties": false, "properties": { "AssignPublicIp": { - "markdownDescription": "Whether the task's elastic network interface receives a public IP address.\n\nConsider the following when you set this value:\n\n- When you use `create-service` or `update-service` , the default is `DISABLED` .\n- When the service `deploymentController` is `ECS` , the value must be `DISABLED` .", - "title": "AssignPublicIp", "type": "string" }, "SecurityGroups": { "items": { "type": "string" }, - "markdownDescription": "The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified.\n\n> All specified security groups must be from the same VPC.", - "title": "SecurityGroups", "type": "array" }, "Subnets": { "items": { "type": "string" }, - "markdownDescription": "The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified.\n\n> All specified subnets must be from the same VPC.", - "title": "Subnets", "type": "array" } }, + "required": [ + "Subnets" + ], "type": "object" }, - "AWS::ECS::Service.CanaryConfiguration": { + "AWS::ECS::ServiceRevision.CapacityProviderStrategyItem": { "additionalProperties": false, "properties": { - "CanaryBakeTimeInMinutes": { - "markdownDescription": "The amount of time in minutes to wait during the canary phase before shifting the remaining production traffic to the new service revision. Valid values are 0 to 1440 minutes (24 hours). The default value is 10.", - "title": "CanaryBakeTimeInMinutes", + "Base": { "type": "number" }, - "CanaryPercent": { - "markdownDescription": "The percentage of production traffic to shift to the new service revision during the canary phase. Valid values are multiples of 0.1 from 0.1 to 100.0. The default value is 5.0.", - "title": "CanaryPercent", + "CapacityProvider": { + "type": "string" + }, + "Weight": { "type": "number" } }, + "required": [ + "CapacityProvider" + ], "type": "object" }, - "AWS::ECS::Service.CapacityProviderStrategyItem": { + "AWS::ECS::ServiceRevision.ContainerImage": { "additionalProperties": false, "properties": { - "Base": { - "markdownDescription": "The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider for each service. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used.\n\nBase value characteristics:\n\n- Only one capacity provider in a strategy can have a base defined\n- The default value is `0` if not specified\n- The valid range is 0 to 100,000\n- Base requirements are satisfied first before weight distribution", - "title": "Base", - "type": "number" + "ContainerName": { + "type": "string" }, - "CapacityProvider": { - "markdownDescription": "The short name of the capacity provider. This can be either an AWS managed capacity provider ( `FARGATE` or `FARGATE_SPOT` ) or the name of a custom capacity provider that you created.", - "title": "CapacityProvider", + "Image": { "type": "string" }, - "Weight": { - "markdownDescription": "The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied.\n\nIf no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail.\n\nWeight value characteristics:\n\n- Weight is considered after the base value is satisfied\n- The default value is `0` if not specified\n- The valid range is 0 to 1,000\n- At least one capacity provider must have a weight greater than zero\n- Capacity providers with weight of `0` cannot place tasks\n\nTask distribution logic:\n\n- Base satisfaction: The minimum number of tasks specified by the base value are placed on that capacity provider\n- Weight distribution: After base requirements are met, additional tasks are distributed according to weight ratios\n\nExamples:\n\nEqual Distribution: Two capacity providers both with weight `1` will split tasks evenly after base requirements are met.\n\nWeighted Distribution: If capacityProviderA has weight `1` and capacityProviderB has weight `4` , then for every 1 task on A, 4 tasks will run on B.", - "title": "Weight", - "type": "number" + "ImageDigest": { + "type": "string" } }, "type": "object" }, - "AWS::ECS::Service.DeploymentAlarms": { + "AWS::ECS::ServiceRevision.DeploymentEphemeralStorage": { "additionalProperties": false, "properties": { - "AlarmNames": { + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::ServiceRevision.EBSTagSpecification": { + "additionalProperties": false, + "properties": { + "PropagateTags": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more CloudWatch alarm names. Use a \",\" to separate the alarms.", - "title": "AlarmNames", "type": "array" - }, - "Enable": { - "markdownDescription": "Determines whether to use the CloudWatch alarm option in the service deployment process.", - "title": "Enable", - "type": "boolean" - }, - "Rollback": { - "markdownDescription": "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is used, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.", - "title": "Rollback", - "type": "boolean" } }, "required": [ - "AlarmNames", - "Enable", - "Rollback" + "ResourceType" ], "type": "object" }, - "AWS::ECS::Service.DeploymentCircuitBreaker": { + "AWS::ECS::ServiceRevision.EcsManagedResources": { "additionalProperties": false, "properties": { - "Enable": { - "markdownDescription": "Determines whether to use the deployment circuit breaker logic for the service.", - "title": "Enable", - "type": "boolean" + "AutoScaling": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedAutoScaling" }, - "ResetOnHealthyTask": { - "type": "boolean" + "IngressPaths": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedIngressPath" + }, + "type": "array" }, - "Rollback": { - "markdownDescription": "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.", - "title": "Rollback", - "type": "boolean" + "LogGroups": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedLogGroup" + }, + "type": "array" }, - "ThresholdConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.ThresholdConfiguration" + "MetricAlarms": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedMetricAlarm" + }, + "type": "array" + }, + "ServiceSecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedSecurityGroup" + }, + "type": "array" } }, - "required": [ - "Enable", - "Rollback" - ], "type": "object" }, - "AWS::ECS::Service.DeploymentConfiguration": { + "AWS::ECS::ServiceRevision.LoadBalancer": { "additionalProperties": false, "properties": { - "Alarms": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentAlarms", - "markdownDescription": "Information about the CloudWatch alarms.", - "title": "Alarms" + "AdvancedConfiguration": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.AdvancedConfiguration" }, - "BakeTimeInMinutes": { - "markdownDescription": "The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted.\n\nThe following rules apply when you don't specify a value:\n\n- For rolling deployments, the value is set to 3 hours (180 minutes).\n- When you use an external deployment controller ( `EXTERNAL` ), or the CodeDeploy blue/green deployment controller ( `CODE_DEPLOY` ), the value is set to 3 hours (180 minutes).\n- For all other cases, the value is set to 36 hours (2160 minutes).", - "title": "BakeTimeInMinutes", + "ContainerName": { + "type": "string" + }, + "ContainerPort": { "type": "number" }, - "CanaryConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.CanaryConfiguration", - "markdownDescription": "Configuration for canary deployment strategy. Only valid when the deployment strategy is `CANARY` . This configuration enables shifting a fixed percentage of traffic for testing, followed by shifting the remaining traffic after a bake period.", - "title": "CanaryConfiguration" + "LoadBalancerName": { + "type": "string" }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker", - "markdownDescription": "> The deployment circuit breaker can only be used for services using the rolling update ( `ECS` ) deployment type. \n\nThe *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide*", - "title": "DeploymentCircuitBreaker" + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::ServiceRevision.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { + "type": "string" }, - "LifecycleHooks": { + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecretOptions": { "items": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentLifecycleHook" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.Secret" }, - "markdownDescription": "An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.", - "title": "LifecycleHooks", "type": "array" + } + }, + "required": [ + "LogDriver" + ], + "type": "object" + }, + "AWS::ECS::ServiceRevision.ManagedApplicationAutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" }, - "LinearConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.LinearConfiguration", - "markdownDescription": "Configuration for linear deployment strategy. Only valid when the deployment strategy is `LINEAR` . This configuration enables progressive traffic shifting in equal percentage increments with configurable bake times between each step.", - "title": "LinearConfiguration" + "Metric": { + "type": "string" }, - "MaximumPercent": { - "markdownDescription": "If a service is using the rolling update ( `ECS` ) deployment type, the `maximumPercent` parameter represents an upper limit on the number of your service's tasks that are allowed in the `RUNNING` or `PENDING` state during a deployment, as a percentage of the `desiredCount` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the `REPLICA` service scheduler and has a `desiredCount` of four tasks and a `maximumPercent` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default `maximumPercent` value for a service using the `REPLICA` service scheduler is 200%.\n\nThe Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) .\n\nIf a service is using either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the `RUNNING` state while the container instances are in the `DRAINING` state.\n\n> You can't specify a custom `maximumPercent` value for a service that uses either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and has tasks that use the EC2 launch type. \n\nIf the service uses either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service.", - "title": "MaximumPercent", - "type": "number" + "PolicyType": { + "type": "string" }, - "MinimumHealthyPercent": { - "markdownDescription": "If a service is using the rolling update ( `ECS` ) deployment type, the `minimumHealthyPercent` represents a lower limit on the number of your service's tasks that must remain in the `RUNNING` state during a deployment, as a percentage of the `desiredCount` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a `desiredCount` of four tasks and a `minimumHealthyPercent` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks.\n\nIf any tasks are unhealthy and if `maximumPercent` doesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one \u2014 using the `minimumHealthyPercent` as a constraint \u2014 to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) .\n\nFor services that *do not* use a load balancer, the following should be noted:\n\n- A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n- If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a `RUNNING` state before the task is counted towards the minimum healthy percent total.\n- If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings.\n\nFor services that *do* use a load balancer, the following should be noted:\n\n- If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n- If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n\nThe default value for a replica service for `minimumHealthyPercent` is 100%. The default `minimumHealthyPercent` value for a service using the `DAEMON` service schedule is 0% for the AWS CLI , the AWS SDKs, and the APIs and 50% for the AWS Management Console.\n\nThe minimum number of healthy tasks during a deployment is the `desiredCount` multiplied by the `minimumHealthyPercent` /100, rounded up to the nearest integer value.\n\nIf a service is using either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the `RUNNING` state while the container instances are in the `DRAINING` state.\n\n> You can't specify a custom `minimumHealthyPercent` value for a service that uses either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and has tasks that use the EC2 launch type. \n\nIf a service is using either the blue/green ( `CODE_DEPLOY` ) or `EXTERNAL` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.", - "title": "MinimumHealthyPercent", + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "TargetValue": { "type": "number" }, - "Strategy": { - "markdownDescription": "The deployment strategy for the service. Choose from these valid values:\n\n- `ROLLING` - When you create a service which uses the rolling update ( `ROLLING` ) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.\n- `BLUE_GREEN` - A blue/green deployment strategy ( `BLUE_GREEN` ) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.\n- `LINEAR` - A *linear* deployment strategy ( `LINEAR` ) gradually shifts traffic from the current production environment to a new environment in equal percentages over time. With Amazon ECS linear deployments, you can control the pace of traffic shifting and validate new service revisions with increasing amounts of production traffic.\n- `CANARY` - A *canary* deployment strategy ( `CANARY` ) shifts a small percentage of traffic to the new service revision first, then shifts the remaining traffic all at once after a specified time period. This allows you to test the new version with a subset of users before full deployment.", - "title": "Strategy", + "UpdatedAt": { "type": "string" } }, + "required": [ + "Metric", + "PolicyType", + "Status", + "TargetValue", + "UpdatedAt" + ], "type": "object" }, - "AWS::ECS::Service.DeploymentController": { + "AWS::ECS::ServiceRevision.ManagedAutoScaling": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "The deployment controller type to use.\n\nThe deployment controller is the mechanism that determines how tasks are deployed for your service. The valid options are:\n\n- ECS\n\nWhen you create a service which uses the `ECS` deployment controller, you can choose between the following deployment strategies:\n\n- `ROLLING` : When you create a service which uses the *rolling update* ( `ROLLING` ) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.\n\nRolling update deployments are best suited for the following scenarios:\n\n- Gradual service updates: You need to update your service incrementally without taking the entire service offline at once.\n- Limited resource requirements: You want to avoid the additional resource costs of running two complete environments simultaneously (as required by blue/green deployments).\n- Acceptable deployment time: Your application can tolerate a longer deployment process, as rolling updates replace tasks one by one.\n- No need for instant roll back: Your service can tolerate a rollback process that takes minutes rather than seconds.\n- Simple deployment process: You prefer a straightforward deployment approach without the complexity of managing multiple environments, target groups, and listeners.\n- No load balancer requirement: Your service doesn't use or require a load balancer, Application Load Balancer , Network Load Balancer , or Service Connect (which are required for blue/green deployments).\n- Stateful applications: Your application maintains state that makes it difficult to run two parallel environments.\n- Cost sensitivity: You want to minimize deployment costs by not running duplicate environments during deployment.\n\nRolling updates are the default deployment strategy for services and provide a balance between deployment safety and resource efficiency for many common application scenarios.\n- `BLUE_GREEN` : A *blue/green* deployment strategy ( `BLUE_GREEN` ) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.\n\nAmazon ECS blue/green deployments are best suited for the following scenarios:\n\n- Service validation: When you need to validate new service revisions before directing production traffic to them\n- Zero downtime: When your service requires zero-downtime deployments\n- Instant roll back: When you need the ability to quickly roll back if issues are detected\n- Load balancer requirement: When your service uses Application Load Balancer , Network Load Balancer , or Service Connect\n- External\n\nUse a third-party deployment controller.\n- Blue/green deployment (powered by CodeDeploy )\n\nCodeDeploy installs an updated version of the application as a new replacement task set and reroutes production traffic from the original application task set to the replacement task set. The original task set is terminated after a successful deployment. Use this deployment controller to verify a new deployment of a service before sending production traffic to it.\n\nWhen updating the deployment controller for a service, consider the following depending on the type of migration you're performing.\n\n- If you have a template that contains the `EXTERNAL` deployment controller information as well as `TaskSet` and `PrimaryTaskSet` resources, and you remove the task set resources from the template when updating from `EXTERNAL` to `ECS` , the `DescribeTaskSet` and `DeleteTaskSet` API calls will return a 400 error after the deployment controller is updated to `ECS` . This results in a delete failure on the task set resources, even though the stack transitions to `UPDATE_COMPLETE` status. For more information, see [Resource removed from stack but not deleted](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-resource-removed-not-deleted) in the AWS CloudFormation User Guide. To fix this issue, delete the task sets directly using the Amazon ECS `DeleteTaskSet` API. For more information about how to delete a task set, see [DeleteTaskSet](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html) in the ECSlong API Reference.\n- If you're migrating from `CODE_DEPLOY` to `ECS` with a new task definition and CloudFormation performs a rollback operation, the Amazon ECS `UpdateService` request fails with the following error:\n\nResource handler returned message: \"Invalid request provided: Unable to update task definition on services with a CODE_DEPLOY deployment controller.\n- After a successful migration from `ECS` to `EXTERNAL` deployment controller, you need to manually remove the `ACTIVE` task set, because Amazon ECS no longer manages the deployment. For information about how to delete a task set, see [DeleteTaskSet](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html) in the ECSlong API Reference.", - "title": "Type", + "ApplicationAutoScalingPolicies": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedApplicationAutoScalingPolicy" + }, + "type": "array" + }, + "ScalableTarget": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedScalableTarget" + } + }, + "type": "object" + }, + "AWS::ECS::ServiceRevision.ManagedCertificate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { "type": "string" } }, + "required": [ + "DomainName", + "Status", + "UpdatedAt" + ], "type": "object" }, - "AWS::ECS::Service.DeploymentLifecycleHook": { + "AWS::ECS::ServiceRevision.ManagedIngressPath": { "additionalProperties": false, "properties": { - "HookDetails": { - "markdownDescription": "Use this field to specify custom parameters that Amazon ECS passes to your hook target invocations (such as a Lambda function).\n\nThis field must be a JSON object as a string.", - "title": "HookDetails", - "type": "object" + "AccessType": { + "type": "string" }, - "HookTargetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported.\n\nYou must provide this parameter when configuring a deployment lifecycle hook.", - "title": "HookTargetArn", + "Certificate": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedCertificate" + }, + "Endpoint": { "type": "string" }, - "LifecycleStages": { + "Listener": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedListener" + }, + "LoadBalancer": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedLoadBalancer" + }, + "LoadBalancerSecurityGroups": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedSecurityGroup" }, - "markdownDescription": "The lifecycle stages at which to run the hook. Choose from these valid values:\n\n- RECONCILE_SERVICE\n\nThe reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state.\n\nYou can use a lifecycle hook for this stage.\n- PRE_SCALE_UP\n\nThe green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic.\n\nYou can use a lifecycle hook for this stage.\n- POST_SCALE_UP\n\nThe green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic.\n\nYou can use a lifecycle hook for this stage.\n- TEST_TRAFFIC_SHIFT\n\nThe blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic.\n\nYou can use a lifecycle hook for this stage.\n- POST_TEST_TRAFFIC_SHIFT\n\nThe test traffic shift is complete. The green service revision handles 100% of the test traffic.\n\nYou can use a lifecycle hook for this stage.\n- PRODUCTION_TRAFFIC_SHIFT\n\nProduction traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic.\n\nYou can use a lifecycle hook for this stage.\n- POST_PRODUCTION_TRAFFIC_SHIFT\n\nThe production traffic shift is complete.\n\nYou can use a lifecycle hook for this stage.\n\nYou must provide this parameter when configuring a deployment lifecycle hook.", - "title": "LifecycleStages", "type": "array" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf.\n\nFor more information, see [Permissions required for Lambda functions in Amazon ECS blue/green deployments](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/blue-green-permissions.html) in the *Amazon Elastic Container Service Developer Guide* .", - "title": "RoleArn", + "Rule": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedListenerRule" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ManagedTargetGroup" + }, + "type": "array" + } + }, + "required": [ + "AccessType", + "Endpoint" + ], + "type": "object" + }, + "AWS::ECS::ServiceRevision.ManagedListener": { + "additionalProperties": false, + "properties": { + "Arn": { "type": "string" }, - "TargetType": { + "Status": { "type": "string" }, - "TimeoutConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.HookTimeoutConfig" + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" } }, "required": [ - "LifecycleStages" + "Status", + "UpdatedAt" ], "type": "object" }, - "AWS::ECS::Service.EBSTagSpecification": { + "AWS::ECS::ServiceRevision.ManagedListenerRule": { "additionalProperties": false, "properties": { - "PropagateTags": { - "markdownDescription": "Determines whether to propagate the tags from the task definition to the Amazon EBS volume. Tags can only propagate to a `SERVICE` specified in `ServiceVolumeConfiguration` . If no value is specified, the tags aren't propagated.", - "title": "PropagateTags", + "Arn": { "type": "string" }, - "ResourceType": { - "markdownDescription": "The type of volume resource.", - "title": "ResourceType", + "Status": { "type": "string" }, - "Tags": { + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" + } + }, + "required": [ + "Status", + "UpdatedAt" + ], + "type": "object" + }, + "AWS::ECS::ServiceRevision.ManagedLoadBalancer": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The tags applied to this Amazon EBS volume. `AmazonECSCreated` and `AmazonECSManaged` are reserved tags that can't be used.", - "title": "Tags", "type": "array" + }, + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UpdatedAt": { + "type": "string" } }, "required": [ - "ResourceType" + "Scheme", + "Status", + "UpdatedAt" ], "type": "object" }, - "AWS::ECS::Service.ForceNewDeployment": { + "AWS::ECS::ServiceRevision.ManagedLogGroup": { "additionalProperties": false, "properties": { - "EnableForceNewDeployment": { - "markdownDescription": "Determines whether to force a new deployment of the service. By default, deployments aren't forced. You can use this option to start a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination ( `my_image:latest` ) or to roll Fargate tasks onto a newer platform version.", - "title": "EnableForceNewDeployment", - "type": "boolean" + "Arn": { + "type": "string" }, - "ForceNewDeploymentNonce": { - "markdownDescription": "When you change the `ForceNewDeploymentNonce` value in your template, it signals Amazon ECS to start a new deployment even though no other service parameters have changed. The value must be a unique, time- varying value like a timestamp, random string, or sequence number. Use this property when you want to ensure your tasks pick up the latest version of a Docker image that uses the same tag but has been updated in the registry.", - "title": "ForceNewDeploymentNonce", + "LogGroupName": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { "type": "string" } }, "required": [ - "EnableForceNewDeployment" + "LogGroupName", + "Status", + "UpdatedAt" ], "type": "object" }, - "AWS::ECS::Service.HookTimeoutConfig": { + "AWS::ECS::ServiceRevision.ManagedMetricAlarm": { "additionalProperties": false, "properties": { - "Action": { + "Arn": { "type": "string" }, - "TimeoutInMinutes": { - "type": "number" + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" } }, + "required": [ + "Status", + "UpdatedAt" + ], "type": "object" }, - "AWS::ECS::Service.LinearConfiguration": { + "AWS::ECS::ServiceRevision.ManagedScalableTarget": { "additionalProperties": false, "properties": { - "StepBakeTimeInMinutes": { - "markdownDescription": "The amount of time in minutes to wait between each traffic shifting step during a linear deployment. Valid values are 0 to 1440 minutes (24 hours). The default value is 6. This bake time is not applied after reaching 100 percent traffic.", - "title": "StepBakeTimeInMinutes", + "Arn": { + "type": "string" + }, + "MaxCapacity": { "type": "number" }, - "StepPercent": { - "markdownDescription": "The percentage of production traffic to shift in each step during a linear deployment. Valid values are multiples of 0.1 from 3.0 to 100.0. The default value is 10.0.", - "title": "StepPercent", + "MinCapacity": { "type": "number" + }, + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" } }, + "required": [ + "MaxCapacity", + "MinCapacity", + "Status", + "UpdatedAt" + ], "type": "object" }, - "AWS::ECS::Service.LoadBalancer": { + "AWS::ECS::ServiceRevision.ManagedSecurityGroup": { "additionalProperties": false, "properties": { - "AdvancedConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.AdvancedConfiguration", - "markdownDescription": "The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.", - "title": "AdvancedConfiguration" - }, - "ContainerName": { - "markdownDescription": "The name of the container (as it appears in a container definition) to associate with the load balancer.\n\nYou need to specify the container name when configuring the target group for an Amazon ECS load balancer.", - "title": "ContainerName", + "Arn": { "type": "string" }, - "ContainerPort": { - "markdownDescription": "The port on the container to associate with the load balancer. This port must correspond to a `containerPort` in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the `hostPort` of the port mapping.", - "title": "ContainerPort", - "type": "number" + "Status": { + "type": "string" }, - "LoadBalancerName": { - "markdownDescription": "The name of the load balancer to associate with the Amazon ECS service or task set.\n\nIf you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.", - "title": "LoadBalancerName", + "StatusReason": { "type": "string" }, - "TargetGroupArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.\n\nA target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.\n\nFor services using the `ECS` deployment controller, you can specify one or multiple target groups. For more information, see [Registering multiple target groups with a service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nFor services using the `CODE_DEPLOY` deployment controller, you're required to define two target groups for the load balancer. For more information, see [Blue/green deployment with CodeDeploy](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> If your service's task definition uses the `awsvpc` network mode, you must choose `ip` as the target type, not `instance` . Do this when creating your target groups because tasks that use the `awsvpc` network mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.", - "title": "TargetGroupArn", + "UpdatedAt": { "type": "string" } }, + "required": [ + "Status", + "UpdatedAt" + ], "type": "object" }, - "AWS::ECS::Service.LogConfiguration": { + "AWS::ECS::ServiceRevision.ManagedTargetGroup": { "additionalProperties": false, "properties": { - "LogDriver": { - "markdownDescription": "The log driver to use for the container.\n\nFor tasks on AWS Fargate , the supported log drivers are `awslogs` , `splunk` , and `awsfirelens` .\n\nFor tasks hosted on Amazon EC2 instances, the supported log drivers are `awslogs` , `fluentd` , `gelf` , `json-file` , `journald` , `syslog` , `splunk` , and `awsfirelens` .\n\nFor more information about using the `awslogs` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide* .\n\nFor more information about using the `awsfirelens` log driver, see [Send Amazon ECS logs to an AWS service or AWS Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) .\n\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.", - "title": "LogDriver", + "Arn": { "type": "string" }, - "Options": { - "additionalProperties": true, - "markdownDescription": "The configuration options to send to the log driver.\n\nThe options you can specify depend on the log driver. Some of the options you can specify when you use the `awslogs` log driver to route logs to Amazon CloudWatch include the following:\n\n- **awslogs-create-group** - Required: No\n\nSpecify whether you want the log group to be created automatically. If this option isn't specified, it defaults to `false` .\n\n> Your IAM policy must include the `logs:CreateLogGroup` permission before you attempt to use `awslogs-create-group` .\n- **awslogs-region** - Required: Yes\n\nSpecify the AWS Region that the `awslogs` log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option.\n- **awslogs-group** - Required: Yes\n\nMake sure to specify a log group that the `awslogs` log driver sends its log streams to.\n- **awslogs-stream-prefix** - Required: Yes, when using Fargate.Optional when using EC2.\n\nUse the `awslogs-stream-prefix` option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format `prefix-name/container-name/ecs-task-id` .\n\nIf you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option.\n\nFor Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to.\n\nYou must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console.\n- **awslogs-datetime-format** - Required: No\n\nThis option defines a multiline start pattern in Python `strftime` format. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages.\n\nOne example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry.\n\nFor more information, see [awslogs-datetime-format](https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-datetime-format) .\n\nYou cannot configure both the `awslogs-datetime-format` and `awslogs-multiline-pattern` options.\n\n> Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance.\n- **awslogs-multiline-pattern** - Required: No\n\nThis option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages.\n\nFor more information, see [awslogs-multiline-pattern](https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-multiline-pattern) .\n\nThis option is ignored if `awslogs-datetime-format` is also configured.\n\nYou cannot configure both the `awslogs-datetime-format` and `awslogs-multiline-pattern` options.\n\n> Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance.\n\nThe following options apply to all supported log drivers.\n\n- **mode** - Required: No\n\nValid values: `non-blocking` | `blocking`\n\nThis option defines the delivery mode of log messages from the container to the log driver specified using `logDriver` . The delivery mode you choose affects application availability when the flow of logs from container is interrupted.\n\nIf you use the `blocking` mode and the flow of logs is interrupted, calls from container code to write to the `stdout` and `stderr` streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure.\n\nIf you use the `non-blocking` mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the `max-buffer-size` option. This prevents the application from becoming unresponsive when logs cannot be sent. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see [Preventing log loss with non-blocking mode in the `awslogs` container log driver](https://docs.aws.amazon.com/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/) .\n\nYou can set a default `mode` for all containers in a specific AWS Region by using the `defaultLogDriverMode` account setting. If you don't specify the `mode` option or configure the account setting, Amazon ECS will default to the `non-blocking` mode. For more information about the account setting, see [Default log driver mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#default-log-driver-mode) in the *Amazon Elastic Container Service Developer Guide* .\n\n> On June 25, 2025, Amazon ECS changed the default log driver mode from `blocking` to `non-blocking` to prioritize task availability over logging. To continue using the `blocking` mode after this change, do one of the following:\n> \n> - Set the `mode` option in your container definition's `logConfiguration` as `blocking` .\n> - Set the `defaultLogDriverMode` account setting to `blocking` .\n- **max-buffer-size** - Required: No\n\nDefault value: `10m`\n\nWhen `non-blocking` mode is used, the `max-buffer-size` log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost.\n\nTo route logs using the `splunk` log router, you need to specify a `splunk-token` and a `splunk-url` .\n\nWhen you use the `awsfirelens` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the `log-driver-buffer-limit` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker.\n\nOther options you can specify when using `awsfirelens` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with `region` and a name for the log stream with `delivery_stream` .\n\nWhen you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with `region` and a data stream name with `stream` .\n\nWhen you export logs to Amazon OpenSearch Service, you can specify options like `Name` , `Host` (OpenSearch Service endpoint without protocol), `Port` , `Index` , `Type` , `Aws_auth` , `Aws_region` , `Suppress_Type_Name` , and `tls` . For more information, see [Under the hood: FireLens for Amazon ECS Tasks](https://docs.aws.amazon.com/containers/under-the-hood-firelens-for-amazon-ecs-tasks/) .\n\nWhen you export logs to Amazon S3, you can specify the bucket using the `bucket` option. You can also specify `region` , `total_file_size` , `upload_timeout` , and `use_put_object` as options.\n\nThis 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}}'`", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Options", - "type": "object" + "HealthCheckPath": { + "type": "string" }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.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* .", - "title": "SecretOptions", - "type": "array" + "HealthCheckPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "StatusReason": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" } }, + "required": [ + "HealthCheckPath", + "HealthCheckPort", + "Port", + "Status", + "UpdatedAt" + ], "type": "object" }, - "AWS::ECS::Service.MetricConfiguration": { + "AWS::ECS::ServiceRevision.MetricConfiguration": { "additionalProperties": false, "properties": { "MetricNames": { @@ -141214,81 +147331,46 @@ ], "type": "object" }, - "AWS::ECS::Service.MonitoringConfiguration": { + "AWS::ECS::ServiceRevision.MonitoringConfiguration": { "additionalProperties": false, "properties": { "MetricConfigurations": { "items": { - "$ref": "#/definitions/AWS::ECS::Service.MetricConfiguration" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.MetricConfiguration" }, "type": "array" } }, - "required": [ - "MetricConfigurations" - ], "type": "object" }, - "AWS::ECS::Service.NetworkConfiguration": { + "AWS::ECS::ServiceRevision.NetworkConfiguration": { "additionalProperties": false, "properties": { "AwsvpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration", - "markdownDescription": "The VPC subnets and security groups that are associated with a task.\n\n> All specified subnets and security groups must be from the same VPC.", - "title": "AwsvpcConfiguration" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.AwsVpcConfiguration" } }, "type": "object" }, - "AWS::ECS::Service.PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "markdownDescription": "A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is `distinctInstance` . 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* .", - "title": "Expression", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of constraint. Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.PlacementStrategy": { + "AWS::ECS::ServiceRevision.ResolvedConfiguration": { "additionalProperties": false, "properties": { - "Field": { - "markdownDescription": "The field to apply the placement strategy against. For the `spread` placement strategy, valid values are `instanceId` (or `host` , which has the same effect), or any platform or custom attribute that's applied to a container instance, such as `attribute:ecs.availability-zone` . For the `binpack` placement strategy, valid values are `cpu` and `memory` . For the `random` placement strategy, this field is not used.", - "title": "Field", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of placement strategy. The `random` placement strategy randomly places tasks on available candidates. The `spread` placement strategy spreads placement across available candidates evenly based on the `field` parameter. The `binpack` strategy places tasks on available candidates that have the least available amount of the resource that's specified with the `field` parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task.", - "title": "Type", - "type": "string" + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceRevisionLoadBalancer" + }, + "type": "array" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::ECS::Service.Secret": { + "AWS::ECS::ServiceRevision.Secret": { "additionalProperties": false, "properties": { "Name": { - "markdownDescription": "The name of the secret.", - "title": "Name", "type": "string" }, "ValueFrom": { - "markdownDescription": "The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the full ARN of the parameter in the SSM Parameter Store.\n\nFor information about the require AWS Identity and Access Management 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\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.", - "title": "ValueFrom", "type": "string" } }, @@ -141298,17 +147380,13 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectAccessLogConfiguration": { + "AWS::ECS::ServiceRevision.ServiceConnectAccessLogConfiguration": { "additionalProperties": false, "properties": { "Format": { - "markdownDescription": "The format for Service Connect access log output. Choose TEXT for human-readable logs or JSON for structured data that integrates well with log analysis tools.", - "title": "Format", "type": "string" }, "IncludeQueryParameters": { - "markdownDescription": "Specifies whether to include query parameters in Service Connect access logs.\n\nWhen enabled, query parameters from HTTP requests are included in the access logs. Consider security and privacy implications when enabling this feature, as query parameters may contain sensitive information such as request IDs and tokens. By default, this parameter is `DISABLED` .", - "title": "IncludeQueryParameters", "type": "string" } }, @@ -141317,23 +147395,17 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectClientAlias": { + "AWS::ECS::ServiceRevision.ServiceConnectClientAlias": { "additionalProperties": false, "properties": { "DnsName": { - "markdownDescription": "The `dnsName` is the name that you use in the applications of client tasks to connect to this service. The name must be a valid DNS name but doesn't need to be fully-qualified. The name can include up to 127 characters. The name can include lowercase letters, numbers, underscores (_), hyphens (-), and periods (.). The name can't start with a hyphen.\n\nIf this parameter isn't specified, the default value of `discoveryName.namespace` is used. If the `discoveryName` isn't specified, the port mapping name from the task definition is used in `portName.namespace` .\n\nTo avoid changing your applications in client Amazon ECS services, set this to the same name that the client application uses by default. For example, a few common names are `database` , `db` , or the lowercase name of a database, such as `mysql` or `redis` . 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* .", - "title": "DnsName", "type": "string" }, "Port": { - "markdownDescription": "The listening port number for the Service Connect proxy. This port is available inside of all of the tasks within the same namespace.\n\nTo avoid changing your applications in client Amazon ECS services, set this to the same port that the client application uses by default. 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* .", - "title": "Port", "type": "number" }, "TestTrafficRules": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRules", - "markdownDescription": "The configuration for test traffic routing rules used during blue/green deployments with Amazon ECS Service Connect. This allows you to route a portion of traffic to the new service revision of your service for testing before shifting all production traffic.", - "title": "TestTrafficRules" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectTestTrafficRules" } }, "required": [ @@ -141341,35 +147413,25 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectConfiguration": { + "AWS::ECS::ServiceRevision.ServiceConnectConfiguration": { "additionalProperties": false, "properties": { "AccessLogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectAccessLogConfiguration", - "markdownDescription": "The configuration for Service Connect access logging. Access logs capture detailed information about requests made to your service, including request patterns, response codes, and timing data. They can be useful for debugging connectivity issues, monitoring service performance, and auditing service-to-service communication for security and compliance purposes.\n\n> To enable access logs, you must also specify a `logConfiguration` in the `serviceConnectConfiguration` .", - "title": "AccessLogConfiguration" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectAccessLogConfiguration" }, "Enabled": { - "markdownDescription": "Specifies whether to use Service Connect with this service.", - "title": "Enabled", "type": "boolean" }, "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.LogConfiguration", - "markdownDescription": "The log configuration for the container. This parameter maps to `LogConfig` in the docker container create command and the `--log-driver` option to docker run.\n\nBy default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.\n\nUnderstand the following when specifying a log configuration for your containers.\n\n- Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n\nFor tasks on AWS Fargate , the supported log drivers are `awslogs` , `splunk` , and `awsfirelens` .\n\nFor tasks hosted on Amazon EC2 instances, the supported log drivers are `awslogs` , `fluentd` , `gelf` , `json-file` , `journald` , `syslog` , `splunk` , and `awsfirelens` .\n- This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n- For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide* .\n- For tasks that are on AWS Fargate , because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.", - "title": "LogConfiguration" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.LogConfiguration" }, "Namespace": { - "markdownDescription": "The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace for use with Service Connect. The namespace must be in the same AWS Region as the Amazon ECS service and cluster. The type of namespace doesn't affect Service Connect. For more information about AWS Cloud Map , see [Working with Services](https://docs.aws.amazon.com/cloud-map/latest/dg/working-with-services.html) in the *AWS Cloud Map Developer Guide* .", - "title": "Namespace", "type": "string" }, "Services": { "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectService" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectService" }, - "markdownDescription": "The list of Service Connect service objects. These are names and aliases (also known as endpoints) that are used by other Amazon ECS services to connect to this service.\n\nThis field is not required for a \"client\" Amazon ECS service that's a member of a namespace only to connect to other services within the namespace. An example of this would be a frontend application that accepts incoming requests from either a load balancer that's attached to the service or by other means.\n\nAn object selects a port from the task definition, assigns a name for the AWS Cloud Map service, and a list of aliases (endpoints) and ports for client applications to refer to this service.", - "title": "Services", "type": "array" } }, @@ -141378,41 +147440,29 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectService": { + "AWS::ECS::ServiceRevision.ServiceConnectService": { "additionalProperties": false, "properties": { "ClientAliases": { "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectClientAlias" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectClientAlias" }, - "markdownDescription": "The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1.\n\nEach alias (\"endpoint\") is a fully-qualified name and port number that other Amazon ECS tasks (\"clients\") can use to connect to this service.\n\nEach name and port mapping must be unique within the namespace.\n\nFor each `ServiceConnectService` , you must provide at least one `clientAlias` with one `port` .", - "title": "ClientAliases", "type": "array" }, "DiscoveryName": { - "markdownDescription": "The `discoveryName` is the name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service. This must be unique within the AWS Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.\n\nIf the `discoveryName` isn't specified, the port mapping name from the task definition is used in `portName.namespace` .", - "title": "DiscoveryName", "type": "string" }, "IngressPortOverride": { - "markdownDescription": "The port number for the Service Connect proxy to listen on.\n\nUse the value of this field to bypass the proxy for traffic on the port number specified in the named `portMapping` in the task definition of this application, and then use it in your VPC security groups to allow traffic into the proxy for this Amazon ECS service.\n\nIn `awsvpc` mode and Fargate, the default value is the container port number. The container port number is in the `portMapping` in the task definition. In bridge mode, the default value is the ephemeral port of the Service Connect proxy.", - "title": "IngressPortOverride", "type": "number" }, "PortName": { - "markdownDescription": "The `portName` must match the name of one of the `portMappings` from all the containers in the task definition of this Amazon ECS service.", - "title": "PortName", "type": "string" }, "Timeout": { - "$ref": "#/definitions/AWS::ECS::Service.TimeoutConfiguration", - "markdownDescription": "A reference to an object that represents the configured timeouts for Service Connect.", - "title": "Timeout" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.TimeoutConfiguration" }, "Tls": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTlsConfiguration", - "markdownDescription": "A reference to an object that represents a Transport Layer Security (TLS) configuration.", - "title": "Tls" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectTlsConfiguration" } }, "required": [ @@ -141420,32 +147470,26 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectTestTrafficRules": { + "AWS::ECS::ServiceRevision.ServiceConnectTestTrafficHeaderMatchRules": { "additionalProperties": false, "properties": { - "Header": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRulesHeader", - "markdownDescription": "The HTTP header-based routing rules that determine which requests should be routed to the new service version during blue/green deployment testing. These rules provide fine-grained control over test traffic routing based on request headers.", - "title": "Header" + "Exact": { + "type": "string" } }, "required": [ - "Header" + "Exact" ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectTestTrafficRulesHeader": { + "AWS::ECS::ServiceRevision.ServiceConnectTestTrafficHeaderRules": { "additionalProperties": false, "properties": { "Name": { - "markdownDescription": "", - "title": "Name", "type": "string" }, "Value": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTestTrafficRulesHeaderValue", - "markdownDescription": "", - "title": "Value" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectTestTrafficHeaderMatchRules" } }, "required": [ @@ -141453,47 +147497,37 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectTestTrafficRulesHeaderValue": { + "AWS::ECS::ServiceRevision.ServiceConnectTestTrafficRules": { "additionalProperties": false, "properties": { - "Exact": { - "markdownDescription": "", - "title": "Exact", - "type": "string" + "Header": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectTestTrafficHeaderRules" } }, "required": [ - "Exact" + "Header" ], "type": "object" }, - "AWS::ECS::Service.ServiceConnectTlsCertificateAuthority": { + "AWS::ECS::ServiceRevision.ServiceConnectTlsCertificateAuthority": { "additionalProperties": false, "properties": { "AwsPcaAuthorityArn": { - "markdownDescription": "The ARN of the AWS Private Certificate Authority certificate.", - "title": "AwsPcaAuthorityArn", "type": "string" } }, "type": "object" }, - "AWS::ECS::Service.ServiceConnectTlsConfiguration": { + "AWS::ECS::ServiceRevision.ServiceConnectTlsConfiguration": { "additionalProperties": false, "properties": { "IssuerCertificateAuthority": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectTlsCertificateAuthority", - "markdownDescription": "The signer certificate authority.", - "title": "IssuerCertificateAuthority" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceConnectTlsCertificateAuthority" }, "KmsKey": { - "markdownDescription": "The AWS Key Management Service key.", - "title": "KmsKey", "type": "string" }, "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that's associated with the Service Connect TLS.", - "title": "RoleArn", "type": "string" } }, @@ -141502,65 +147536,43 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceManagedEBSVolumeConfiguration": { + "AWS::ECS::ServiceRevision.ServiceManagedEBSVolumeConfiguration": { "additionalProperties": false, "properties": { "Encrypted": { - "markdownDescription": "Indicates whether the volume should be encrypted. If you turn on Region-level Amazon EBS encryption by default but set this value as `false` , the setting is overridden and the volume is encrypted with the KMS key specified for Amazon EBS encryption by default. This parameter maps 1:1 with the `Encrypted` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", - "title": "Encrypted", "type": "boolean" }, "FilesystemType": { - "markdownDescription": "The filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the tasks will fail to start.\n\nThe available Linux filesystem types are `ext3` , `ext4` , and `xfs` . If no value is specified, the `xfs` filesystem type is used by default.\n\nThe available Windows filesystem types are `NTFS` .", - "title": "FilesystemType", "type": "string" }, "Iops": { - "markdownDescription": "The number of I/O operations per second (IOPS). For `gp3` , `io1` , and `io2` volumes, this represents the number of IOPS that are provisioned for the volume. For `gp2` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.\n\nThe following are the supported values for each volume type.\n\n- `gp3` : 3,000 - 16,000 IOPS\n- `io1` : 100 - 64,000 IOPS\n- `io2` : 100 - 256,000 IOPS\n\nThis parameter is required for `io1` and `io2` volume types. The default for `gp3` volumes is `3,000 IOPS` . This parameter is not supported for `st1` , `sc1` , or `standard` volume types.\n\nThis parameter maps 1:1 with the `Iops` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", - "title": "Iops", "type": "number" }, "KmsKeyId": { - "markdownDescription": "The Amazon Resource Name (ARN) identifier of the AWS Key Management Service key to use for Amazon EBS encryption. When a key is specified using this parameter, it overrides Amazon EBS default encryption or any KMS key that you specified for cluster-level managed storage encryption. This parameter maps 1:1 with the `KmsKeyId` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* . For more information about encrypting Amazon EBS volumes attached to tasks, see [Encrypt data stored in Amazon EBS volumes attached to Amazon ECS tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-kms-encryption.html) .\n\n> AWS authenticates the AWS Key Management Service key asynchronously. Therefore, if you specify an ID, alias, or ARN that is invalid, the action can appear to complete, but eventually fails.", - "title": "KmsKeyId", "type": "string" }, "RoleArn": { - "markdownDescription": "The ARN of the IAM role to associate with this volume. This is the Amazon ECS infrastructure IAM role that is used to manage your AWS infrastructure. We recommend using the Amazon ECS-managed `AmazonECSInfrastructureRolePolicyForVolumes` IAM policy with this role. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the *Amazon ECS Developer Guide* .", - "title": "RoleArn", "type": "string" }, "SizeInGiB": { - "markdownDescription": "The size of the volume in GiB. You must specify either a volume size or a snapshot ID. If you specify a snapshot ID, the snapshot size is used for the volume size by default. You can optionally specify a volume size greater than or equal to the snapshot size. This parameter maps 1:1 with the `Size` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .\n\nThe following are the supported volume size values for each volume type.\n\n- `gp2` and `gp3` : 1-16,384\n- `io1` and `io2` : 4-16,384\n- `st1` and `sc1` : 125-16,384\n- `standard` : 1-1,024", - "title": "SizeInGiB", "type": "number" }, "SnapshotId": { - "markdownDescription": "The snapshot that Amazon ECS uses to create volumes for attachment to tasks maintained by the service. You must specify either `snapshotId` or `sizeInGiB` in your volume configuration. This parameter maps 1:1 with the `SnapshotId` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", - "title": "SnapshotId", "type": "string" }, "TagSpecifications": { "items": { - "$ref": "#/definitions/AWS::ECS::Service.EBSTagSpecification" + "$ref": "#/definitions/AWS::ECS::ServiceRevision.EBSTagSpecification" }, - "markdownDescription": "The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This parameter maps 1:1 with the `TagSpecifications.N` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .", - "title": "TagSpecifications", "type": "array" }, "Throughput": { - "markdownDescription": "The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s. This parameter maps 1:1 with the `Throughput` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* .\n\n> This parameter is only supported for the `gp3` volume type.", - "title": "Throughput", "type": "number" }, "VolumeInitializationRate": { - "markdownDescription": "The rate, in MiB/s, at which data is fetched from a snapshot of an existing EBS volume to create new volumes for attachment to the tasks maintained by the service. This property can be specified only if you specify a `snapshotId` . For more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EBS User Guide* .", - "title": "VolumeInitializationRate", "type": "number" }, "VolumeType": { - "markdownDescription": "The volume type. This parameter maps 1:1 with the `VolumeType` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference* . For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) in the *Amazon EC2 User Guide* .\n\nThe following are the supported volume types.\n\n- General Purpose SSD: `gp2` | `gp3`\n- Provisioned IOPS SSD: `io1` | `io2`\n- Throughput Optimized HDD: `st1`\n- Cold HDD: `sc1`\n- Magnetic: `standard`\n\n> The magnetic volume type is not supported on Fargate.", - "title": "VolumeType", "type": "string" } }, @@ -141569,99 +147581,73 @@ ], "type": "object" }, - "AWS::ECS::Service.ServiceRegistry": { + "AWS::ECS::ServiceRevision.ServiceRegistry": { "additionalProperties": false, "properties": { "ContainerName": { - "markdownDescription": "The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the `bridge` or `host` network mode, you must specify a `containerName` and `containerPort` combination from the task definition. If the task definition that your service task specifies uses the `awsvpc` network mode and a type SRV DNS record is used, you must specify either a `containerName` and `containerPort` combination or a `port` value. However, you can't specify both.", - "title": "ContainerName", "type": "string" }, "ContainerPort": { - "markdownDescription": "The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the `bridge` or `host` network mode, you must specify a `containerName` and `containerPort` combination from the task definition. If the task definition your service task specifies uses the `awsvpc` network mode and a type SRV DNS record is used, you must specify either a `containerName` and `containerPort` combination or a `port` value. However, you can't specify both.", - "title": "ContainerPort", "type": "number" }, "Port": { - "markdownDescription": "The port value used if your service discovery service specified an SRV record. This field might be used if both the `awsvpc` network mode and SRV records are used.", - "title": "Port", "type": "number" }, "RegistryArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is AWS Cloud Map . For more information, see [CreateService](https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html) .", - "title": "RegistryArn", "type": "string" } }, "type": "object" }, - "AWS::ECS::Service.ServiceVolumeConfiguration": { + "AWS::ECS::ServiceRevision.ServiceRevisionLoadBalancer": { "additionalProperties": false, "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceManagedEBSVolumeConfiguration", - "markdownDescription": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service. The Amazon EBS volumes are visible in your account in the Amazon EC2 console once they are created.", - "title": "ManagedEBSVolume" + "ProductionListenerRule": { + "type": "string" }, - "Name": { - "markdownDescription": "The name of the volume. This value must match the volume name from the `Volume` object in the task definition.", - "title": "Name", + "TargetGroupArn": { "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::ECS::Service.ThresholdConfiguration": { + "AWS::ECS::ServiceRevision.ServiceVolumeConfiguration": { "additionalProperties": false, "properties": { - "Type": { - "type": "string" + "ManagedEBSVolume": { + "$ref": "#/definitions/AWS::ECS::ServiceRevision.ServiceManagedEBSVolumeConfiguration" }, - "Value": { - "type": "number" + "Name": { + "type": "string" } }, "required": [ - "Type", - "Value" + "Name" ], "type": "object" }, - "AWS::ECS::Service.TimeoutConfiguration": { + "AWS::ECS::ServiceRevision.TimeoutConfiguration": { "additionalProperties": false, "properties": { "IdleTimeoutSeconds": { - "markdownDescription": "The amount of time in seconds a connection will stay active while idle. A value of `0` can be set to disable `idleTimeout` .\n\nThe `idleTimeout` default for `HTTP` / `HTTP2` / `GRPC` is 5 minutes.\n\nThe `idleTimeout` default for `TCP` is 1 hour.", - "title": "IdleTimeoutSeconds", "type": "number" }, "PerRequestTimeoutSeconds": { - "markdownDescription": "The amount of time waiting for the upstream to respond with a complete response per request. A value of `0` can be set to disable `perRequestTimeout` . `perRequestTimeout` can only be set if Service Connect `appProtocol` isn't `TCP` . Only `idleTimeout` is allowed for `TCP` `appProtocol` .", - "title": "PerRequestTimeoutSeconds", "type": "number" } }, "type": "object" }, - "AWS::ECS::Service.VpcLatticeConfiguration": { + "AWS::ECS::ServiceRevision.VpcLatticeConfiguration": { "additionalProperties": false, "properties": { "PortName": { - "markdownDescription": "The name of the port mapping to register in the VPC Lattice target group. This is the name of the `portMapping` you defined in your task definition.", - "title": "PortName", "type": "string" }, "RoleArn": { - "markdownDescription": "The ARN of the IAM role to associate with this VPC Lattice configuration. This is the Amazon ECS infrastructure IAM role that is used to manage your VPC Lattice infrastructure.", - "title": "RoleArn", "type": "string" }, "TargetGroupArn": { - "markdownDescription": "The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.", - "title": "TargetGroupArn", "type": "string" } }, @@ -144118,6 +150104,21 @@ ], "type": "object" }, + "AWS::EKS::Capability.Ack": { + "additionalProperties": false, + "properties": { + "DisabledServices": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableCrossNamespace": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::EKS::Capability.ArgoCd": { "additionalProperties": false, "properties": { @@ -144206,7 +150207,7 @@ "additionalProperties": false, "properties": { "Ack": { - "type": "object" + "$ref": "#/definitions/AWS::EKS::Capability.Ack" }, "ArgoCd": { "$ref": "#/definitions/AWS::EKS::Capability.ArgoCd", @@ -144700,6 +150701,9 @@ "properties": { "HorizontalPodAutoscalerControllerConfig": { "$ref": "#/definitions/AWS::EKS::Cluster.HorizontalPodAutoscalerControllerConfig" + }, + "PodGcControllerConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.PodGcControllerConfig" } }, "type": "object" @@ -144804,6 +150808,15 @@ ], "type": "object" }, + "AWS::EKS::Cluster.PodGcControllerConfig": { + "additionalProperties": false, + "properties": { + "TerminatedPodGcThreshold": { + "type": "number" + } + }, + "type": "object" + }, "AWS::EKS::Cluster.Provider": { "additionalProperties": false, "properties": { @@ -149965,20 +155978,222 @@ "type": "string" }, "ConfigurationOverrides": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.ConfigurationOverrides" + "$ref": "#/definitions/AWS::EMRServerless::JobRun.ConfigurationOverrides" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "ExecutionTimeoutMinutes": { + "type": "number" + }, + "JobDriver": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.JobDriver" + }, + "Mode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMRServerless::JobRun" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EMRServerless::JobRun.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.Configuration" + }, + "type": "array" + }, + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Classification" + ], + "type": "object" + }, + "AWS::EMRServerless::JobRun.ConfigurationOverrides": { + "additionalProperties": false, + "properties": { + "ApplicationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.Configuration" + }, + "type": "array" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.MonitoringConfiguration" + } + }, + "type": "object" + }, + "AWS::EMRServerless::JobRun.Hive": { + "additionalProperties": false, + "properties": { + "InitQueryFile": { + "type": "string" + }, + "Parameters": { + "type": "string" + }, + "Query": { + "type": "string" + } + }, + "required": [ + "Query" + ], + "type": "object" + }, + "AWS::EMRServerless::JobRun.JobDriver": { + "additionalProperties": false, + "properties": { + "Hive": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.Hive" + }, + "SparkSubmit": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.SparkSubmit" + } + }, + "type": "object" + }, + "AWS::EMRServerless::JobRun.ManagedPersistenceMonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMRServerless::JobRun.MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "ManagedPersistenceMonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.ManagedPersistenceMonitoringConfiguration" + }, + "S3MonitoringConfiguration": { + "$ref": "#/definitions/AWS::EMRServerless::JobRun.S3MonitoringConfiguration" + } + }, + "type": "object" + }, + "AWS::EMRServerless::JobRun.S3MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "LogUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMRServerless::JobRun.SparkSubmit": { + "additionalProperties": false, + "properties": { + "EntryPoint": { + "type": "string" + }, + "EntryPointArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SparkSubmitParameters": { + "type": "string" + } + }, + "required": [ + "EntryPoint" + ], + "type": "object" + }, + "AWS::EMRServerless::Session": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationOverrides": { + "$ref": "#/definitions/AWS::EMRServerless::Session.ConfigurationOverrides" }, "ExecutionRoleArn": { "type": "string" }, - "ExecutionTimeoutMinutes": { + "IdleTimeoutMinutes": { "type": "number" }, - "JobDriver": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.JobDriver" - }, - "Mode": { - "type": "string" - }, "Name": { "type": "string" }, @@ -149993,7 +156208,7 @@ }, "Type": { "enum": [ - "AWS::EMRServerless::JobRun" + "AWS::EMRServerless::Session" ], "type": "string" }, @@ -150011,7 +156226,7 @@ ], "type": "object" }, - "AWS::EMRServerless::JobRun.Configuration": { + "AWS::EMRServerless::Session.Configuration": { "additionalProperties": false, "properties": { "Classification": { @@ -150019,7 +156234,7 @@ }, "Configurations": { "items": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.Configuration" + "$ref": "#/definitions/AWS::EMRServerless::Session.Configuration" }, "type": "array" }, @@ -150038,100 +156253,34 @@ ], "type": "object" }, - "AWS::EMRServerless::JobRun.ConfigurationOverrides": { + "AWS::EMRServerless::Session.ConfigurationOverrides": { "additionalProperties": false, "properties": { - "ApplicationConfiguration": { + "RuntimeConfiguration": { "items": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.Configuration" + "$ref": "#/definitions/AWS::EMRServerless::Session.Configuration" }, "type": "array" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.MonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.Hive": { - "additionalProperties": false, - "properties": { - "InitQueryFile": { - "type": "string" - }, - "Parameters": { - "type": "string" - }, - "Query": { - "type": "string" - } - }, - "required": [ - "Query" - ], - "type": "object" - }, - "AWS::EMRServerless::JobRun.JobDriver": { - "additionalProperties": false, - "properties": { - "Hive": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.Hive" - }, - "SparkSubmit": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.SparkSubmit" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" } }, "type": "object" }, - "AWS::EMRServerless::JobRun.MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.SparkSubmit": { + "AWS::EMRServerless::Session.NetworkConfiguration": { "additionalProperties": false, "properties": { - "EntryPoint": { - "type": "string" - }, - "EntryPointArguments": { + "SecurityGroupIds": { "items": { "type": "string" }, "type": "array" }, - "SparkSubmitParameters": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" } }, - "required": [ - "EntryPoint" - ], "type": "object" }, "AWS::EVS::Environment": { @@ -151832,6 +157981,9 @@ "title": "MajorEngineVersion", "type": "string" }, + "NetworkType": { + "type": "string" + }, "ReaderEndpoint": { "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.Endpoint", "markdownDescription": "Represents the information required for client programs to connect to a cache node. This value is read-only.", @@ -152575,11 +158727,20 @@ "title": "ApplicationName", "type": "string" }, + "BuildConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.BuildConfiguration" + }, "Description": { "markdownDescription": "A description of this application version.", "title": "Description", "type": "string" }, + "ImageConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.ImageConfiguration" + }, + "Process": { + "type": "boolean" + }, "SourceBundle": { "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle", "markdownDescription": "The Amazon S3 bucket and key that identify the location of the source bundle for this version.\n\n> The Amazon S3 bucket must be in the same region as the environment.", @@ -152587,8 +158748,7 @@ } }, "required": [ - "ApplicationName", - "SourceBundle" + "ApplicationName" ], "type": "object" }, @@ -152613,6 +158773,83 @@ ], "type": "object" }, + "AWS::ElasticBeanstalk::ApplicationVersion.BuildConfiguration": { + "additionalProperties": false, + "properties": { + "ArtifactName": { + "type": "string" + }, + "CodeBuildServiceRole": { + "type": "string" + }, + "ComputeType": { + "type": "string" + }, + "Image": { + "type": "string" + }, + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "CodeBuildServiceRole", + "Image" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion.ImageBuildConfiguration": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "Buildpack": { + "type": "string" + }, + "CodeBuildServiceRole": { + "type": "string" + }, + "ComputeType": { + "type": "string" + }, + "DockerfileLocation": { + "type": "string" + }, + "TimeoutInMinutes": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "CodeBuildServiceRole", + "Type" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion.ImageConfiguration": { + "additionalProperties": false, + "properties": { + "Build": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.ImageBuildConfiguration" + }, + "Source": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.ImageSource" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion.ImageSource": { + "additionalProperties": false, + "properties": { + "Uri": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { "additionalProperties": false, "properties": { @@ -160295,6 +166532,63 @@ ], "type": "object" }, + "AWS::FIS::Action": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FIS::Action" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::FIS::Experiment": { "additionalProperties": false, "properties": { @@ -160956,6 +167250,104 @@ ], "type": "object" }, + "AWS::FMS::ApplicationsList": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppsList": { + "items": { + "$ref": "#/definitions/AWS::FMS::ApplicationsList.App" + }, + "type": "array" + }, + "ListName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppsList", + "ListName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::ApplicationsList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FMS::ApplicationsList.App": { + "additionalProperties": false, + "properties": { + "AppName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "AppName", + "Port", + "Protocol" + ], + "type": "object" + }, "AWS::FMS::NotificationChannel": { "additionalProperties": false, "properties": { @@ -161451,6 +167843,84 @@ ], "type": "object" }, + "AWS::FMS::ProtocolsList": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ListName": { + "type": "string" + }, + "ProtocolsList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ListName", + "ProtocolsList" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::ProtocolsList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::FMS::ResourceSet": { "additionalProperties": false, "properties": { @@ -161548,6 +168018,77 @@ ], "type": "object" }, + "AWS::FSx::Backup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FSx::Backup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::FSx::DataRepositoryAssociation": { "additionalProperties": false, "properties": { @@ -161700,6 +168241,185 @@ }, "type": "object" }, + "AWS::FSx::FileCache": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CopyTagsToDataRepositoryAssociations": { + "type": "boolean" + }, + "DataRepositoryAssociations": { + "items": { + "$ref": "#/definitions/AWS::FSx::FileCache.DataRepositoryAssociation" + }, + "type": "array" + }, + "FileCacheType": { + "type": "string" + }, + "FileCacheTypeVersion": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LustreConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileCache.LustreConfiguration" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageCapacity": { + "type": "number" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FileCacheType", + "FileCacheTypeVersion", + "StorageCapacity", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FSx::FileCache" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FSx::FileCache.DataRepositoryAssociation": { + "additionalProperties": false, + "properties": { + "DataRepositoryPath": { + "type": "string" + }, + "FileCachePath": { + "type": "string" + } + }, + "required": [ + "DataRepositoryPath", + "FileCachePath" + ], + "type": "object" + }, + "AWS::FSx::FileCache.LogConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Level": { + "type": "string" + } + }, + "required": [ + "Level" + ], + "type": "object" + }, + "AWS::FSx::FileCache.LustreConfiguration": { + "additionalProperties": false, + "properties": { + "DeploymentType": { + "type": "string" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileCache.LogConfiguration" + }, + "MetadataConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileCache.MetadataConfiguration" + }, + "MountName": { + "type": "string" + }, + "PerUnitStorageThroughput": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { + "type": "string" + } + }, + "required": [ + "DeploymentType", + "MetadataConfiguration", + "PerUnitStorageThroughput" + ], + "type": "object" + }, + "AWS::FSx::FileCache.MetadataConfiguration": { + "additionalProperties": false, + "properties": { + "StorageCapacity": { + "type": "number" + } + }, + "required": [ + "StorageCapacity" + ], + "type": "object" + }, "AWS::FSx::FileSystem": { "additionalProperties": false, "properties": { @@ -168671,6 +175391,627 @@ }, "type": "object" }, + "AWS::Glue::ConnectionType": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionProperties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectionPropertiesConfiguration" + }, + "ConnectionType": { + "type": "string" + }, + "ConnectorAuthenticationConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorAuthenticationConfiguration" + }, + "Description": { + "type": "string" + }, + "IntegrationType": { + "type": "string" + }, + "RestConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.RestConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionType", + "RestConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::ConnectionType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.BasicAuthenticationProperties": { + "additionalProperties": false, + "properties": { + "Password": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "Username": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.BetweenConfiguration": { + "additionalProperties": false, + "properties": { + "HighBoundKey": { + "type": "string" + }, + "LowBoundKey": { + "type": "string" + }, + "Template": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ClientCredentialsProperties": { + "additionalProperties": false, + "properties": { + "ClientId": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "ClientSecret": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "ContentType": { + "type": "string" + }, + "RequestMethod": { + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "TokenUrl": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "TokenUrlParameters": { + "items": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ConnectionPropertiesConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalRequestParameters": { + "items": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "type": "array" + }, + "Url": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ConnectorAuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "AuthenticationTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BasicAuthenticationProperties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.BasicAuthenticationProperties" + }, + "CustomAuthenticationProperties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.CustomAuthenticationProperties" + }, + "OAuth2Properties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorOAuth2Properties" + } + }, + "required": [ + "AuthenticationTypes" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.ConnectorAuthorizationCodeProperties": { + "additionalProperties": false, + "properties": { + "AuthorizationCode": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "AuthorizationCodeUrl": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "ClientId": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "ClientSecret": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "ContentType": { + "type": "string" + }, + "Prompt": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "RedirectUri": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "RequestMethod": { + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "TokenUrl": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "TokenUrlParameters": { + "items": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ConnectorOAuth2Properties": { + "additionalProperties": false, + "properties": { + "AuthorizationCodeProperties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorAuthorizationCodeProperties" + }, + "ClientCredentialsProperties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ClientCredentialsProperties" + }, + "JWTBearerProperties": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.JWTBearerProperties" + }, + "OAuth2GrantType": { + "type": "string" + } + }, + "required": [ + "OAuth2GrantType" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.ConnectorProperty": { + "additionalProperties": false, + "properties": { + "AllowedValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DefaultValue": { + "type": "string" + }, + "KeyOverride": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PropertyLocation": { + "type": "string" + }, + "PropertyType": { + "type": "string" + }, + "Required": { + "type": "boolean" + } + }, + "required": [ + "Name", + "PropertyType", + "Required" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.CursorConfiguration": { + "additionalProperties": false, + "properties": { + "LimitParameter": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ExtractedParameter" + }, + "NextPage": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ExtractedParameter" + } + }, + "required": [ + "NextPage" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.CustomAuthenticationProperties": { + "additionalProperties": false, + "properties": { + "AuthenticationParameters": { + "items": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "type": "array" + } + }, + "required": [ + "AuthenticationParameters" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.EntityConfiguration": { + "additionalProperties": false, + "properties": { + "Schema": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.FieldDefinition" + } + }, + "type": "object" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SourceConfiguration" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ExtractedParameter": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "PropertyLocation": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ResponseExtractionMapping" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.FieldDefinition": { + "additionalProperties": false, + "properties": { + "FieldDataType": { + "type": "string" + }, + "FilterOverrides": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.FilterOverrides" + }, + "IsNullable": { + "type": "boolean" + }, + "IsOrderable": { + "type": "boolean" + }, + "IsPartitionable": { + "type": "boolean" + }, + "IsQueryable": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "ResponseDateFormat": { + "type": "string" + } + }, + "required": [ + "FieldDataType", + "Name" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.FilterConfiguration": { + "additionalProperties": false, + "properties": { + "BetweenConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.BetweenConfiguration" + }, + "DateTimeFormat": { + "type": "string" + }, + "FilterMode": { + "type": "string" + }, + "FilterStringConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.FilterStringConfiguration" + }, + "OperatorMappings": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "StripQuotes": { + "type": "boolean" + } + }, + "required": [ + "FilterMode" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.FilterOverrides": { + "additionalProperties": false, + "properties": { + "BetweenConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.BetweenConfiguration" + }, + "DateTimeFormat": { + "type": "string" + }, + "FieldName": { + "type": "string" + }, + "OperatorMappings": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.FilterStringConfiguration": { + "additionalProperties": false, + "properties": { + "QueryParameterName": { + "type": "string" + }, + "QuoteCharacter": { + "type": "string" + }, + "QuoteStringValues": { + "type": "boolean" + } + }, + "required": [ + "QueryParameterName" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.JWTBearerProperties": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "JwtToken": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SecretConnectorProperty" + }, + "RequestMethod": { + "type": "string" + }, + "TokenUrl": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "TokenUrlParameters": { + "items": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.OffsetConfiguration": { + "additionalProperties": false, + "properties": { + "LimitParameter": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ExtractedParameter" + }, + "OffsetParameter": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ExtractedParameter" + } + }, + "required": [ + "LimitParameter", + "OffsetParameter" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.PaginationConfiguration": { + "additionalProperties": false, + "properties": { + "CursorConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.CursorConfiguration" + }, + "OffsetConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.OffsetConfiguration" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ResponseConfiguration": { + "additionalProperties": false, + "properties": { + "ErrorPath": { + "type": "string" + }, + "ResultPath": { + "type": "string" + } + }, + "required": [ + "ResultPath" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.ResponseExtractionMapping": { + "additionalProperties": false, + "properties": { + "ContentPath": { + "type": "string" + }, + "HeaderKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.RestConfiguration": { + "additionalProperties": false, + "properties": { + "EntityConfigurations": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.EntityConfiguration" + } + }, + "type": "object" + }, + "GlobalSourceConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.SourceConfiguration" + }, + "ValidationEndpointConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ValidationEndpointConfiguration" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.SecretConnectorProperty": { + "additionalProperties": false, + "properties": { + "KeyOverride": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PropertyLocation": { + "type": "string" + }, + "PropertyType": { + "type": "string" + }, + "Required": { + "type": "boolean" + } + }, + "required": [ + "Name", + "PropertyType", + "Required" + ], + "type": "object" + }, + "AWS::Glue::ConnectionType.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "FilterConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.FilterConfiguration" + }, + "PaginationConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.PaginationConfiguration" + }, + "RequestMethod": { + "type": "string" + }, + "RequestParameters": { + "items": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ConnectorProperty" + }, + "type": "array" + }, + "RequestPath": { + "type": "string" + }, + "ResponseConfiguration": { + "$ref": "#/definitions/AWS::Glue::ConnectionType.ResponseConfiguration" + } + }, + "type": "object" + }, + "AWS::Glue::ConnectionType.ValidationEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "RequestMethod": { + "type": "string" + }, + "RequestPath": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Crawler": { "additionalProperties": false, "properties": { @@ -178064,6 +185405,78 @@ }, "type": "object" }, + "AWS::GroundStation::Satellite": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::Satellite" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GroundStation::Satellite.EphemerisMetaData": { + "additionalProperties": false, + "properties": { + "Epoch": { + "type": "string" + }, + "Source": { + "type": "string" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, "AWS::GuardDuty::CustomDetectionRuleAssociation": { "additionalProperties": false, "properties": { @@ -178558,6 +185971,12 @@ "title": "Lte", "type": "number" }, + "Matches": { + "items": { + "type": "string" + }, + "type": "array" + }, "Neq": { "items": { "type": "string" @@ -178573,6 +185992,12 @@ "markdownDescription": "Represents a *not equal* ** condition to be applied to a single field when querying for findings.", "title": "NotEquals", "type": "array" + }, + "NotMatches": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -179568,6 +186993,170 @@ ], "type": "object" }, + "AWS::HealthAgent::Domain": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::HealthAgent::Domain.TagsItems" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::HealthAgent::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::HealthAgent::Domain.EncryptionContext": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::HealthAgent::Domain.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::HealthAgent::Subscription": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainId": { + "type": "string" + } + }, + "required": [ + "DomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::HealthAgent::Subscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::HealthImaging::Datastore": { "additionalProperties": false, "properties": { @@ -194015,6 +201604,9 @@ "markdownDescription": "Properties of the HTTP URL.", "title": "HttpUrlProperties" }, + "InfluxDBProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.InfluxDBDestinationProperties" + }, "Status": { "markdownDescription": "- **IN_PROGRESS** - A topic rule destination was created but has not been confirmed. You can set status to `IN_PROGRESS` by calling `UpdateTopicRuleDestination` . Calling `UpdateTopicRuleDestination` causes a new confirmation challenge to be sent to your confirmation endpoint.\n- **ENABLED** - Confirmation was completed, and traffic to this destination is allowed. You can set status to `DISABLED` by calling `UpdateTopicRuleDestination` .\n- **DISABLED** - Confirmation was completed, and traffic to this destination is not allowed. You can set status to `ENABLED` by calling `UpdateTopicRuleDestination` .\n- **ERROR** - Confirmation could not be completed; for example, if the confirmation timed out. You can call `GetTopicRuleDestination` for details about the error. You can set status to `IN_PROGRESS` by calling `UpdateTopicRuleDestination` . Calling `UpdateTopicRuleDestination` causes a new confirmation challenge to be sent to your confirmation endpoint.", "title": "Status", @@ -194059,6 +201651,32 @@ }, "type": "object" }, + "AWS::IoT::TopicRuleDestination.InfluxDBDestinationProperties": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "InfluxDBVersion": { + "type": "string" + }, + "SecretId": { + "type": "string" + }, + "SecretKey": { + "type": "string" + }, + "SecretType": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "InfluxDBVersion", + "SecretId" + ], + "type": "object" + }, "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { "additionalProperties": false, "properties": { @@ -200454,6 +208072,131 @@ ], "type": "object" }, + "AWS::IoTSiteWise::Pipeline": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Computations": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Pipeline.ComputeNode" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "PipelineName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkspaceName": { + "type": "string" + } + }, + "required": [ + "Computations", + "PipelineName", + "WorkspaceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Pipeline.ComputeNode": { + "additionalProperties": false, + "properties": { + "ComputeNodeName": { + "type": "string" + }, + "DependsOn": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TaskName": { + "type": "string" + } + }, + "required": [ + "ComputeNodeName", + "TaskName" + ], + "type": "object" + }, "AWS::IoTSiteWise::Portal": { "additionalProperties": false, "properties": { @@ -200704,6 +208447,311 @@ ], "type": "object" }, + "AWS::IoTSiteWise::Task": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskConfiguration": { + "$ref": "#/definitions/AWS::IoTSiteWise::Task.TaskConfiguration" + }, + "TaskName": { + "type": "string" + }, + "WorkspaceName": { + "type": "string" + } + }, + "required": [ + "TaskConfiguration", + "TaskName", + "WorkspaceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Task" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Task.ContainerTaskConfiguration": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EcrUri": { + "type": "string" + }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "EphemeralStorageConfiguration": { + "$ref": "#/definitions/AWS::IoTSiteWise::Task.EphemeralStorageConfiguration" + }, + "Mounts": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Task.Mount" + }, + "type": "array" + }, + "ProcessingType": { + "type": "string" + }, + "ProcessingUnit": { + "type": "string" + }, + "TaskExecutionRole": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + } + }, + "required": [ + "EcrUri", + "ProcessingType", + "ProcessingUnit", + "TaskExecutionRole" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Task.EphemeralStorageConfiguration": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "type": "string" + }, + "StorageSizeInGiB": { + "type": "number" + } + }, + "required": [ + "StorageClass", + "StorageSizeInGiB" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Task.Mount": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RelativePath": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::IoTSiteWise::Task.MountSource" + }, + "StorageType": { + "type": "string" + } + }, + "required": [ + "Name", + "RelativePath", + "Source", + "StorageType" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Task.MountSource": { + "additionalProperties": false, + "properties": { + "S3AccessPoint": { + "$ref": "#/definitions/AWS::IoTSiteWise::Task.S3AccessPointSource" + } + }, + "required": [ + "S3AccessPoint" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Task.S3AccessPointSource": { + "additionalProperties": false, + "properties": { + "AccessPointArn": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "AccessPointArn" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Task.TaskConfiguration": { + "additionalProperties": false, + "properties": { + "ContainerTaskConfiguration": { + "$ref": "#/definitions/AWS::IoTSiteWise::Task.ContainerTaskConfiguration" + } + }, + "required": [ + "ContainerTaskConfiguration" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Workspace": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::IoTSiteWise::Workspace.EncryptionConfiguration" + }, + "KmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkspaceDescription": { + "type": "string" + }, + "WorkspaceName": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "WorkspaceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Workspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Workspace.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, "AWS::IoTThingsGraph::FlowTemplate": { "additionalProperties": false, "properties": { @@ -205387,6 +213435,108 @@ ], "type": "object" }, + "AWS::Kendra::FeaturedResultsSet": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FeaturedDocuments": { + "items": { + "$ref": "#/definitions/AWS::Kendra::FeaturedResultsSet.FeaturedDocument" + }, + "type": "array" + }, + "FeaturedResultsSetName": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "QueryTexts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FeaturedResultsSetName", + "IndexId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::FeaturedResultsSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::FeaturedResultsSet.FeaturedDocument": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Kendra::Index": { "additionalProperties": false, "properties": { @@ -205864,20 +214014,230 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Description": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SourceS3Path": { + "$ref": "#/definitions/AWS::Kendra::Thesaurus.S3Path" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IndexId", + "Name", + "RoleArn", + "SourceS3Path" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::Thesaurus" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Thesaurus.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::KendraRanking::ExecutionPlan": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityUnits": { + "$ref": "#/definitions/AWS::KendraRanking::ExecutionPlan.CapacityUnitsConfiguration", + "markdownDescription": "You can set additional capacity units to meet the needs of your rescore execution plan. You are given a single capacity unit by default. If you want to use the default capacity, you don't set additional capacity units. For more information on the default capacity and additional capacity units, see [Adjusting capacity](https://docs.aws.amazon.com/kendra/latest/dg/adjusting-capacity.html) .", + "title": "CapacityUnits" + }, + "Description": { + "markdownDescription": "A description for the rescore execution plan.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "A name for the rescore execution plan.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of key-value pairs that identify or categorize your rescore execution plan. You can also use tags to help control access to the rescore execution plan. Tag keys and values can consist of Unicode letters, digits, white space. They can also consist of underscore, period, colon, equal, plus, and asperand.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KendraRanking::ExecutionPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KendraRanking::ExecutionPlan.CapacityUnitsConfiguration": { + "additionalProperties": false, + "properties": { + "RescoreCapacityUnits": { + "markdownDescription": "The amount of extra capacity for your rescore execution plan.\n\nA single extra capacity unit for a rescore execution plan provides 0.01 rescore requests per second. You can add up to 1000 extra capacity units.", + "title": "RescoreCapacityUnits", + "type": "number" + } + }, + "required": [ + "RescoreCapacityUnits" + ], + "type": "object" + }, + "AWS::Kinesis::Channel": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelName": { "type": "string" }, - "IndexId": { - "type": "string" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.EncryptionConfiguration" }, - "Name": { - "type": "string" + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.LoggingConfiguration" }, - "RoleArn": { + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.S3DestinationConfiguration" + }, + "S3TablesDestinationConfiguration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.S3TablesDestinationConfiguration" + }, + "ServiceExecutionRoleARN": { "type": "string" }, - "SourceS3Path": { - "$ref": "#/definitions/AWS::Kendra::Thesaurus.S3Path" + "StreamConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::Kinesis::Channel.StreamConfiguration" + }, + "type": "array" }, "Tags": { "items": { @@ -205887,16 +214247,15 @@ } }, "required": [ - "IndexId", - "Name", - "RoleArn", - "SourceS3Path" + "ChannelName", + "ServiceExecutionRoleARN", + "StreamConfigurationList" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::Thesaurus" + "AWS::Kinesis::Channel" ], "type": "string" }, @@ -205915,118 +214274,223 @@ ], "type": "object" }, - "AWS::Kendra::Thesaurus.S3Path": { + "AWS::Kinesis::Channel.CloudWatchLogsConfiguration": { "additionalProperties": false, "properties": { - "Bucket": { + "Enabled": { + "type": "boolean" + }, + "LogGroupName": { "type": "string" }, - "Key": { + "LogStreamName": { "type": "string" } }, "required": [ - "Bucket", - "Key" + "Enabled" ], "type": "object" }, - "AWS::KendraRanking::ExecutionPlan": { + "AWS::Kinesis::Channel.DeadLetterQueueS3Configuration": { "additionalProperties": false, "properties": { - "Condition": { + "BucketARN": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ErrorOutputPrefix": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ExpectedBucketOwner": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "ExpectedBucketOwner" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" }, - "Metadata": { - "type": "object" + "KeyId": { + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::Kinesis::Channel.CloudWatchLogsConfiguration" + } + }, + "required": [ + "CloudWatchLogs" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.PartitionField": { + "additionalProperties": false, + "properties": { + "SourceName": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityUnits": { - "$ref": "#/definitions/AWS::KendraRanking::ExecutionPlan.CapacityUnitsConfiguration", - "markdownDescription": "You can set additional capacity units to meet the needs of your rescore execution plan. You are given a single capacity unit by default. If you want to use the default capacity, you don't set additional capacity units. For more information on the default capacity and additional capacity units, see [Adjusting capacity](https://docs.aws.amazon.com/kendra/latest/dg/adjusting-capacity.html) .", - "title": "CapacityUnits" - }, - "Description": { - "markdownDescription": "A description for the rescore execution plan.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "A name for the rescore execution plan.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of key-value pairs that identify or categorize your rescore execution plan. You can also use tags to help control access to the rescore execution plan. Tag keys and values can consist of Unicode letters, digits, white space. They can also consist of underscore, period, colon, equal, plus, and asperand.", - "title": "Tags", - "type": "array" - } + "Transform": { + "type": "string" + } + }, + "required": [ + "SourceName", + "Transform" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.PartitionSpec": { + "additionalProperties": false, + "properties": { + "PartitionFields": { + "items": { + "$ref": "#/definitions/AWS::Kinesis::Channel.PartitionField" }, - "required": [ - "Name" - ], - "type": "object" + "type": "array" + } + }, + "required": [ + "PartitionFields" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.RecordConfiguration": { + "additionalProperties": false, + "properties": { + "GSRSchemaARN": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::KendraRanking::ExecutionPlan" - ], + "RecordFormatType": { "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "DataFreshnessInSeconds": { + "type": "number" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DeadLetterQueueS3Configuration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.DeadLetterQueueS3Configuration" + }, + "StorageConfiguration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.S3StorageConfiguration" + } + }, + "required": [ + "StorageConfiguration" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.S3StorageConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "CompressionType": { + "type": "string" + }, + "ExpectedBucketOwner": { + "type": "string" + }, + "OutputKeyTemplate": { + "type": "string" + }, + "StorageClass": { "type": "string" } }, "required": [ - "Type", - "Properties" + "BucketARN", + "CompressionType", + "ExpectedBucketOwner" ], "type": "object" }, - "AWS::KendraRanking::ExecutionPlan.CapacityUnitsConfiguration": { + "AWS::Kinesis::Channel.S3TableConfiguration": { "additionalProperties": false, "properties": { - "RescoreCapacityUnits": { - "markdownDescription": "The amount of extra capacity for your rescore execution plan.\n\nA single extra capacity unit for a rescore execution plan provides 0.01 rescore requests per second. You can add up to 1000 extra capacity units.", - "title": "RescoreCapacityUnits", + "CompressionType": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "PartitionSpec": { + "$ref": "#/definitions/AWS::Kinesis::Channel.PartitionSpec" + }, + "TableBucketARN": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "CompressionType", + "Namespace", + "TableBucketARN", + "TableName" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.S3TablesDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "DataFreshnessInSeconds": { "type": "number" + }, + "DeadLetterQueueS3Configuration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.DeadLetterQueueS3Configuration" + }, + "S3TablesConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::Kinesis::Channel.S3TableConfiguration" + }, + "type": "array" } }, "required": [ - "RescoreCapacityUnits" + "DeadLetterQueueS3Configuration", + "S3TablesConfigurationList" + ], + "type": "object" + }, + "AWS::Kinesis::Channel.StreamConfiguration": { + "additionalProperties": false, + "properties": { + "RecordConfiguration": { + "$ref": "#/definitions/AWS::Kinesis::Channel.RecordConfiguration" + }, + "StreamARN": { + "type": "string" + } + }, + "required": [ + "RecordConfiguration", + "StreamARN" ], "type": "object" }, @@ -211320,6 +219784,15 @@ ], "type": "object" }, + "AWS::LakeFormation::PrincipalPermissions.CatalogResource": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, "AWS::LakeFormation::PrincipalPermissions.ColumnWildcard": { "additionalProperties": false, "properties": { @@ -211498,9 +219971,9 @@ "additionalProperties": false, "properties": { "Catalog": { + "$ref": "#/definitions/AWS::LakeFormation::PrincipalPermissions.CatalogResource", "markdownDescription": "The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.", - "title": "Catalog", - "type": "object" + "title": "Catalog" }, "DataCellsFilter": { "$ref": "#/definitions/AWS::LakeFormation::PrincipalPermissions.DataCellsFilterResource", @@ -211906,11 +220379,6 @@ "AWS::LakeFormation::TagAssociation.Resource": { "additionalProperties": false, "properties": { - "Catalog": { - "markdownDescription": "The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.", - "title": "Catalog", - "type": "object" - }, "Database": { "$ref": "#/definitions/AWS::LakeFormation::TagAssociation.DatabaseResource", "markdownDescription": "The database for the resource. Unique to the Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database permissions to a principal.", @@ -211946,11 +220414,6 @@ "markdownDescription": "The name of the table.", "title": "Name", "type": "string" - }, - "TableWildcard": { - "markdownDescription": "A wildcard object representing every table under a database.This is an object with no properties that effectively behaves as a true or false depending on whether not it is passed as a parameter. The valid inputs for a property with this type in either yaml or json is null or {}.\n\nAt least one of `TableResource$Name` or `TableResource$TableWildcard` is required.", - "title": "TableWildcard", - "type": "object" } }, "required": [ @@ -218467,90 +226930,338 @@ "Properties": { "additionalProperties": false, "properties": { - "Beneficiary": { - "markdownDescription": "License beneficiary.", - "title": "Beneficiary", - "type": "string" - }, - "ConsumptionConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration", - "markdownDescription": "Configuration for consumption of the license.", - "title": "ConsumptionConfiguration" - }, - "Entitlements": { + "Beneficiary": { + "markdownDescription": "License beneficiary.", + "title": "Beneficiary", + "type": "string" + }, + "ConsumptionConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration", + "markdownDescription": "Configuration for consumption of the license.", + "title": "ConsumptionConfiguration" + }, + "Entitlements": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" + }, + "markdownDescription": "License entitlements.", + "title": "Entitlements", + "type": "array" + }, + "HomeRegion": { + "markdownDescription": "Home Region of the license.", + "title": "HomeRegion", + "type": "string" + }, + "Issuer": { + "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData", + "markdownDescription": "License issuer.", + "title": "Issuer" + }, + "LicenseMetadata": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" + }, + "markdownDescription": "License metadata.", + "title": "LicenseMetadata", + "type": "array" + }, + "LicenseName": { + "markdownDescription": "License name.", + "title": "LicenseName", + "type": "string" + }, + "ProductName": { + "markdownDescription": "Product name.", + "title": "ProductName", + "type": "string" + }, + "ProductSKU": { + "markdownDescription": "Product SKU.", + "title": "ProductSKU", + "type": "string" + }, + "Status": { + "markdownDescription": "License status.", + "title": "Status", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Validity": { + "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat", + "markdownDescription": "Date and time range during which the license is valid, in ISO8601-UTC format.", + "title": "Validity" + } + }, + "required": [ + "Beneficiary", + "ConsumptionConfiguration", + "Entitlements", + "HomeRegion", + "Issuer", + "LicenseName", + "ProductName", + "ProductSKU", + "Validity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::License" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LicenseManager::License.BorrowConfiguration": { + "additionalProperties": false, + "properties": { + "AllowEarlyCheckIn": { + "markdownDescription": "Indicates whether early check-ins are allowed.", + "title": "AllowEarlyCheckIn", + "type": "boolean" + }, + "MaxTimeToLiveInMinutes": { + "markdownDescription": "Maximum time for the borrow configuration, in minutes.", + "title": "MaxTimeToLiveInMinutes", + "type": "number" + } + }, + "required": [ + "AllowEarlyCheckIn", + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ConsumptionConfiguration": { + "additionalProperties": false, + "properties": { + "BorrowConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration", + "markdownDescription": "Details about a borrow configuration.", + "title": "BorrowConfiguration" + }, + "ProvisionalConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration", + "markdownDescription": "Details about a provisional configuration.", + "title": "ProvisionalConfiguration" + }, + "RenewType": { + "markdownDescription": "Renewal frequency.", + "title": "RenewType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::LicenseManager::License.Entitlement": { + "additionalProperties": false, + "properties": { + "AllowCheckIn": { + "markdownDescription": "Indicates whether check-ins are allowed.", + "title": "AllowCheckIn", + "type": "boolean" + }, + "MaxCount": { + "markdownDescription": "Maximum entitlement count. Use if the unit is not None.", + "title": "MaxCount", + "type": "number" + }, + "Name": { + "markdownDescription": "Entitlement name.", + "title": "Name", + "type": "string" + }, + "Overage": { + "markdownDescription": "Indicates whether overages are allowed.", + "title": "Overage", + "type": "boolean" + }, + "Unit": { + "markdownDescription": "Entitlement unit.", + "title": "Unit", + "type": "string" + }, + "Value": { + "markdownDescription": "Entitlement resource. Use only if the unit is None.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Name", + "Unit" + ], + "type": "object" + }, + "AWS::LicenseManager::License.IssuerData": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "Issuer name.", + "title": "Name", + "type": "string" + }, + "SignKey": { + "markdownDescription": "Asymmetric KMS key from AWS Key Management Service . The KMS key must have a key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing algorithm.", + "title": "SignKey", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::LicenseManager::License.Metadata": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The key name.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ProvisionalConfiguration": { + "additionalProperties": false, + "properties": { + "MaxTimeToLiveInMinutes": { + "markdownDescription": "Maximum time for the provisional configuration, in minutes.", + "title": "MaxTimeToLiveInMinutes", + "type": "number" + } + }, + "required": [ + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ValidityDateFormat": { + "additionalProperties": false, + "properties": { + "Begin": { + "markdownDescription": "Start of the time range.", + "title": "Begin", + "type": "string" + }, + "End": { + "markdownDescription": "End of the time range.", + "title": "End", + "type": "string" + } + }, + "required": [ + "Begin", + "End" + ], + "type": "object" + }, + "AWS::LicenseManager::LicenseAssetGroup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedLicenseAssetRulesetARNs": { "items": { - "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" + "type": "string" }, - "markdownDescription": "License entitlements.", - "title": "Entitlements", "type": "array" }, - "HomeRegion": { - "markdownDescription": "Home Region of the license.", - "title": "HomeRegion", + "Description": { "type": "string" }, - "Issuer": { - "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData", - "markdownDescription": "License issuer.", - "title": "Issuer" - }, - "LicenseMetadata": { + "LicenseAssetGroupConfigurations": { "items": { - "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" + "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetGroup.LicenseAssetGroupConfiguration" }, - "markdownDescription": "License metadata.", - "title": "LicenseMetadata", "type": "array" }, - "LicenseName": { - "markdownDescription": "License name.", - "title": "LicenseName", - "type": "string" - }, - "ProductName": { - "markdownDescription": "Product name.", - "title": "ProductName", - "type": "string" - }, - "ProductSKU": { - "markdownDescription": "Product SKU.", - "title": "ProductSKU", + "Name": { "type": "string" }, - "Status": { - "markdownDescription": "License status.", - "title": "Status", - "type": "string" + "Properties": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetGroup.LicenseAssetGroupProperty" + }, + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "Validity": { - "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat", - "markdownDescription": "Date and time range during which the license is valid, in ISO8601-UTC format.", - "title": "Validity" } }, "required": [ - "Beneficiary", - "ConsumptionConfiguration", - "Entitlements", - "HomeRegion", - "Issuer", - "LicenseName", - "ProductName", - "ProductSKU", - "Validity" + "AssociatedLicenseAssetRulesetARNs", + "LicenseAssetGroupConfigurations", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::LicenseManager::License" + "AWS::LicenseManager::LicenseAssetGroup" ], "type": "string" }, @@ -218569,158 +227280,25 @@ ], "type": "object" }, - "AWS::LicenseManager::License.BorrowConfiguration": { - "additionalProperties": false, - "properties": { - "AllowEarlyCheckIn": { - "markdownDescription": "Indicates whether early check-ins are allowed.", - "title": "AllowEarlyCheckIn", - "type": "boolean" - }, - "MaxTimeToLiveInMinutes": { - "markdownDescription": "Maximum time for the borrow configuration, in minutes.", - "title": "MaxTimeToLiveInMinutes", - "type": "number" - } - }, - "required": [ - "AllowEarlyCheckIn", - "MaxTimeToLiveInMinutes" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ConsumptionConfiguration": { + "AWS::LicenseManager::LicenseAssetGroup.LicenseAssetGroupConfiguration": { "additionalProperties": false, "properties": { - "BorrowConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration", - "markdownDescription": "Details about a borrow configuration.", - "title": "BorrowConfiguration" - }, - "ProvisionalConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration", - "markdownDescription": "Details about a provisional configuration.", - "title": "ProvisionalConfiguration" - }, - "RenewType": { - "markdownDescription": "Renewal frequency.", - "title": "RenewType", + "UsageDimension": { "type": "string" } }, "type": "object" }, - "AWS::LicenseManager::License.Entitlement": { + "AWS::LicenseManager::LicenseAssetGroup.LicenseAssetGroupProperty": { "additionalProperties": false, "properties": { - "AllowCheckIn": { - "markdownDescription": "Indicates whether check-ins are allowed.", - "title": "AllowCheckIn", - "type": "boolean" - }, - "MaxCount": { - "markdownDescription": "Maximum entitlement count. Use if the unit is not None.", - "title": "MaxCount", - "type": "number" - }, - "Name": { - "markdownDescription": "Entitlement name.", - "title": "Name", - "type": "string" - }, - "Overage": { - "markdownDescription": "Indicates whether overages are allowed.", - "title": "Overage", - "type": "boolean" - }, - "Unit": { - "markdownDescription": "Entitlement unit.", - "title": "Unit", - "type": "string" - }, - "Value": { - "markdownDescription": "Entitlement resource. Use only if the unit is None.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Name", - "Unit" - ], - "type": "object" - }, - "AWS::LicenseManager::License.IssuerData": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "Issuer name.", - "title": "Name", - "type": "string" - }, - "SignKey": { - "markdownDescription": "Asymmetric KMS key from AWS Key Management Service . The KMS key must have a key usage of sign and verify, and support the RSASSA-PSS SHA-256 signing algorithm.", - "title": "SignKey", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::LicenseManager::License.Metadata": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The key name.", - "title": "Name", + "Key": { "type": "string" }, "Value": { - "markdownDescription": "The value.", - "title": "Value", "type": "string" } }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ProvisionalConfiguration": { - "additionalProperties": false, - "properties": { - "MaxTimeToLiveInMinutes": { - "markdownDescription": "Maximum time for the provisional configuration, in minutes.", - "title": "MaxTimeToLiveInMinutes", - "type": "number" - } - }, - "required": [ - "MaxTimeToLiveInMinutes" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ValidityDateFormat": { - "additionalProperties": false, - "properties": { - "Begin": { - "markdownDescription": "Start of the time range.", - "title": "Begin", - "type": "string" - }, - "End": { - "markdownDescription": "End of the time range.", - "title": "End", - "type": "string" - } - }, - "required": [ - "Begin", - "End" - ], "type": "object" }, "AWS::LicenseManager::LicenseAssetRuleSet": { @@ -221172,6 +229750,89 @@ }, "type": "object" }, + "AWS::Lightsail::KeyPair": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyPairName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPairName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::KeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::KeyPair.ResourceLocation": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "RegionName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lightsail::LoadBalancer": { "additionalProperties": false, "properties": { @@ -229217,6 +237878,80 @@ }, "type": "object" }, + "AWS::Macie::Member": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "Email": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccountId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Macie::Session": { "additionalProperties": false, "properties": { @@ -233101,6 +241836,9 @@ "markdownDescription": "", "title": "Configuration" }, + "FabricConfiguration": { + "$ref": "#/definitions/AWS::MediaConnect::RouterOutput.FabricConfiguration" + }, "MaintenanceConfiguration": { "$ref": "#/definitions/AWS::MediaConnect::RouterOutput.MaintenanceConfiguration", "markdownDescription": "The maintenance configuration settings applied to this router output.", @@ -233170,6 +241908,18 @@ ], "type": "object" }, + "AWS::MediaConnect::RouterOutput.FabricConfiguration": { + "additionalProperties": false, + "properties": { + "RecoveryLatencyMode": { + "type": "string" + } + }, + "required": [ + "RecoveryLatencyMode" + ], + "type": "object" + }, "AWS::MediaConnect::RouterOutput.FlowTransitEncryption": { "additionalProperties": false, "properties": { @@ -233536,6 +242286,213 @@ ], "type": "object" }, + "AWS::MediaConvert::Job": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccelerationSettings": { + "$ref": "#/definitions/AWS::MediaConvert::Job.AccelerationSettings" + }, + "BillingTagsSource": { + "type": "string" + }, + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::Job.HopDestination" + }, + "type": "array" + }, + "JobTemplate": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "SimulateReservedQueue": { + "type": "string" + }, + "StatusUpdateInterval": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserMetadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Role", + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::Job.AccelerationSettings": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::MediaConvert::Job.HopDestination": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "WaitMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Job.JobMessages": { + "additionalProperties": false, + "properties": { + "Info": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Warning": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Job.OutputDetail": { + "additionalProperties": false, + "properties": { + "DurationInMs": { + "type": "number" + }, + "VideoDetails": { + "$ref": "#/definitions/AWS::MediaConvert::Job.VideoDetail" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Job.OutputGroupDetail": { + "additionalProperties": false, + "properties": { + "OutputDetails": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::Job.OutputDetail" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Job.Timing": { + "additionalProperties": false, + "properties": { + "FinishTime": { + "type": "string" + }, + "StartTime": { + "type": "string" + }, + "SubmitTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Job.VideoDetail": { + "additionalProperties": false, + "properties": { + "HeightInPx": { + "type": "number" + }, + "WidthInPx": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MediaConvert::JobTemplate": { "additionalProperties": false, "properties": { @@ -233818,9 +242775,6 @@ "title": "Description", "type": "string" }, - "MaximumConcurrentFeeds": { - "type": "number" - }, "Name": { "markdownDescription": "The name of the queue that you are creating.", "title": "Name", @@ -234066,6 +243020,21 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.AbWatermarkingCustomProfile": { + "additionalProperties": false, + "properties": { + "EmbeddingFrequency": { + "type": "number" + }, + "SceneCut": { + "type": "number" + }, + "TargetPsnr": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.Ac3Settings": { "additionalProperties": false, "properties": { @@ -234154,7 +243123,7 @@ "additionalProperties": false, "properties": { "ArchiveS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveS3Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveFrameCaptureHlsS3Settings", "markdownDescription": "Sets up Amazon S3 as the destination for this Archive output.", "title": "ArchiveS3Settings" } @@ -234170,13 +243139,22 @@ "title": "M2tsSettings" }, "RawSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The settings for Raw archive output type.", "title": "RawSettings" } }, "type": "object" }, + "AWS::MediaLive::Channel.ArchiveFrameCaptureHlsS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.ArchiveGroupSettings": { "additionalProperties": false, "properties": { @@ -234219,27 +243197,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.ArchiveS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "markdownDescription": "Specify the canned ACL to apply to each S3 request. Defaults to none.", - "title": "CannedAcl", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AribDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AribSourceSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.AudioChannelMapping": { "additionalProperties": false, "properties": { @@ -234288,7 +243245,7 @@ "title": "Mp2Settings" }, "PassThroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The setup to pass through the Dolby audio codec to the output.", "title": "PassThroughSettings" }, @@ -234667,7 +243624,7 @@ "additionalProperties": false, "properties": { "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "", "title": "ColorSpacePassthroughSettings" }, @@ -234677,15 +243634,15 @@ "title": "Hdr10Settings" }, "Hlg2020Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hlg2020Settings" + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings" }, "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "", "title": "Rec601Settings" }, "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "", "title": "Rec709Settings" } @@ -234855,12 +243812,12 @@ "title": "Esam" }, "Scte35SpliceInsert": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert", + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsertTimeSignalAposSettings", "markdownDescription": "The setup for SCTE-35 splice insert handling.", "title": "Scte35SpliceInsert" }, "Scte35TimeSignalApos": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos", + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsertTimeSignalAposSettings", "markdownDescription": "The setup for SCTE-35 time signal APOS handling.", "title": "Scte35TimeSignalApos" } @@ -234914,97 +243871,61 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.BurnInDestinationSettings": { + "AWS::MediaLive::Channel.BurnInDvbSubDestinationSettings": { "additionalProperties": false, "properties": { "Alignment": { - "markdownDescription": "If no explicit xPosition or yPosition is provided, setting alignment to centered places the captions at the bottom center of the output. Similarly, setting a left alignment aligns captions to the bottom left of the output. If x and y positions are specified in conjunction with the alignment parameter, the font is justified (either left or centered) relative to those coordinates. Selecting \"smart\" justification left-justifies live subtitles and center-justifies pre-recorded subtitles. All burn-in and DVB-Sub font settings must match.", - "title": "Alignment", "type": "string" }, "BackgroundColor": { - "markdownDescription": "Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match.", - "title": "BackgroundColor", "type": "string" }, "BackgroundOpacity": { - "markdownDescription": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Keeping this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", - "title": "BackgroundOpacity", "type": "number" }, "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation", - "markdownDescription": "The external font file that is used for captions burn-in. The file extension must be .ttf or .tte. Although you can select output fonts for many different types of input captions, embedded, STL, and Teletext sources use a strict grid system. Using external fonts with these captions sources could cause an unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match.", - "title": "Font" + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" }, "FontColor": { - "markdownDescription": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded, or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "FontColor", "type": "string" }, "FontOpacity": { - "markdownDescription": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.", - "title": "FontOpacity", "type": "number" }, "FontResolution": { - "markdownDescription": "The font resolution in DPI (dots per inch). The default is 96 dpi. All burn-in and DVB-Sub font settings must match.", - "title": "FontResolution", "type": "number" }, "FontSize": { - "markdownDescription": "When set to auto, fontSize scales depending on the size of the output. Providing a positive integer specifies the exact font size in points. All burn-in and DVB-Sub font settings must match.", - "title": "FontSize", "type": "string" }, "OutlineColor": { - "markdownDescription": "Specifies the font outline color. This option is not valid for source captions that are either 608/embedded or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "OutlineColor", "type": "string" }, "OutlineSize": { - "markdownDescription": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "OutlineSize", "type": "number" }, "ShadowColor": { - "markdownDescription": "Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match.", - "title": "ShadowColor", "type": "string" }, "ShadowOpacity": { - "markdownDescription": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Keeping this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", - "title": "ShadowOpacity", "type": "number" }, "ShadowXOffset": { - "markdownDescription": "Specifies the horizontal offset of the shadow that is relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match.", - "title": "ShadowXOffset", "type": "number" }, "ShadowYOffset": { - "markdownDescription": "Specifies the vertical offset of the shadow that is relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match.", - "title": "ShadowYOffset", "type": "number" }, "SubtitleRows": { - "markdownDescription": "", - "title": "SubtitleRows", "type": "string" }, "TeletextGridControl": { - "markdownDescription": "Controls whether a fixed grid size is used to generate the output subtitles bitmap. This applies only to Teletext inputs and DVB-Sub/Burn-in outputs.", - "title": "TeletextGridControl", "type": "string" }, "XPosition": { - "markdownDescription": "Specifies the horizontal position of the captions relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal captions position is determined by the alignment parameter. All burn-in and DVB-Sub font settings must match.", - "title": "XPosition", "type": "number" }, "YPosition": { - "markdownDescription": "Specifies the vertical position of the captions relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the captions are positioned towards the bottom of the output. All burn-in and DVB-Sub font settings must match.", - "title": "YPosition", "type": "number" } }, @@ -235063,17 +243984,17 @@ "additionalProperties": false, "properties": { "AribDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one ARIB captions encode in the output.", "title": "AribDestinationSettings" }, "BurnInDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDvbSubDestinationSettings", "markdownDescription": "The configuration of one burn-in captions encode in the output.", "title": "BurnInDestinationSettings" }, "DvbSubDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDvbSubDestinationSettings", "markdownDescription": "The configuration of one DVB Sub captions encode in the output.", "title": "DvbSubDestinationSettings" }, @@ -235088,32 +244009,32 @@ "title": "EmbeddedDestinationSettings" }, "EmbeddedPlusScte20DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one embedded plus SCTE-20 captions encode in the output.", "title": "EmbeddedPlusScte20DestinationSettings" }, "RtmpCaptionInfoDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one RTMPCaptionInfo captions encode in the output.", "title": "RtmpCaptionInfoDestinationSettings" }, "Scte20PlusEmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one SCTE20 plus embedded captions encode in the output.", "title": "Scte20PlusEmbeddedDestinationSettings" }, "Scte27DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one SCTE-27 captions encode in the output.", "title": "Scte27DestinationSettings" }, "SmpteTtDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one SMPTE-TT captions encode in the output.", "title": "SmpteTtDestinationSettings" }, "TeletextDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The configuration of one Teletext captions encode in the output.", "title": "TeletextDestinationSettings" }, @@ -235207,12 +244128,12 @@ "title": "AncillarySourceSettings" }, "AribSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Information about the ARIB captions to extract from the input.", "title": "AribSourceSettings" }, "DvbSubSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DvbSubSourceSettings", "markdownDescription": "Information about the DVB Sub captions to extract from the input.", "title": "DvbSubSourceSettings" }, @@ -235227,7 +244148,7 @@ "title": "Scte20SourceSettings" }, "Scte27SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DvbSubSourceSettings", "markdownDescription": "Information about the SCTE-27 captions to extract from the input.", "title": "Scte27SourceSettings" }, @@ -235280,6 +244201,15 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.CmafIngestFrameCaptureOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.CmafIngestGroupSettings": { "additionalProperties": false, "properties": { @@ -235373,17 +244303,51 @@ "markdownDescription": "", "title": "TimedMetadataPassthrough", "type": "string" + }, + "WatermarkingSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CmafIngestWatermarkingSettings" } }, "type": "object" }, - "AWS::MediaLive::Channel.CmafIngestOutputSettings": { + "AWS::MediaLive::Channel.CmafIngestMediaPackageV2AbWatermarkerIrdetoSettings": { "additionalProperties": false, "properties": { - "NameModifier": { - "markdownDescription": "", - "title": "NameModifier", + "AdditionalDestinationsAlternateDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "type": "array" + }, + "AlternateDestination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "CustomProfile": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AbWatermarkingCustomProfile" + }, + "License": { "type": "string" + }, + "OperatorId": { + "type": "number" + }, + "PolyPeriod": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "WatermarkIdLength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CmafIngestWatermarkingSettings": { + "additionalProperties": false, + "properties": { + "CmafIngestAbWatermarkerIrdetoSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CmafIngestMediaPackageV2AbWatermarkerIrdetoSettings" } }, "type": "object" @@ -235423,11 +244387,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.DisabledLockingSettings": { "additionalProperties": false, "properties": { @@ -235437,11 +244396,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.DolbyVision81Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.DvbNitSettings": { "additionalProperties": false, "properties": { @@ -235489,118 +244443,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.DvbSubDestinationSettings": { - "additionalProperties": false, - "properties": { - "Alignment": { - "markdownDescription": "If no explicit xPosition or yPosition is provided, setting the alignment to centered places the captions at the bottom center of the output. Similarly, setting a left alignment aligns captions to the bottom left of the output. If x and y positions are specified in conjunction with the alignment parameter, the font is justified (either left or centered) relative to those coordinates. Selecting \"smart\" justification left-justifies live subtitles and center-justifies pre-recorded subtitles. This option is not valid for source captions that are STL or 608/embedded. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "Alignment", - "type": "string" - }, - "BackgroundColor": { - "markdownDescription": "Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match.", - "title": "BackgroundColor", - "type": "string" - }, - "BackgroundOpacity": { - "markdownDescription": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Keeping this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", - "title": "BackgroundOpacity", - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation", - "markdownDescription": "The external font file that is used for captions burn-in. The file extension must be .ttf or .tte. Although you can select output fonts for many different types of input captions, embedded, STL, and Teletext sources use a strict grid system. Using external fonts with these captions sources could cause an unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match.", - "title": "Font" - }, - "FontColor": { - "markdownDescription": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded, or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "FontColor", - "type": "string" - }, - "FontOpacity": { - "markdownDescription": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.", - "title": "FontOpacity", - "type": "number" - }, - "FontResolution": { - "markdownDescription": "The font resolution in DPI (dots per inch). The default is 96 dpi. All burn-in and DVB-Sub font settings must match.", - "title": "FontResolution", - "type": "number" - }, - "FontSize": { - "markdownDescription": "When set to auto, fontSize scales depending on the size of the output. Providing a positive integer specifies the exact font size in points. All burn-in and DVB-Sub font settings must match.", - "title": "FontSize", - "type": "string" - }, - "OutlineColor": { - "markdownDescription": "Specifies the font outline color. This option is not valid for source captions that are either 608/embedded or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "OutlineColor", - "type": "string" - }, - "OutlineSize": { - "markdownDescription": "Specifies the font outline size in pixels. This option is not valid for source captions that are either 608/embedded or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "OutlineSize", - "type": "number" - }, - "ShadowColor": { - "markdownDescription": "Specifies the color of the shadow that is cast by the captions. All burn-in and DVB-Sub font settings must match.", - "title": "ShadowColor", - "type": "string" - }, - "ShadowOpacity": { - "markdownDescription": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Keeping this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", - "title": "ShadowOpacity", - "type": "number" - }, - "ShadowXOffset": { - "markdownDescription": "Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match.", - "title": "ShadowXOffset", - "type": "number" - }, - "ShadowYOffset": { - "markdownDescription": "Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match.", - "title": "ShadowYOffset", - "type": "number" - }, - "SubtitleRows": { - "markdownDescription": "", - "title": "SubtitleRows", - "type": "string" - }, - "TeletextGridControl": { - "markdownDescription": "Controls whether a fixed grid size is used to generate the output subtitles bitmap. This applies to only Teletext inputs and DVB-Sub/Burn-in outputs.", - "title": "TeletextGridControl", - "type": "string" - }, - "XPosition": { - "markdownDescription": "Specifies the horizontal position of the captions relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal captions position is determined by the alignment parameter. This option is not valid for source captions that are STL, 608/embedded, or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "XPosition", - "type": "number" - }, - "YPosition": { - "markdownDescription": "Specifies the vertical position of the captions relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the captions are positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded, or Teletext. These source settings are already pre-defined by the captions stream. All burn-in and DVB-Sub font settings must match.", - "title": "YPosition", - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSubSourceSettings": { - "additionalProperties": false, - "properties": { - "OcrLanguage": { - "markdownDescription": "If you will configure a WebVTT caption description that references this caption selector, use this field to\nprovide the language to consider when translating the image-based source to text.", - "title": "OcrLanguage", - "type": "string" - }, - "Pid": { - "markdownDescription": "When using DVB-Sub with burn-in or SMPTE-TT, use this PID for the source content. It is unused for DVB-Sub passthrough. All DVB-Sub content is passed through, regardless of selectors.", - "title": "Pid", - "type": "number" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.DvbTdtSettings": { "additionalProperties": false, "properties": { @@ -235795,14 +244637,25 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { + "AWS::MediaLive::Channel.EmbeddedCaptionPositionSettings": { "additionalProperties": false, - "properties": {}, + "properties": { + "YPositionLine": { + "type": "number" + } + }, "type": "object" }, - "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { + "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { "additionalProperties": false, - "properties": {}, + "properties": { + "Position": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedCaptionPositionSettings" + }, + "StyleControl": { + "type": "string" + } + }, "type": "object" }, "AWS::MediaLive::Channel.EmbeddedSourceSettings": { @@ -235831,6 +244684,11 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.EmptyConfigurationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::MediaLive::Channel.EncoderSettings": { "additionalProperties": false, "properties": { @@ -236077,7 +244935,7 @@ "additionalProperties": false, "properties": { "FrameCaptureS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureS3Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveFrameCaptureHlsS3Settings", "markdownDescription": "Sets up Amazon S3 as the destination for this Frame Capture output.", "title": "FrameCaptureS3Settings" } @@ -236100,33 +244958,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.FrameCaptureHlsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { - "additionalProperties": false, - "properties": { - "NameModifier": { - "markdownDescription": "Required if the output group contains more than one output. This modifier forms part of the output file name.", - "title": "NameModifier", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "markdownDescription": "Specify the canned ACL to apply to each S3 request. Defaults to none.", - "title": "CannedAcl", - "type": "string" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.FrameCaptureSettings": { "additionalProperties": false, "properties": { @@ -236193,35 +245024,31 @@ "additionalProperties": false, "properties": { "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Passthrough applies no color space conversion to the output.", "title": "ColorSpacePassthroughSettings" }, "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Settings to configure the handling of Rec601 color space.", "title": "Rec601Settings" }, "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Settings to configure the handling of Rec709 color space.", "title": "Rec709Settings" } }, "type": "object" }, - "AWS::MediaLive::Channel.H264FilterSettings": { + "AWS::MediaLive::Channel.H264H265FilterSettings": { "additionalProperties": false, "properties": { "BandwidthReductionFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BandwidthReductionFilterSettings", - "markdownDescription": "", - "title": "BandwidthReductionFilterSettings" + "$ref": "#/definitions/AWS::MediaLive::Channel.BandwidthReductionFilterSettings" }, "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings", - "markdownDescription": "Settings for applying the temporal filter to the video.", - "title": "TemporalFilterSettings" + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" } }, "type": "object" @@ -236270,7 +245097,7 @@ "type": "string" }, "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.H264H265FilterSettings", "markdownDescription": "Optional filters that you can apply to an encode.", "title": "FilterSettings" }, @@ -236456,12 +245283,12 @@ "additionalProperties": false, "properties": { "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Passthrough applies no color space conversion to the output.", "title": "ColorSpacePassthroughSettings" }, "DolbyVision81Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DolbyVision81Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "", "title": "DolbyVision81Settings" }, @@ -236471,39 +245298,23 @@ "title": "Hdr10Settings" }, "Hlg2020Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hlg2020Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "", "title": "Hlg2020Settings" }, "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Settings to configure the handling of Rec601 color space.", "title": "Rec601Settings" }, "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Settings to configure the handling of Rec709 color space.", "title": "Rec709Settings" } }, "type": "object" }, - "AWS::MediaLive::Channel.H265FilterSettings": { - "additionalProperties": false, - "properties": { - "BandwidthReductionFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BandwidthReductionFilterSettings", - "markdownDescription": "", - "title": "BandwidthReductionFilterSettings" - }, - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings", - "markdownDescription": "Settings for applying the temporal filter to the video.", - "title": "TemporalFilterSettings" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.H265Settings": { "additionalProperties": false, "properties": { @@ -236548,7 +245359,7 @@ "type": "string" }, "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.H264H265FilterSettings", "markdownDescription": "Optional filters that you can apply to an encode.", "title": "FilterSettings" }, @@ -236736,11 +245547,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.Hlg2020Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.HlsAkamaiSettings": { "additionalProperties": false, "properties": { @@ -236827,7 +245633,7 @@ "title": "HlsMediaStoreSettings" }, "HlsS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsS3Settings", + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveFrameCaptureHlsS3Settings", "markdownDescription": "Sets up Amazon S3 as the destination for this HLS output.", "title": "HlsS3Settings" }, @@ -237154,17 +245960,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.HlsS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "markdownDescription": "Specify the canned ACL to apply to each S3 request. Defaults to none.", - "title": "CannedAcl", - "type": "string" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.HlsSettings": { "additionalProperties": false, "properties": { @@ -237179,7 +245974,7 @@ "title": "Fmp4HlsSettings" }, "FrameCaptureHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureHlsSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Settings for a frame capture output in an HLS output group.", "title": "FrameCaptureHlsSettings" }, @@ -237222,11 +246017,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.InferenceSettings": { "additionalProperties": false, "properties": { @@ -237236,6 +246026,12 @@ }, "type": "array" }, + "EnrichmentMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, "FeedArn": { "type": "string" } @@ -237844,15 +246640,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.MediaConnectRouterContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.MediaConnectRouterGroupSettings": { "additionalProperties": false, "properties": { @@ -237896,7 +246683,7 @@ "$ref": "#/definitions/AWS::MediaLive::Channel.MediaConnectRouterOutputConnectionMap" }, "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaConnectRouterContainerSettings" + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpMediaConnectRouterContainerSettings" }, "Destination": { "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" @@ -237904,15 +246691,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.MediaPackageAdditionalDestinations": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.MediaPackageGroupSettings": { "additionalProperties": false, "properties": { @@ -237989,6 +246767,12 @@ "markdownDescription": "", "title": "HlsDefault", "type": "string" + }, + "OutputUsage": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -237998,7 +246782,7 @@ "properties": { "AdditionalDestinations": { "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageAdditionalDestinations" + "$ref": "#/definitions/AWS::MediaLive::Channel.AdditionalDestinations" }, "type": "array" }, @@ -238054,6 +246838,18 @@ "markdownDescription": "", "title": "TimedMetadataPassthrough", "type": "string" + }, + "WatermarkingSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageV2WatermarkingSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageV2WatermarkingSettings": { + "additionalProperties": false, + "properties": { + "MediaPackageV2AbWatermarkerIrdetoSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CmafIngestMediaPackageV2AbWatermarkerIrdetoSettings" } }, "type": "object" @@ -238078,7 +246874,7 @@ "additionalProperties": false, "properties": { "HtmlMotionGraphicsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "Settings to configure the motion graphics overlay to use an HTML asset.", "title": "HtmlMotionGraphicsSettings" } @@ -238347,11 +247143,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.MultiplexGroupSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.MultiplexM2tsSettings": { "additionalProperties": false, "properties": { @@ -238518,28 +247309,7 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.NielsenNaesIiNw": { - "additionalProperties": false, - "properties": { - "CheckDigitString": { - "markdownDescription": "Enter the check digit string for the watermark", - "title": "CheckDigitString", - "type": "string" - }, - "Sid": { - "markdownDescription": "Enter the Nielsen Source ID (SID) to include in the watermark", - "title": "Sid", - "type": "number" - }, - "Timezone": { - "markdownDescription": "", - "title": "Timezone", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.NielsenNwOnly": { + "AWS::MediaLive::Channel.NielsenNaesIiNwOnlySettings": { "additionalProperties": false, "properties": { "CheckDigitString": { @@ -238568,12 +247338,12 @@ "type": "string" }, "NielsenNaesIiNwSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenNaesIiNw", + "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenNaesIiNwOnlySettings", "markdownDescription": "Complete these fields only if you want to insert watermarks of type Nielsen NAES II (N2) and Nielsen NAES VI (NW).", "title": "NielsenNaesIiNwSettings" }, "NielsenNwOnlySettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenNwOnly" + "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenNaesIiNwOnlySettings" } }, "type": "object" @@ -238759,7 +247529,7 @@ "title": "MsSmoothGroupSettings" }, "MultiplexGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.EmptyConfigurationSettings", "markdownDescription": "The settings for a Multiplex output group.", "title": "MultiplexGroupSettings" }, @@ -238820,12 +247590,12 @@ "title": "ArchiveOutputSettings" }, "CmafIngestOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CmafIngestOutputSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.CmafIngestFrameCaptureOutputSettings", "markdownDescription": "", "title": "CmafIngestOutputSettings" }, "FrameCaptureOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.CmafIngestFrameCaptureOutputSettings", "markdownDescription": "The settings for a frame capture output.\n\nThe parent of this entity is OutputGroupSettings.", "title": "FrameCaptureOutputSettings" }, @@ -238870,11 +247640,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.PassThroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.PipelineLockingSettings": { "additionalProperties": false, "properties": { @@ -238896,21 +247661,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.RawSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec601Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec709Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.RemixSettings": { "additionalProperties": false, "properties": { @@ -238935,11 +247685,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.RtmpGroupSettings": { "additionalProperties": false, "properties": { @@ -239015,11 +247760,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.Scte20SourceSettings": { "additionalProperties": false, "properties": { @@ -239036,64 +247776,28 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.Scte27DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27SourceSettings": { + "AWS::MediaLive::Channel.Scte27DvbSubSourceSettings": { "additionalProperties": false, "properties": { "OcrLanguage": { - "markdownDescription": "If you will configure a WebVTT caption description that references this caption selector, use this field to\nprovide the language to consider when translating the image-based source to text.", - "title": "OcrLanguage", "type": "string" }, "Pid": { - "markdownDescription": "The PID field is used in conjunction with the captions selector languageCode field as follows: Specify PID and Language: Extracts captions from that PID; the language is \"informational.\" Specify PID and omit Language: Extracts the specified PID. Omit PID and specify Language: Extracts the specified language, whichever PID that happens to be. Omit PID and omit Language: Valid only if source is DVB-Sub that is being passed through; all languages are passed through.", - "title": "Pid", "type": "number" } }, "type": "object" }, - "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "AWS::MediaLive::Channel.Scte35SpliceInsertTimeSignalAposSettings": { "additionalProperties": false, "properties": { "AdAvailOffset": { - "markdownDescription": "When specified, this offset (in milliseconds) is added to the input ad avail PTS time. This applies only to embedded SCTE 104/35 messages. It doesn't apply to OOB messages.", - "title": "AdAvailOffset", "type": "number" }, "NoRegionalBlackoutFlag": { - "markdownDescription": "When set to ignore, segment descriptors with noRegionalBlackoutFlag set to 0 no longer trigger blackouts or ad avail slates.", - "title": "NoRegionalBlackoutFlag", "type": "string" }, "WebDeliveryAllowedFlag": { - "markdownDescription": "When set to ignore, segment descriptors with webDeliveryAllowedFlag set to 0 no longer trigger blackouts or ad avail slates.", - "title": "WebDeliveryAllowedFlag", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte35TimeSignalApos": { - "additionalProperties": false, - "properties": { - "AdAvailOffset": { - "markdownDescription": "When specified, this offset (in milliseconds) is added to the input ad avail PTS time. This applies only to embedded SCTE 104/35 messages. It doesn't apply to OOB messages.", - "title": "AdAvailOffset", - "type": "number" - }, - "NoRegionalBlackoutFlag": { - "markdownDescription": "When set to ignore, segment descriptors with noRegionalBlackoutFlag set to 0 no longer trigger blackouts or ad avail slates.", - "title": "NoRegionalBlackoutFlag", - "type": "string" - }, - "WebDeliveryAllowedFlag": { - "markdownDescription": "When set to ignore, segment descriptors with webDeliveryAllowedFlag set to 0 no longer trigger blackouts or ad avail slates.", - "title": "WebDeliveryAllowedFlag", "type": "string" } }, @@ -239111,11 +247815,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.SpecialRouterSettings": { "additionalProperties": false, "properties": { @@ -239172,7 +247871,7 @@ "type": "number" }, "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpMediaConnectRouterContainerSettings", "markdownDescription": "", "title": "ContainerSettings" }, @@ -239226,11 +247925,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.TeletextDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MediaLive::Channel.TeletextSourceSettings": { "additionalProperties": false, "properties": { @@ -239263,6 +247957,15 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.TextCaptionPositionSettings": { + "additionalProperties": false, + "properties": { + "YPositionPercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.ThumbnailConfiguration": { "additionalProperties": false, "properties": { @@ -239314,6 +248017,9 @@ "AWS::MediaLive::Channel.TtmlDestinationSettings": { "additionalProperties": false, "properties": { + "Position": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TextCaptionPositionSettings" + }, "StyleControl": { "markdownDescription": "When set to passthrough, passes through style and position information from a TTML-like input source (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or TTML output.", "title": "StyleControl", @@ -239322,17 +248028,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.UdpContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings", - "markdownDescription": "The M2TS configuration for this UDP output.", - "title": "M2tsSettings" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.UdpGroupSettings": { "additionalProperties": false, "properties": { @@ -239354,6 +248049,15 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.UdpMediaConnectRouterContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.UdpOutputSettings": { "additionalProperties": false, "properties": { @@ -239363,7 +248067,7 @@ "type": "number" }, "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings", + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpMediaConnectRouterContainerSettings", "markdownDescription": "The settings for the UDP output.", "title": "ContainerSettings" }, @@ -239430,11 +248134,17 @@ "AWS::MediaLive::Channel.VideoDescription": { "additionalProperties": false, "properties": { + "Border": { + "type": "number" + }, "CodecSettings": { "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings", "markdownDescription": "The video codec settings.", "title": "CodecSettings" }, + "CropRectangle": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoPositionRectangle" + }, "Height": { "markdownDescription": "The output video height, in pixels. This must be an even number. For most codecs, you can keep this field and width blank in order to use the height and width (resolution) from the source. Note that we don't recommend keeping the field blank. For the Frame Capture codec, height and width are required.", "title": "Height", @@ -239445,6 +248155,9 @@ "title": "Name", "type": "string" }, + "OutputPositionRectangle": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoPositionRectangle" + }, "RespondToAfd": { "markdownDescription": "Indicates how to respond to the AFD values in the input stream. RESPOND causes input video to be clipped, depending on the AFD value, input display aspect ratio, and output display aspect ratio, and (except for the FRAMECAPTURE codec) includes the values in the output. PASSTHROUGH (does not apply to FRAMECAPTURE codec) ignores the AFD values and includes the values in the output, so input video is not clipped. NONE ignores the AFD values and does not include the values through to the output, so input video is not clipped.", "title": "RespondToAfd", @@ -239468,6 +248181,24 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.VideoPositionRectangle": { + "additionalProperties": false, + "properties": { + "Height": { + "type": "number" + }, + "Width": { + "type": "number" + }, + "X": { + "type": "number" + }, + "Y": { + "type": "number" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.VideoSelector": { "additionalProperties": false, "properties": { @@ -239597,6 +248328,9 @@ "AWS::MediaLive::Channel.WebvttDestinationSettings": { "additionalProperties": false, "properties": { + "Position": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TextCaptionPositionSettings" + }, "StyleControl": { "markdownDescription": "Controls whether the color and position of the source captions is passed through to the WebVTT output captions. PASSTHROUGH - Valid only if the source captions are EMBEDDED or TELETEXT. NO_STYLE_DATA - Don't pass through the style. The output captions will not contain any font styling information.", "title": "StyleControl", @@ -243598,6 +252332,9 @@ "title": "InputType", "type": "string" }, + "MultiviewConfiguration": { + "$ref": "#/definitions/AWS::MediaPackageV2::Channel.MultiviewConfiguration" + }, "OutputHeaderConfiguration": { "$ref": "#/definitions/AWS::MediaPackageV2::Channel.OutputHeaderConfiguration", "markdownDescription": "The settings for what common media server data (CMSD) headers AWS Elemental MediaPackage includes in responses to the CDN.", @@ -243674,6 +252411,28 @@ }, "type": "object" }, + "AWS::MediaPackageV2::Channel.MultiviewConfiguration": { + "additionalProperties": false, + "properties": { + "AvailableLayouts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AvailableSources": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AvailableLayouts", + "AvailableSources" + ], + "type": "object" + }, "AWS::MediaPackageV2::Channel.OutputHeaderConfiguration": { "additionalProperties": false, "properties": { @@ -244152,6 +252911,9 @@ "title": "StartoverWindowSeconds", "type": "number" }, + "StreamNameOutputMode": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -247452,44 +256214,191 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the parameter group.", - "title": "Description", + "Description": { + "markdownDescription": "A description of the parameter group.", + "title": "Description", + "type": "string" + }, + "Family": { + "markdownDescription": "The name of the parameter group family that this parameter group is compatible with.", + "title": "Family", + "type": "string" + }, + "ParameterGroupName": { + "markdownDescription": "The name of the parameter group.", + "title": "ParameterGroupName", + "type": "string" + }, + "Parameters": { + "markdownDescription": "Returns the detailed parameter list for the parameter group.", + "title": "Parameters", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Family", + "ParameterGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MemoryDB::ParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MemoryDB::ReservedNode": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MemoryDB::ReservedNode" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MemoryDB::ReservedNode.RecurringCharge": { + "additionalProperties": false, + "properties": { + "RecurringChargeAmount": { + "type": "number" + }, + "RecurringChargeFrequency": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MemoryDB::Snapshot": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterName": { "type": "string" }, - "Family": { - "markdownDescription": "The name of the parameter group family that this parameter group is compatible with.", - "title": "Family", + "KmsKeyId": { "type": "string" }, - "ParameterGroupName": { - "markdownDescription": "The name of the parameter group.", - "title": "ParameterGroupName", + "SnapshotName": { "type": "string" }, - "Parameters": { - "markdownDescription": "Returns the detailed parameter list for the parameter group.", - "title": "Parameters", - "type": "object" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", "type": "array" } }, "required": [ - "Family", - "ParameterGroupName" + "ClusterName", + "SnapshotName" ], "type": "object" }, "Type": { "enum": [ - "AWS::MemoryDB::ParameterGroup" + "AWS::MemoryDB::Snapshot" ], "type": "string" }, @@ -247508,70 +256417,49 @@ ], "type": "object" }, - "AWS::MemoryDB::ReservedNode": { + "AWS::MemoryDB::Snapshot.ClusterConfiguration": { "additionalProperties": false, "properties": { - "Condition": { + "Description": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Engine": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EngineVersion": { + "type": "string" }, - "Metadata": { - "type": "object" + "MaintenanceWindow": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" + "Name": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::MemoryDB::ReservedNode" - ], + "NodeType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "NumShards": { + "type": "number" + }, + "ParameterGroupName": { "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MemoryDB::ReservedNode.RecurringCharge": { - "additionalProperties": false, - "properties": { - "RecurringChargeAmount": { + }, + "Port": { "type": "number" }, - "RecurringChargeFrequency": { + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SubnetGroupName": { + "type": "string" + }, + "TopicArn": { + "type": "string" + }, + "VpcId": { "type": "string" } }, @@ -248786,6 +257674,9 @@ "title": "GraphName", "type": "string" }, + "ImportTask": { + "$ref": "#/definitions/AWS::NeptuneGraph::Graph.ImportTask" + }, "KmsKeyIdentifier": { "type": "string" }, @@ -248844,6 +257735,74 @@ ], "type": "object" }, + "AWS::NeptuneGraph::Graph.ImportOptions": { + "additionalProperties": false, + "properties": { + "Neptune": { + "$ref": "#/definitions/AWS::NeptuneGraph::Graph.NeptuneImportOptions" + } + }, + "type": "object" + }, + "AWS::NeptuneGraph::Graph.ImportTask": { + "additionalProperties": false, + "properties": { + "BlankNodeHandling": { + "type": "string" + }, + "FailOnError": { + "type": "boolean" + }, + "Format": { + "type": "string" + }, + "ImportOptions": { + "$ref": "#/definitions/AWS::NeptuneGraph::Graph.ImportOptions" + }, + "MaxProvisionedMemory": { + "type": "number" + }, + "MinProvisionedMemory": { + "type": "number" + }, + "ParquetType": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Source": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "Source" + ], + "type": "object" + }, + "AWS::NeptuneGraph::Graph.NeptuneImportOptions": { + "additionalProperties": false, + "properties": { + "PreserveDefaultVertexLabels": { + "type": "boolean" + }, + "PreserveEdgeIds": { + "type": "boolean" + }, + "S3ExportKmsKeyId": { + "type": "string" + }, + "S3ExportPath": { + "type": "string" + } + }, + "required": [ + "S3ExportKmsKeyId", + "S3ExportPath" + ], + "type": "object" + }, "AWS::NeptuneGraph::Graph.VectorSearchConfiguration": { "additionalProperties": false, "properties": { @@ -249022,6 +257981,125 @@ ], "type": "object" }, + "AWS::NetworkFirewall::ContainerAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerAssociationName": { + "type": "string" + }, + "ContainerMonitoringConfigurations": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::ContainerAssociation.ContainerMonitoringConfiguration" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ContainerAssociationName", + "ContainerMonitoringConfigurations", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::ContainerAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::ContainerAssociation.ContainerAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::ContainerAssociation.ContainerMonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "AttributeFilters": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::ContainerAssociation.ContainerAttribute" + }, + "type": "array" + }, + "ClusterArn": { + "type": "string" + } + }, + "required": [ + "ClusterArn" + ], + "type": "object" + }, "AWS::NetworkFirewall::Firewall": { "additionalProperties": false, "properties": { @@ -250839,16 +259917,6 @@ "markdownDescription": "Options for connecting an attachment.", "title": "Options" }, - "ProposedNetworkFunctionGroupChange": { - "$ref": "#/definitions/AWS::NetworkManager::ConnectAttachment.ProposedNetworkFunctionGroupChange", - "markdownDescription": "Describes proposed changes to a network function group.", - "title": "ProposedNetworkFunctionGroupChange" - }, - "ProposedSegmentChange": { - "$ref": "#/definitions/AWS::NetworkManager::ConnectAttachment.ProposedSegmentChange", - "markdownDescription": "Describes a proposed segment change. In some cases, the segment change must first be evaluated and accepted.", - "title": "ProposedSegmentChange" - }, "RoutingPolicyLabel": { "markdownDescription": "", "title": "RoutingPolicyLabel", @@ -251684,16 +260752,6 @@ "title": "EdgeLocations", "type": "array" }, - "ProposedNetworkFunctionGroupChange": { - "$ref": "#/definitions/AWS::NetworkManager::DirectConnectGatewayAttachment.ProposedNetworkFunctionGroupChange", - "markdownDescription": "Describes proposed changes to a network function group.", - "title": "ProposedNetworkFunctionGroupChange" - }, - "ProposedSegmentChange": { - "$ref": "#/definitions/AWS::NetworkManager::DirectConnectGatewayAttachment.ProposedSegmentChange", - "markdownDescription": "Describes a proposed segment change. In some cases, the segment change must first be evaluated and accepted.", - "title": "ProposedSegmentChange" - }, "RoutingPolicyLabel": { "markdownDescription": "", "title": "RoutingPolicyLabel", @@ -252213,16 +261271,6 @@ "title": "NetworkFunctionGroupName", "type": "string" }, - "ProposedNetworkFunctionGroupChange": { - "$ref": "#/definitions/AWS::NetworkManager::SiteToSiteVpnAttachment.ProposedNetworkFunctionGroupChange", - "markdownDescription": "Describes proposed changes to a network function group.", - "title": "ProposedNetworkFunctionGroupChange" - }, - "ProposedSegmentChange": { - "$ref": "#/definitions/AWS::NetworkManager::SiteToSiteVpnAttachment.ProposedSegmentChange", - "markdownDescription": "Describes a proposed segment change. In some cases, the segment change must first be evaluated and accepted.", - "title": "ProposedSegmentChange" - }, "RoutingPolicyLabel": { "markdownDescription": "", "title": "RoutingPolicyLabel", @@ -252516,16 +261564,6 @@ "title": "PeeringId", "type": "string" }, - "ProposedNetworkFunctionGroupChange": { - "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRouteTableAttachment.ProposedNetworkFunctionGroupChange", - "markdownDescription": "Describes proposed changes to a network function group.", - "title": "ProposedNetworkFunctionGroupChange" - }, - "ProposedSegmentChange": { - "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRouteTableAttachment.ProposedSegmentChange", - "markdownDescription": "This property is read-only. Values can't be assigned to it.", - "title": "ProposedSegmentChange" - }, "RoutingPolicyLabel": { "markdownDescription": "", "title": "RoutingPolicyLabel", @@ -252665,16 +261703,6 @@ "markdownDescription": "Options for creating the VPC attachment.", "title": "Options" }, - "ProposedNetworkFunctionGroupChange": { - "$ref": "#/definitions/AWS::NetworkManager::VpcAttachment.ProposedNetworkFunctionGroupChange", - "markdownDescription": "Describes proposed changes to a network function group.", - "title": "ProposedNetworkFunctionGroupChange" - }, - "ProposedSegmentChange": { - "$ref": "#/definitions/AWS::NetworkManager::VpcAttachment.ProposedSegmentChange", - "markdownDescription": "Describes a proposed segment change. In some cases, the segment change must first be evaluated and accepted.", - "title": "ProposedSegmentChange" - }, "RoutingPolicyLabel": { "markdownDescription": "", "title": "RoutingPolicyLabel", @@ -253030,6 +262058,9 @@ "title": "ContactIdentifier", "type": "string" }, + "IsSensitiveEventsSubscribed": { + "type": "boolean" + }, "ManagedNotificationConfigurationArn": { "markdownDescription": "The ARN of the `ManagedNotificationConfiguration` to be associated with the `Channel` .", "title": "ManagedNotificationConfigurationArn", @@ -253103,6 +262134,9 @@ "title": "ChannelArn", "type": "string" }, + "IsSensitiveEventsSubscribed": { + "type": "boolean" + }, "ManagedNotificationConfigurationArn": { "markdownDescription": "The ARN of the `ManagedNotificationAdditionalChannelAssociation` associated with the `Channel` .", "title": "ManagedNotificationConfigurationArn", @@ -257738,6 +266772,215 @@ ], "type": "object" }, + "AWS::Omics::RunBatch": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultRunSetting": { + "$ref": "#/definitions/AWS::Omics::RunBatch.DefaultRunSetting" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Omics::RunBatch" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Omics::RunBatch.DefaultRunSetting": { + "additionalProperties": false, + "properties": { + "CacheBehavior": { + "type": "string" + }, + "CacheId": { + "type": "string" + }, + "ConfigurationName": { + "type": "string" + }, + "EngineSettings": { + "type": "object" + }, + "LogLevel": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkingMode": { + "type": "string" + }, + "OutputBucketOwnerId": { + "type": "string" + }, + "OutputUri": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Priority": { + "type": "number" + }, + "RetentionMode": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RunGroupId": { + "type": "string" + }, + "RunTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ScratchStorageMode": { + "type": "string" + }, + "StorageCapacity": { + "type": "number" + }, + "StorageType": { + "type": "string" + }, + "WorkflowId": { + "type": "string" + }, + "WorkflowOwnerId": { + "type": "string" + }, + "WorkflowType": { + "type": "string" + }, + "WorkflowVersionName": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "WorkflowId" + ], + "type": "object" + }, + "AWS::Omics::RunBatch.RunSummary": { + "additionalProperties": false, + "properties": { + "CancelledRunCount": { + "type": "number" + }, + "CompletedRunCount": { + "type": "number" + }, + "DeletedRunCount": { + "type": "number" + }, + "FailedRunCount": { + "type": "number" + }, + "PendingRunCount": { + "type": "number" + }, + "RunningRunCount": { + "type": "number" + }, + "StartingRunCount": { + "type": "number" + }, + "StoppingRunCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Omics::RunBatch.SubmissionSummary": { + "additionalProperties": false, + "properties": { + "FailedCancelSubmissionCount": { + "type": "number" + }, + "FailedDeleteSubmissionCount": { + "type": "number" + }, + "FailedStartSubmissionCount": { + "type": "number" + }, + "PendingStartSubmissionCount": { + "type": "number" + }, + "SuccessfulCancelSubmissionCount": { + "type": "number" + }, + "SuccessfulDeleteSubmissionCount": { + "type": "number" + }, + "SuccessfulStartSubmissionCount": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Omics::RunCache": { "additionalProperties": false, "properties": { @@ -262896,29 +272139,87 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Content": { - "markdownDescription": "The policy text of the organization resource policy. You can specify the resource policy content as a JSON object or a JSON string.\n\n> When you specify the resource policy content as a JSON string, you can't perform drift detection on the CloudFormation stack. For this reason, we recommend specifying the resource policy content as a JSON object instead.", - "title": "Content", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags that you want to attach to the newly created resource policy. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to `null` . For more information about tagging, see [Tagging AWS Organizations resources](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html) in the *AWS Organizations User Guide* .\n\n> If any one of the tags is not valid or if you exceed the allowed number of tags for the resource policy, then the entire request fails and the resource policy is not created.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Content" - ], + "properties": { + "Content": { + "markdownDescription": "The policy text of the organization resource policy. You can specify the resource policy content as a JSON object or a JSON string.\n\n> When you specify the resource policy content as a JSON string, you can't perform drift detection on the CloudFormation stack. For this reason, we recommend specifying the resource policy content as a JSON object instead.", + "title": "Content", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags that you want to attach to the newly created resource policy. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to `null` . For more information about tagging, see [Tagging AWS Organizations resources](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html) in the *AWS Organizations User Guide* .\n\n> If any one of the tags is not valid or if you exceed the allowed number of tags for the resource policy, then the entire request fails and the resource policy is not created.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Content" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Organizations::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Organizations::Root": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::Organizations::ResourcePolicy" + "AWS::Organizations::Root" ], "type": "string" }, @@ -262932,12 +272233,23 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Organizations::Root": { + "AWS::Organizations::Root.PolicyTypeSummary": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Outposts::Outpost": { "additionalProperties": false, "properties": { "Condition": { @@ -262971,12 +272283,41 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "SupportedHardwareType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "SiteId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Organizations::Root" + "AWS::Outposts::Outpost" ], "type": "string" }, @@ -262990,22 +272331,11 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Organizations::Root.PolicyTypeSummary": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Outposts::Site": { "additionalProperties": false, "properties": { @@ -265462,6 +274792,9 @@ "AWS::PCS::ComputeNodeGroup.SlurmConfiguration": { "additionalProperties": false, "properties": { + "GresCustomSettings": { + "type": "object" + }, "ScaleDownIdleTimeInSeconds": { "type": "number" }, @@ -266862,6 +276195,119 @@ }, "type": "object" }, + "AWS::Personalize::DatasetExportJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatasetArn": { + "type": "string" + }, + "IngestionMode": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "JobOutput": { + "$ref": "#/definitions/AWS::Personalize::DatasetExportJob.DatasetExportJobOutput" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatasetArn", + "JobName", + "JobOutput", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Personalize::DatasetExportJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Personalize::DatasetExportJob.DatasetExportJobOutput": { + "additionalProperties": false, + "properties": { + "S3DataDestination": { + "$ref": "#/definitions/AWS::Personalize::DatasetExportJob.S3DataConfig" + } + }, + "required": [ + "S3DataDestination" + ], + "type": "object" + }, + "AWS::Personalize::DatasetExportJob.S3DataConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, "AWS::Personalize::DatasetGroup": { "additionalProperties": false, "properties": { @@ -266897,24 +276343,110 @@ "Properties": { "additionalProperties": false, "properties": { - "Domain": { - "markdownDescription": "The domain of a Domain dataset group.", - "title": "Domain", + "Domain": { + "markdownDescription": "The domain of a Domain dataset group.", + "title": "Domain", + "type": "string" + }, + "KmsKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to encrypt the datasets.", + "title": "KmsKeyArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the dataset group.", + "title": "Name", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of the AWS Identity and Access Management (IAM) role that has permissions to access the AWS Key Management Service (KMS) key. Supplying an IAM role is only valid when also specifying a KMS key.", + "title": "RoleArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Personalize::DatasetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Personalize::DatasetImportJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSource": { + "$ref": "#/definitions/AWS::Personalize::DatasetImportJob.DataSource" + }, + "DatasetArn": { "type": "string" }, - "KmsKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to encrypt the datasets.", - "title": "KmsKeyArn", + "ImportMode": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the dataset group.", - "title": "Name", + "JobName": { "type": "string" }, + "PublishAttributionMetricsToS3": { + "type": "boolean" + }, "RoleArn": { - "markdownDescription": "The ARN of the AWS Identity and Access Management (IAM) role that has permissions to access the AWS Key Management Service (KMS) key. Supplying an IAM role is only valid when also specifying a KMS key.", - "title": "RoleArn", "type": "string" }, "Tags": { @@ -266925,13 +276457,15 @@ } }, "required": [ - "Name" + "DataSource", + "DatasetArn", + "JobName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Personalize::DatasetGroup" + "AWS::Personalize::DatasetImportJob" ], "type": "string" }, @@ -266950,6 +276484,15 @@ ], "type": "object" }, + "AWS::Personalize::DatasetImportJob.DataSource": { + "additionalProperties": false, + "properties": { + "DataLocation": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Personalize::EventTracker": { "additionalProperties": false, "properties": { @@ -272962,6 +282505,85 @@ ], "type": "object" }, + "AWS::PricingPlanManager::Subscription": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PlanFamily": { + "type": "string" + }, + "PlanTier": { + "type": "string" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UsageLevel": { + "type": "string" + } + }, + "required": [ + "PlanFamily", + "PlanTier", + "ResourceArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PricingPlanManager::Subscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Proton::EnvironmentAccountConnection": { "additionalProperties": false, "properties": { @@ -291037,6 +300659,81 @@ }, "type": "object" }, + "AWS::QuickSight::Customization": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultTheme": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DefaultTheme", + "Namespace" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Customization" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::QuickSight::DLPSetting": { "additionalProperties": false, "properties": { @@ -326147,6 +335844,103 @@ }, "type": "object" }, + "AWS::RDS::DBClusterAutomatedBackup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "IAMDatabaseAuthenticationEnabled": { + "type": "boolean" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "StorageEncrypted": { + "type": "boolean" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBClusterAutomatedBackup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RDS::DBClusterAutomatedBackup.RestoreWindow": { + "additionalProperties": false, + "properties": { + "EarliestTime": { + "type": "string" + }, + "LatestTime": { + "type": "string" + } + }, + "type": "object" + }, "AWS::RDS::DBClusterParameterGroup": { "additionalProperties": false, "properties": { @@ -326736,6 +336530,12 @@ "MaxAllocatedStorage": { "type": "number" }, + "StorageOperationPercentProgress": { + "type": "number" + }, + "StorageOperationStatus": { + "type": "string" + }, "StorageThroughput": { "type": "number" }, @@ -326863,6 +336663,100 @@ }, "type": "object" }, + "AWS::RDS::DBInstanceAutomatedBackup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedStorage": { + "type": "number" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "StorageType": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBInstanceAutomatedBackup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RDS::DBInstanceAutomatedBackup.RestoreWindow": { + "additionalProperties": false, + "properties": { + "EarliestTime": { + "type": "string" + }, + "LatestTime": { + "type": "string" + } + }, + "type": "object" + }, "AWS::RDS::DBParameterGroup": { "additionalProperties": false, "properties": { @@ -331477,6 +341371,85 @@ ], "type": "object" }, + "AWS::Redshift::QEV2IdcApplication": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IdcDisplayName": { + "type": "string" + }, + "IdcInstanceArn": { + "type": "string" + }, + "Qev2IdcApplicationName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IdcDisplayName", + "IdcInstanceArn", + "Qev2IdcApplicationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::QEV2IdcApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Redshift::ScheduledAction": { "additionalProperties": false, "properties": { @@ -331662,6 +341635,158 @@ }, "type": "object" }, + "AWS::Redshift::Snapshot": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterIdentifier": { + "type": "string" + }, + "ManualSnapshotRetentionPeriod": { + "type": "number" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterIdentifier", + "SnapshotIdentifier" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::Snapshot" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::SnapshotCopyGrant": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SnapshotCopyGrantName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SnapshotCopyGrantName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::SnapshotCopyGrant" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Redshift::SnapshotSchedule": { "additionalProperties": false, "properties": { @@ -331743,6 +341868,95 @@ ], "type": "object" }, + "AWS::Redshift::UsageLimit": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Amount": { + "type": "number" + }, + "BreachAction": { + "type": "string" + }, + "ClusterIdentifier": { + "type": "string" + }, + "FeatureType": { + "type": "string" + }, + "LimitType": { + "type": "string" + }, + "Period": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Amount", + "ClusterIdentifier", + "FeatureType", + "LimitType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::UsageLimit" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RedshiftServerless::Namespace": { "additionalProperties": false, "properties": { @@ -333809,6 +344023,229 @@ ], "type": "object" }, + "AWS::ResilienceHub::AppAssessment": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppArn": { + "type": "string" + }, + "AssessmentName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppArn", + "AssessmentName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResilienceHub::AppAssessment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResilienceHub::AppAssessment.Cost": { + "additionalProperties": false, + "properties": { + "Amount": { + "type": "number" + }, + "Currency": { + "type": "string" + }, + "Frequency": { + "type": "string" + } + }, + "required": [ + "Amount", + "Currency", + "Frequency" + ], + "type": "object" + }, + "AWS::ResilienceHub::AppAssessment.DisruptionCompliance": { + "additionalProperties": false, + "properties": { + "AchievableRpoInSecs": { + "type": "number" + }, + "AchievableRtoInSecs": { + "type": "number" + }, + "ComplianceStatus": { + "type": "string" + }, + "CurrentRpoInSecs": { + "type": "number" + }, + "CurrentRtoInSecs": { + "type": "number" + }, + "Message": { + "type": "string" + }, + "RpoDescription": { + "type": "string" + }, + "RpoReferenceId": { + "type": "string" + }, + "RtoDescription": { + "type": "string" + }, + "RtoReferenceId": { + "type": "string" + } + }, + "required": [ + "ComplianceStatus" + ], + "type": "object" + }, + "AWS::ResilienceHub::AppAssessment.FailurePolicy": { + "additionalProperties": false, + "properties": { + "RpoInSecs": { + "type": "number" + }, + "RtoInSecs": { + "type": "number" + } + }, + "required": [ + "RpoInSecs", + "RtoInSecs" + ], + "type": "object" + }, + "AWS::ResilienceHub::AppAssessment.ResiliencyPolicy": { + "additionalProperties": false, + "properties": { + "DataLocationConstraint": { + "type": "string" + }, + "Policy": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ResilienceHub::AppAssessment.FailurePolicy" + } + }, + "type": "object" + }, + "PolicyArn": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ResilienceHub::AppAssessment.ResiliencyScore": { + "additionalProperties": false, + "properties": { + "ComponentScore": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ResilienceHub::AppAssessment.ScoringComponentResiliencyScore" + } + }, + "type": "object" + }, + "DisruptionScore": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "number" + } + }, + "type": "object" + }, + "Score": { + "type": "number" + } + }, + "required": [ + "DisruptionScore", + "Score" + ], + "type": "object" + }, + "AWS::ResilienceHub::AppAssessment.ScoringComponentResiliencyScore": { + "additionalProperties": false, + "properties": { + "ExcludedCount": { + "type": "number" + }, + "OutstandingCount": { + "type": "number" + }, + "PossibleScore": { + "type": "number" + }, + "Score": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ResilienceHub::RecommendationTemplate": { "additionalProperties": false, "properties": { @@ -337288,34 +347725,310 @@ "additionalProperties": false, "properties": { "Comment": { - "markdownDescription": "*Optional:* Any comments you want to include about a change batch request.", - "title": "Comment", + "markdownDescription": "*Optional:* Any comments you want to include about a change batch request.", + "title": "Comment", + "type": "string" + }, + "HostedZoneId": { + "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneId", + "type": "string" + }, + "HostedZoneName": { + "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneName", + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "markdownDescription": "A complex type that contains one `RecordSet` element for each record that you want to create.", + "title": "RecordSets", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "markdownDescription": "*Alias records only:* The value that you specify depends on where you want to route queries:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalDomainName` .\n- For edge-optimized APIs, specify the value of `distributionDomainName` . This is the name of the associated CloudFront distribution, such as `da1b2c3d4e5.cloudfront.net` .\n\n> The name of the record that you're creating must match a custom domain name for your API, such as `api.example.com` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such as `vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com` . For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of `DnsName` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.\n\nYour CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .\n\nYou can't create a record in a private hosted zone to route traffic to a CloudFront distribution.\n\n> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.\n- **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name `my-environment. *us-west-2* .elasticbeanstalk.com` is a regionalized domain name.\n\n> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment. \n\nFor Elastic Beanstalk environments that have regionalized subdomains, specify the `CNAME` attribute for the environment. You can use the following methods to get the value of the CNAME attribute:\n\n- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* .\n- *Elastic Beanstalk API* : Use the `DescribeEnvironments` action to get the value of the `CNAME` attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* .\n- *AWS CLI* : Use the `describe-environments` command to get the value of the `CNAME` attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* .\n- **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .\n\n- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.\n\nIf you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)\n- Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of `DNSName` :\n\n- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)\n- Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)\n- **Global Accelerator accelerator** - Specify the DNS name for your accelerator:\n\n- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) .\n- *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) .\n- **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, `s3-website.us-east-2.amazonaws.com` . For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.*\n- **Another Route 53 record** - Specify the value of the `Name` element for a record in the current hosted zone.\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", + "title": "DNSName", + "type": "string" + }, + "EvaluateTargetHealth": { + "markdownDescription": "*Applies only to alias records with any routing policy:* When `EvaluateTargetHealth` is `true` , an alias record inherits the health of the referenced AWS resource, such as an ELB load balancer or another record in the hosted zone.\n\nNote the following:\n\n- **CloudFront distributions** - You can't set `EvaluateTargetHealth` to `true` when the alias target is a CloudFront distribution.\n- **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment in `DNSName` and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set `EvaluateTargetHealth` to `true` and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.\n\nIf the environment contains a single Amazon EC2 instance, there are no special requirements.\n- **ELB load balancers** - Health checking behavior depends on the type of load balancer:\n\n- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in `DNSName` , Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set `EvaluateTargetHealth` to `true` and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.\n- *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you set `EvaluateTargetHealth` to `true` , Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:\n\n- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.\n- A target group that has no registered targets is considered unhealthy.\n\n> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.\n- **S3 buckets** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an S3 bucket.\n- **Other records in the same hosted zone** - If the AWS resource that you specify in `DNSName` is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .\n\nFor more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .", + "title": "EvaluateTargetHealth", + "type": "boolean" + }, + "HostedZoneId": { + "markdownDescription": "*Alias resource records sets only* : The value used depends on where you want to route traffic:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalHostedZoneId` .\n- For edge-optimized APIs, specify the value of `distributionHostedZoneId` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value of `HostedZoneId` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify `Z2FDTNDATAQYW2` . This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.\n\n> Alias records for CloudFront can't be created in a private zone.\n- **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* .\n- **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:\n\n- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the \"Elastic Load Balancing endpoints and quotas\" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.\n- *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneID` .\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:\n\n- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value of `CanonicalHostedZoneID` .\n- **Global Accelerator accelerator** - Specify `Z2BJ6XQ5FK7U4H` .\n- **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* .\n- **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)", + "title": "HostedZoneId", + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.CidrRoutingConfig": { + "additionalProperties": false, + "properties": { + "CollectionId": { + "markdownDescription": "The CIDR collection ID.", + "title": "CollectionId", + "type": "string" + }, + "LocationName": { + "markdownDescription": "The CIDR collection location name.", + "title": "LocationName", + "type": "string" + } + }, + "required": [ + "CollectionId", + "LocationName" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.Coordinates": { + "additionalProperties": false, + "properties": { + "Latitude": { + "markdownDescription": "Specifies a coordinate of the north\u2013south position of a geographic point on the surface of the Earth (-90 - 90).", + "title": "Latitude", + "type": "string" + }, + "Longitude": { + "markdownDescription": "Specifies a coordinate of the east\u2013west position of a geographic point on the surface of the Earth (-180 - 180).", + "title": "Longitude", + "type": "string" + } + }, + "required": [ + "Latitude", + "Longitude" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "markdownDescription": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:\n\n- *AF* : Africa\n- *AN* : Antarctica\n- *AS* : Asia\n- *EU* : Europe\n- *OC* : Oceania\n- *NA* : North America\n- *SA* : South America\n\nConstraint: Specifying `ContinentCode` with either `CountryCode` or `SubdivisionCode` returns an `InvalidInput` error.", + "title": "ContinentCode", + "type": "string" + }, + "CountryCode": { + "markdownDescription": "For geolocation resource record sets, the two-letter code for a country.\n\nRoute 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .", + "title": "CountryCode", + "type": "string" + }, + "SubdivisionCode": { + "markdownDescription": "For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for `SubdivisionCode` . For a list of state abbreviations, see [Appendix B: Two\u2013Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.\n\nIf you specify `subdivisioncode` , you must also specify `US` for `CountryCode` .", + "title": "SubdivisionCode", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoProximityLocation": { + "additionalProperties": false, + "properties": { + "AWSRegion": { + "markdownDescription": "The AWS Region the resource you are directing DNS traffic to, is in.", + "title": "AWSRegion", + "type": "string" + }, + "Bias": { + "markdownDescription": "The bias increases or decreases the size of the geographic region from which Route\u00a053 routes traffic to a resource.\n\nTo use `Bias` to change the size of the geographic region, specify the applicable value for the bias:\n\n- To expand the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route\u00a053 shrinks the size of adjacent regions.\n- To shrink the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a negative bias of -1 to -99. Route\u00a053 expands the size of adjacent regions.", + "title": "Bias", + "type": "number" + }, + "Coordinates": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.Coordinates", + "markdownDescription": "Contains the longitude and latitude for a geographic region.", + "title": "Coordinates" + }, + "LocalZoneGroup": { + "markdownDescription": "Specifies an AWS Local Zone Group.\n\nA local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is `us-east-1-bue-1a` the Local Zone Group is `us-east-1-bue-1` .\n\nYou can identify the Local Zones Group for a specific Local Zone by using the [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html) CLI command:\n\nThis command returns: `\"GroupName\": \"us-west-2-den-1\"` , specifying that the Local Zone `us-west-2-den-1a` belongs to the Local Zone Group `us-west-2-den-1` .", + "title": "LocalZoneGroup", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget", + "markdownDescription": "*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.\n\nIf you're creating resource records sets for a private hosted zone, note the following:\n\n- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.\n- For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .", + "title": "AliasTarget" + }, + "CidrRoutingConfig": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.CidrRoutingConfig", + "markdownDescription": "", + "title": "CidrRoutingConfig" + }, + "Failover": { + "markdownDescription": "*Failover resource record sets only:* To configure failover, you add the `Failover` element to two resource record sets. For one resource record set, you specify `PRIMARY` as the value for `Failover` ; for the other resource record set, you specify `SECONDARY` . In addition, you include the `HealthCheckId` element and specify the health check that you want Amazon Route 53 to perform for each resource record set.\n\nExcept where noted, the following failover behaviors assume that you have included the `HealthCheckId` element in both resource record sets:\n\n- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.\n- When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set.\n- When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.\n- If you omit the `HealthCheckId` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.\n\nYou can't create non-failover resource record sets that have the same values for the `Name` and `Type` elements as failover resource record sets.\n\nFor failover alias resource record sets, you must also include the `EvaluateTargetHealth` element and set the value to true.\n\nFor more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)", + "title": "Failover", + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation", + "markdownDescription": "*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of `192.0.2.111` , create a resource record set with a `Type` of `A` and a `ContinentCode` of `AF` .\n\nIf you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.\n\nYou can't create two geolocation resource record sets that specify the same geographic location.\n\nThe value `*` in the `CountryCode` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the `Name` and `Type` elements.\n\n> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of `CountryCode` is `*` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a `*` resource record set, Route 53 returns a \"no answer\" response for queries from those locations. \n\nYou can't create non-geolocation resource record sets that have the same values for the `Name` and `Type` elements as geolocation resource record sets.", + "title": "GeoLocation" + }, + "GeoProximityLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoProximityLocation", + "markdownDescription": "A complex type that contains information about a geographic location.", + "title": "GeoProximityLocation" + }, + "HealthCheckId": { + "markdownDescription": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the `HealthCheckId` element and specify the ID of the applicable health check.\n\nRoute 53 determines whether a resource record set is healthy based on one of the following:\n\n- By periodically sending a request to the endpoint that is specified in the health check\n- By aggregating the status of a specified group of health checks (calculated health checks)\n- By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)\n\n> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the `Value` element. When you add a `HealthCheckId` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. \n\nFor more information, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\n*When to Specify HealthCheckId*\n\nSpecifying a value for `HealthCheckId` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:\n\n- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.\n\nIf the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.\n\nIf the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.\n\nIf the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.\n- *Alias resource record sets* : You specify the following settings:\n\n- You set `EvaluateTargetHealth` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).\n- You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.\n- You specify a health check ID for the non-alias resource record set.\n\nIf the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.\n\nIf the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.\n\n> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.\n\n*Geolocation Routing*\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has `*` for `CountryCode` is `*` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:\n\n- The United States\n- North America\n- The default resource record set\n\n*Specifying the Health Check Endpoint by Domain Name*\n\nIf your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each `HTTP` server that is serving content for `www.example.com` . For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as `us-east-2-www.example.com` ), not the name of the resource record sets ( `www.example.com` ).\n\n> Health check results will be unpredictable if you do the following:\n> \n> - Create a health check that has the same value for `FullyQualifiedDomainName` as the name of a resource record set.\n> - Associate that health check with the resource record set.", + "title": "HealthCheckId", + "type": "string" + }, + "HostedZoneId": { + "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .\n\nDo not provide the `HostedZoneId` if it is already defined in `AWS::Route53::RecordSetGroup` . The creation fails if `HostedZoneId` is defined in both.", + "title": "HostedZoneId", + "type": "string" + }, + "HostedZoneName": { + "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneName", + "type": "string" + }, + "MultiValueAnswer": { + "markdownDescription": "*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify `true` for `MultiValueAnswer` . Note the following:\n\n- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.\n- If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.\n- Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records.\n- If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records.\n- When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.\n- If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.\n\nYou can't create multivalue answer alias records.", + "title": "MultiValueAnswer", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the record that you want to create, update, or delete.\n\nEnter a fully qualified domain name, for example, `www.example.com` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats `www.example.com` (without a trailing dot) and `www.example.com.` (with a trailing dot) as identical.\n\nFor information about how to specify characters other than `a-z` , `0-9` , and `-` (hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, `*.example.com` . Note the following:\n\n- The * must replace the entire label. For example, you can't specify `*prod.example.com` or `prod*.example.com` .\n- The * can't replace any of the middle labels, for example, marketing.*.example.com.\n- If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n\n> You can't use the * wildcard for resource records sets that have a type of NS.", + "title": "Name", + "type": "string" + }, + "Region": { + "markdownDescription": "*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.\n\nNote the following:\n\n- You can only specify one `ResourceRecord` per latency resource record set.\n- You can only create one latency resource record set for each Amazon EC2 Region.\n- You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.\n- You can't create non-latency resource record sets that have the same values for the `Name` and `Type` elements as latency resource record sets.", + "title": "Region", + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "markdownDescription": "Information about the records that you want to create. Each record should be in the format appropriate for the record type specified by the `Type` property. For information about different record types and their record formats, see [Values That You Specify When You Create or Edit Amazon Route 53 Records](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values.html) in the *Amazon Route 53 Developer Guide* .", + "title": "ResourceRecords", + "type": "array" + }, + "SetIdentifier": { + "markdownDescription": "*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of `SetIdentifier` must be unique for each resource record set.\n\nFor information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .", + "title": "SetIdentifier", + "type": "string" + }, + "TTL": { + "markdownDescription": "The resource record cache time to live (TTL), in seconds. Note the following:\n\n- If you're creating or updating an alias resource record set, omit `TTL` . Amazon Route 53 uses the value of `TTL` for the alias target.\n- If you're associating this resource record set with a health check (if you're adding a `HealthCheckId` element), we recommend that you specify a `TTL` of 60 seconds or less so clients respond quickly to changes in health status.\n- All of the resource record sets in a group of weighted resource record sets must have the same value for `TTL` .\n- If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a `TTL` of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for `Weight` .", + "title": "TTL", + "type": "string" + }, + "Type": { + "markdownDescription": "The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nValid values for basic resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `DS` | `MX` | `NAPTR` | `NS` | `PTR` | `SOA` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\nValues for weighted, latency, geolocation, and failover resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.\n\nValid values for multivalue answer resource record sets: `A` | `AAAA` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `CAA` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\n> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of `Type` is `SPF` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) . \n\nValues for alias resource record sets:\n\n- *Amazon API Gateway custom regional APIs and edge-optimized APIs:* `A`\n- *CloudFront distributions:* `A`\n\nIf IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of `A` and one with a value of `AAAA` .\n- *Amazon API Gateway environment that has a regionalized subdomain* : `A`\n- *ELB load balancers:* `A` | `AAAA`\n- *Amazon S3 buckets:* `A`\n- *Amazon Virtual Private Cloud interface VPC endpoints* `A`\n- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except `NS` and `SOA` .\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", + "title": "Type", + "type": "string" + }, + "Weight": { + "markdownDescription": "*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:\n\n- You must specify a value for the `Weight` element for every weighted resource record set.\n- You can only specify one `ResourceRecord` per weighted resource record set.\n- You can't create latency, failover, or geolocation resource record sets that have the same values for the `Name` and `Type` elements as weighted resource record sets.\n- You can create a maximum of 100 weighted resource record sets that have the same values for the `Name` and `Type` elements.\n- For weighted (but not weighted alias) resource record sets, if you set `Weight` to `0` for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set `Weight` to `0` for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.\n\nThe effect of setting `Weight` to `0` is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .", + "title": "Weight", + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53::TrafficPolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Comment": { "type": "string" }, - "HostedZoneId": { - "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneId", + "Document": { "type": "string" }, - "HostedZoneName": { - "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneName", + "Name": { "type": "string" - }, - "RecordSets": { - "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" - }, - "markdownDescription": "A complex type that contains one `RecordSet` element for each record that you want to create.", - "title": "RecordSets", - "type": "array" } }, + "required": [ + "Document", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSetGroup" + "AWS::Route53::TrafficPolicy" ], "type": "string" }, @@ -337329,212 +348042,89 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "markdownDescription": "*Alias records only:* The value that you specify depends on where you want to route queries:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalDomainName` .\n- For edge-optimized APIs, specify the value of `distributionDomainName` . This is the name of the associated CloudFront distribution, such as `da1b2c3d4e5.cloudfront.net` .\n\n> The name of the record that you're creating must match a custom domain name for your API, such as `api.example.com` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such as `vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com` . For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of `DnsName` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.\n\nYour CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .\n\nYou can't create a record in a private hosted zone to route traffic to a CloudFront distribution.\n\n> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.\n- **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name `my-environment. *us-west-2* .elasticbeanstalk.com` is a regionalized domain name.\n\n> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment. \n\nFor Elastic Beanstalk environments that have regionalized subdomains, specify the `CNAME` attribute for the environment. You can use the following methods to get the value of the CNAME attribute:\n\n- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* .\n- *Elastic Beanstalk API* : Use the `DescribeEnvironments` action to get the value of the `CNAME` attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* .\n- *AWS CLI* : Use the `describe-environments` command to get the value of the `CNAME` attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* .\n- **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .\n\n- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.\n\nIf you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)\n- Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of `DNSName` :\n\n- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)\n- Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)\n- **Global Accelerator accelerator** - Specify the DNS name for your accelerator:\n\n- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) .\n- *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) .\n- **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, `s3-website.us-east-2.amazonaws.com` . For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.*\n- **Another Route 53 record** - Specify the value of the `Name` element for a record in the current hosted zone.\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", - "title": "DNSName", - "type": "string" - }, - "EvaluateTargetHealth": { - "markdownDescription": "*Applies only to alias records with any routing policy:* When `EvaluateTargetHealth` is `true` , an alias record inherits the health of the referenced AWS resource, such as an ELB load balancer or another record in the hosted zone.\n\nNote the following:\n\n- **CloudFront distributions** - You can't set `EvaluateTargetHealth` to `true` when the alias target is a CloudFront distribution.\n- **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment in `DNSName` and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set `EvaluateTargetHealth` to `true` and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.\n\nIf the environment contains a single Amazon EC2 instance, there are no special requirements.\n- **ELB load balancers** - Health checking behavior depends on the type of load balancer:\n\n- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in `DNSName` , Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set `EvaluateTargetHealth` to `true` and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.\n- *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you set `EvaluateTargetHealth` to `true` , Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:\n\n- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.\n- A target group that has no registered targets is considered unhealthy.\n\n> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.\n- **S3 buckets** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an S3 bucket.\n- **Other records in the same hosted zone** - If the AWS resource that you specify in `DNSName` is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .\n\nFor more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .", - "title": "EvaluateTargetHealth", - "type": "boolean" - }, - "HostedZoneId": { - "markdownDescription": "*Alias resource records sets only* : The value used depends on where you want to route traffic:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalHostedZoneId` .\n- For edge-optimized APIs, specify the value of `distributionHostedZoneId` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value of `HostedZoneId` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify `Z2FDTNDATAQYW2` . This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.\n\n> Alias records for CloudFront can't be created in a private zone.\n- **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* .\n- **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:\n\n- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the \"Elastic Load Balancing endpoints and quotas\" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.\n- *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneID` .\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:\n\n- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value of `CanonicalHostedZoneID` .\n- **Global Accelerator accelerator** - Specify `Z2BJ6XQ5FK7U4H` .\n- **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* .\n- **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)", - "title": "HostedZoneId", - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.CidrRoutingConfig": { - "additionalProperties": false, - "properties": { - "CollectionId": { - "markdownDescription": "The CIDR collection ID.", - "title": "CollectionId", - "type": "string" - }, - "LocationName": { - "markdownDescription": "The CIDR collection location name.", - "title": "LocationName", - "type": "string" - } - }, - "required": [ - "CollectionId", - "LocationName" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.Coordinates": { - "additionalProperties": false, - "properties": { - "Latitude": { - "markdownDescription": "Specifies a coordinate of the north\u2013south position of a geographic point on the surface of the Earth (-90 - 90).", - "title": "Latitude", - "type": "string" - }, - "Longitude": { - "markdownDescription": "Specifies a coordinate of the east\u2013west position of a geographic point on the surface of the Earth (-180 - 180).", - "title": "Longitude", - "type": "string" - } - }, - "required": [ - "Latitude", - "Longitude" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53::RecordSetGroup.GeoLocation": { + "AWS::Route53::TrafficPolicyInstance": { "additionalProperties": false, "properties": { - "ContinentCode": { - "markdownDescription": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:\n\n- *AF* : Africa\n- *AN* : Antarctica\n- *AS* : Asia\n- *EU* : Europe\n- *OC* : Oceania\n- *NA* : North America\n- *SA* : South America\n\nConstraint: Specifying `ContinentCode` with either `CountryCode` or `SubdivisionCode` returns an `InvalidInput` error.", - "title": "ContinentCode", - "type": "string" - }, - "CountryCode": { - "markdownDescription": "For geolocation resource record sets, the two-letter code for a country.\n\nRoute 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .", - "title": "CountryCode", - "type": "string" - }, - "SubdivisionCode": { - "markdownDescription": "For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for `SubdivisionCode` . For a list of state abbreviations, see [Appendix B: Two\u2013Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.\n\nIf you specify `subdivisioncode` , you must also specify `US` for `CountryCode` .", - "title": "SubdivisionCode", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup.GeoProximityLocation": { - "additionalProperties": false, - "properties": { - "AWSRegion": { - "markdownDescription": "The AWS Region the resource you are directing DNS traffic to, is in.", - "title": "AWSRegion", - "type": "string" - }, - "Bias": { - "markdownDescription": "The bias increases or decreases the size of the geographic region from which Route\u00a053 routes traffic to a resource.\n\nTo use `Bias` to change the size of the geographic region, specify the applicable value for the bias:\n\n- To expand the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route\u00a053 shrinks the size of adjacent regions.\n- To shrink the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a negative bias of -1 to -99. Route\u00a053 expands the size of adjacent regions.", - "title": "Bias", - "type": "number" - }, - "Coordinates": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.Coordinates", - "markdownDescription": "Contains the longitude and latitude for a geographic region.", - "title": "Coordinates" - }, - "LocalZoneGroup": { - "markdownDescription": "Specifies an AWS Local Zone Group.\n\nA local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is `us-east-1-bue-1a` the Local Zone Group is `us-east-1-bue-1` .\n\nYou can identify the Local Zones Group for a specific Local Zone by using the [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html) CLI command:\n\nThis command returns: `\"GroupName\": \"us-west-2-den-1\"` , specifying that the Local Zone `us-west-2-den-1a` belongs to the Local Zone Group `us-west-2-den-1` .", - "title": "LocalZoneGroup", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup.RecordSet": { - "additionalProperties": false, - "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget", - "markdownDescription": "*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.\n\nIf you're creating resource records sets for a private hosted zone, note the following:\n\n- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.\n- For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .", - "title": "AliasTarget" - }, - "CidrRoutingConfig": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.CidrRoutingConfig", - "markdownDescription": "", - "title": "CidrRoutingConfig" - }, - "Failover": { - "markdownDescription": "*Failover resource record sets only:* To configure failover, you add the `Failover` element to two resource record sets. For one resource record set, you specify `PRIMARY` as the value for `Failover` ; for the other resource record set, you specify `SECONDARY` . In addition, you include the `HealthCheckId` element and specify the health check that you want Amazon Route 53 to perform for each resource record set.\n\nExcept where noted, the following failover behaviors assume that you have included the `HealthCheckId` element in both resource record sets:\n\n- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.\n- When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set.\n- When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.\n- If you omit the `HealthCheckId` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.\n\nYou can't create non-failover resource record sets that have the same values for the `Name` and `Type` elements as failover resource record sets.\n\nFor failover alias resource record sets, you must also include the `EvaluateTargetHealth` element and set the value to true.\n\nFor more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)", - "title": "Failover", - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation", - "markdownDescription": "*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of `192.0.2.111` , create a resource record set with a `Type` of `A` and a `ContinentCode` of `AF` .\n\nIf you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.\n\nYou can't create two geolocation resource record sets that specify the same geographic location.\n\nThe value `*` in the `CountryCode` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the `Name` and `Type` elements.\n\n> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of `CountryCode` is `*` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a `*` resource record set, Route 53 returns a \"no answer\" response for queries from those locations. \n\nYou can't create non-geolocation resource record sets that have the same values for the `Name` and `Type` elements as geolocation resource record sets.", - "title": "GeoLocation" - }, - "GeoProximityLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoProximityLocation", - "markdownDescription": "A complex type that contains information about a geographic location.", - "title": "GeoProximityLocation" - }, - "HealthCheckId": { - "markdownDescription": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the `HealthCheckId` element and specify the ID of the applicable health check.\n\nRoute 53 determines whether a resource record set is healthy based on one of the following:\n\n- By periodically sending a request to the endpoint that is specified in the health check\n- By aggregating the status of a specified group of health checks (calculated health checks)\n- By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)\n\n> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the `Value` element. When you add a `HealthCheckId` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. \n\nFor more information, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\n*When to Specify HealthCheckId*\n\nSpecifying a value for `HealthCheckId` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:\n\n- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.\n\nIf the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.\n\nIf the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.\n\nIf the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.\n- *Alias resource record sets* : You specify the following settings:\n\n- You set `EvaluateTargetHealth` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).\n- You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.\n- You specify a health check ID for the non-alias resource record set.\n\nIf the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.\n\nIf the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.\n\n> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.\n\n*Geolocation Routing*\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has `*` for `CountryCode` is `*` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:\n\n- The United States\n- North America\n- The default resource record set\n\n*Specifying the Health Check Endpoint by Domain Name*\n\nIf your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each `HTTP` server that is serving content for `www.example.com` . For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as `us-east-2-www.example.com` ), not the name of the resource record sets ( `www.example.com` ).\n\n> Health check results will be unpredictable if you do the following:\n> \n> - Create a health check that has the same value for `FullyQualifiedDomainName` as the name of a resource record set.\n> - Associate that health check with the resource record set.", - "title": "HealthCheckId", - "type": "string" - }, - "HostedZoneId": { - "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .\n\nDo not provide the `HostedZoneId` if it is already defined in `AWS::Route53::RecordSetGroup` . The creation fails if `HostedZoneId` is defined in both.", - "title": "HostedZoneId", + "Condition": { "type": "string" }, - "HostedZoneName": { - "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneName", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MultiValueAnswer": { - "markdownDescription": "*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify `true` for `MultiValueAnswer` . Note the following:\n\n- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.\n- If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.\n- Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records.\n- If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records.\n- When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.\n- If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.\n\nYou can't create multivalue answer alias records.", - "title": "MultiValueAnswer", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the record that you want to create, update, or delete.\n\nEnter a fully qualified domain name, for example, `www.example.com` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats `www.example.com` (without a trailing dot) and `www.example.com.` (with a trailing dot) as identical.\n\nFor information about how to specify characters other than `a-z` , `0-9` , and `-` (hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, `*.example.com` . Note the following:\n\n- The * must replace the entire label. For example, you can't specify `*prod.example.com` or `prod*.example.com` .\n- The * can't replace any of the middle labels, for example, marketing.*.example.com.\n- If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n\n> You can't use the * wildcard for resource records sets that have a type of NS.", - "title": "Name", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Region": { - "markdownDescription": "*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.\n\nNote the following:\n\n- You can only specify one `ResourceRecord` per latency resource record set.\n- You can only create one latency resource record set for each Amazon EC2 Region.\n- You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.\n- You can't create non-latency resource record sets that have the same values for the `Name` and `Type` elements as latency resource record sets.", - "title": "Region", - "type": "string" + "Metadata": { + "type": "object" }, - "ResourceRecords": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TTL": { + "type": "number" + }, + "TrafficPolicyId": { + "type": "string" + }, + "TrafficPolicyVersion": { + "type": "number" + } }, - "markdownDescription": "Information about the records that you want to create. Each record should be in the format appropriate for the record type specified by the `Type` property. For information about different record types and their record formats, see [Values That You Specify When You Create or Edit Amazon Route 53 Records](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values.html) in the *Amazon Route 53 Developer Guide* .", - "title": "ResourceRecords", - "type": "array" - }, - "SetIdentifier": { - "markdownDescription": "*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of `SetIdentifier` must be unique for each resource record set.\n\nFor information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .", - "title": "SetIdentifier", - "type": "string" - }, - "TTL": { - "markdownDescription": "The resource record cache time to live (TTL), in seconds. Note the following:\n\n- If you're creating or updating an alias resource record set, omit `TTL` . Amazon Route 53 uses the value of `TTL` for the alias target.\n- If you're associating this resource record set with a health check (if you're adding a `HealthCheckId` element), we recommend that you specify a `TTL` of 60 seconds or less so clients respond quickly to changes in health status.\n- All of the resource record sets in a group of weighted resource record sets must have the same value for `TTL` .\n- If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a `TTL` of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for `Weight` .", - "title": "TTL", - "type": "string" + "required": [ + "HostedZoneId", + "Name", + "TTL", + "TrafficPolicyId", + "TrafficPolicyVersion" + ], + "type": "object" }, "Type": { - "markdownDescription": "The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nValid values for basic resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `DS` | `MX` | `NAPTR` | `NS` | `PTR` | `SOA` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\nValues for weighted, latency, geolocation, and failover resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.\n\nValid values for multivalue answer resource record sets: `A` | `AAAA` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `CAA` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\n> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of `Type` is `SPF` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) . \n\nValues for alias resource record sets:\n\n- *Amazon API Gateway custom regional APIs and edge-optimized APIs:* `A`\n- *CloudFront distributions:* `A`\n\nIf IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of `A` and one with a value of `AAAA` .\n- *Amazon API Gateway environment that has a regionalized subdomain* : `A`\n- *ELB load balancers:* `A` | `AAAA`\n- *Amazon S3 buckets:* `A`\n- *Amazon Virtual Private Cloud interface VPC endpoints* `A`\n- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except `NS` and `SOA` .\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", - "title": "Type", + "enum": [ + "AWS::Route53::TrafficPolicyInstance" + ], "type": "string" }, - "Weight": { - "markdownDescription": "*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:\n\n- You must specify a value for the `Weight` element for every weighted resource record set.\n- You can only specify one `ResourceRecord` per weighted resource record set.\n- You can't create latency, failover, or geolocation resource record sets that have the same values for the `Name` and `Type` elements as weighted resource record sets.\n- You can create a maximum of 100 weighted resource record sets that have the same values for the `Name` and `Type` elements.\n- For weighted (but not weighted alias) resource record sets, if you set `Weight` to `0` for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set `Weight` to `0` for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.\n\nThe effect of setting `Weight` to `0` is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .", - "title": "Weight", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Name", - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -341297,6 +351887,18 @@ ], "type": "object" }, + "AWS::S3::Bucket.DefaultEventHold": { + "additionalProperties": false, + "properties": { + "Days": { + "type": "number" + }, + "Years": { + "type": "number" + } + }, + "type": "object" + }, "AWS::S3::Bucket.DefaultRetention": { "additionalProperties": false, "properties": { @@ -341305,6 +351907,9 @@ "title": "Days", "type": "number" }, + "DefaultEventHold": { + "$ref": "#/definitions/AWS::S3::Bucket.DefaultEventHold" + }, "Mode": { "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` .", "title": "Mode", @@ -351829,6 +362434,9 @@ "title": "KmsMasterKeyId", "type": "string" }, + "MaximumMessageSize": { + "type": "number" + }, "SignatureVersion": { "markdownDescription": "The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default, `SignatureVersion` is set to `1` .", "title": "SignatureVersion", @@ -356562,28 +367170,534 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessControlAttributes": { + "AccessControlAttributes": { + "items": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" + }, + "markdownDescription": "Lists the attributes that are configured for ABAC in the specified instance.", + "title": "AccessControlAttributes", + "type": "array" + }, + "InstanceArn": { + "markdownDescription": "The ARN of the instance under which the operation will be executed.", + "title": "InstanceArn", + "type": "string" + } + }, + "required": [ + "InstanceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::InstanceAccessControlAttributeConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The name of the attribute associated with your identities in your identity source. This is used to map a specified attribute in your identity source with an attribute in .", + "title": "Key", + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue", + "markdownDescription": "The value used for mapping a specified attribute to an identity source.", + "title": "Value" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { + "additionalProperties": false, + "properties": { + "Source": { + "items": { + "type": "string" + }, + "markdownDescription": "The identity source to use when mapping a specified attribute to .", + "title": "Source", + "type": "array" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::SSO::PermissionSet": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerManagedPolicyReferences": { + "items": { + "$ref": "#/definitions/AWS::SSO::PermissionSet.CustomerManagedPolicyReference" + }, + "markdownDescription": "Specifies the names and paths of the customer managed policies that you have attached to your permission set.", + "title": "CustomerManagedPolicyReferences", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the `PermissionSet` .", + "title": "Description", + "type": "string" + }, + "InlinePolicy": { + "markdownDescription": "The inline policy that is attached to the permission set.\n\n> For `Length Constraints` , if a valid ARN is provided for a permission set, it is possible for an empty inline policy to be returned.", + "title": "InlinePolicy", + "type": "object" + }, + "InstanceArn": { + "markdownDescription": "The ARN of the instance under which the operation will be executed. For more information about ARNs, see [Amazon Resource Names (ARNs) and AWS Service Namespaces](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) in the *AWS General Reference* .", + "title": "InstanceArn", + "type": "string" + }, + "ManagedPolicies": { + "items": { + "type": "string" + }, + "markdownDescription": "A structure that stores a list of managed policy ARNs that describe the associated AWS managed policy.", + "title": "ManagedPolicies", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the permission set.", + "title": "Name", + "type": "string" + }, + "PermissionsBoundary": { + "$ref": "#/definitions/AWS::SSO::PermissionSet.PermissionsBoundary", + "markdownDescription": "Specifies the configuration of the AWS managed or customer managed policy that you want to set as a permissions boundary. Specify either `CustomerManagedPolicyReference` to use the name and path of a customer managed policy, or `ManagedPolicyArn` to use the ARN of an AWS managed policy. A permissions boundary represents the maximum permissions that any policy can grant your role. For more information, see [Permissions boundaries for IAM entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM User Guide* .\n\n> Policies used as permissions boundaries don't provide permissions. You must also attach an IAM policy to the role. To learn how the effective permissions for a role are evaluated, see [IAM JSON policy evaluation logic](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) in the *IAM User Guide* .", + "title": "PermissionsBoundary" + }, + "RelayStateType": { + "markdownDescription": "Used to redirect users within the application during the federation authentication process.", + "title": "RelayStateType", + "type": "string" + }, + "SessionDuration": { + "markdownDescription": "The length of time that the application user sessions are valid for in the ISO-8601 standard.", + "title": "SessionDuration", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to attach to the new `PermissionSet` .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "InstanceArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::PermissionSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSO::PermissionSet.CustomerManagedPolicyReference": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the IAM policy that you have configured in each account where you want to deploy your permission set.", + "title": "Name", + "type": "string" + }, + "Path": { + "markdownDescription": "The path to the IAM policy that you have configured in each account where you want to deploy your permission set. The default is `/` . For more information, see [Friendly names and paths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) in the *IAM User Guide* .", + "title": "Path", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::SSO::PermissionSet.PermissionsBoundary": { + "additionalProperties": false, + "properties": { + "CustomerManagedPolicyReference": { + "$ref": "#/definitions/AWS::SSO::PermissionSet.CustomerManagedPolicyReference", + "markdownDescription": "Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each AWS account where you want to deploy your permission set.", + "title": "CustomerManagedPolicyReference" + }, + "ManagedPolicyArn": { + "markdownDescription": "The AWS managed policy ARN that you want to attach to a permission set as a permissions boundary.", + "title": "ManagedPolicyArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SWF::Domain": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SWF::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AIBenchmarkJobName": { + "type": "string" + }, + "AIWorkloadConfigIdentifier": { + "type": "string" + }, + "BenchmarkTarget": { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob.AIBenchmarkTarget" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob.AIBenchmarkNetworkConfig" + }, + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob.AIBenchmarkOutputConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AIBenchmarkJobName", + "AIWorkloadConfigIdentifier", + "BenchmarkTarget", + "OutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::AIBenchmarkJob" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob.AIBenchmarkEndpoint": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "InferenceComponents": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob.AIBenchmarkInferenceComponent" + }, + "type": "array" + }, + "TargetContainerHostname": { + "type": "string" + } + }, + "required": [ + "Identifier" + ], + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob.AIBenchmarkInferenceComponent": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + } + }, + "required": [ + "Identifier" + ], + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob.AIBenchmarkNetworkConfig": { + "additionalProperties": false, + "properties": { + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob.AIBenchmarkOutputConfig": { + "additionalProperties": false, + "properties": { + "S3OutputLocation": { + "type": "string" + } + }, + "required": [ + "S3OutputLocation" + ], + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob.AIBenchmarkTarget": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob.AIBenchmarkEndpoint" + } + }, + "required": [ + "Endpoint" + ], + "type": "object" + }, + "AWS::SageMaker::AIBenchmarkJob.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::AIWorkloadConfig": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AIWorkloadConfigName": { + "type": "string" + }, + "AIWorkloadConfigs": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIWorkloadConfigs" + }, + "DatasetConfig": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIDatasetConfig" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "Lists the attributes that are configured for ABAC in the specified instance.", - "title": "AccessControlAttributes", "type": "array" - }, - "InstanceArn": { - "markdownDescription": "The ARN of the instance under which the operation will be executed.", - "title": "InstanceArn", - "type": "string" } }, "required": [ - "InstanceArn" + "AIWorkloadConfigName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::InstanceAccessControlAttributeConfiguration" + "AWS::SageMaker::AIWorkloadConfig" ], "type": "string" }, @@ -356602,198 +367716,80 @@ ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { + "AWS::SageMaker::AIWorkloadConfig.AIDatasetConfig": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The name of the attribute associated with your identities in your identity source. This is used to map a specified attribute in your identity source with an attribute in .", - "title": "Key", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue", - "markdownDescription": "The value used for mapping a specified attribute to an identity source.", - "title": "Value" + "InputDataConfig": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIWorkloadInputDataConfig" + }, + "type": "array" } }, "required": [ - "Key", - "Value" + "InputDataConfig" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadConfigs": { "additionalProperties": false, "properties": { - "Source": { - "items": { - "type": "string" - }, - "markdownDescription": "The identity source to use when mapping a specified attribute to .", - "title": "Source", - "type": "array" + "WorkloadSpec": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.WorkloadSpec" } }, "required": [ - "Source" + "WorkloadSpec" ], "type": "object" }, - "AWS::SSO::PermissionSet": { + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadDataSource": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerManagedPolicyReferences": { - "items": { - "$ref": "#/definitions/AWS::SSO::PermissionSet.CustomerManagedPolicyReference" - }, - "markdownDescription": "Specifies the names and paths of the customer managed policies that you have attached to your permission set.", - "title": "CustomerManagedPolicyReferences", - "type": "array" - }, - "Description": { - "markdownDescription": "The description of the `PermissionSet` .", - "title": "Description", - "type": "string" - }, - "InlinePolicy": { - "markdownDescription": "The inline policy that is attached to the permission set.\n\n> For `Length Constraints` , if a valid ARN is provided for a permission set, it is possible for an empty inline policy to be returned.", - "title": "InlinePolicy", - "type": "object" - }, - "InstanceArn": { - "markdownDescription": "The ARN of the instance under which the operation will be executed. For more information about ARNs, see [Amazon Resource Names (ARNs) and AWS Service Namespaces](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) in the *AWS General Reference* .", - "title": "InstanceArn", - "type": "string" - }, - "ManagedPolicies": { - "items": { - "type": "string" - }, - "markdownDescription": "A structure that stores a list of managed policy ARNs that describe the associated AWS managed policy.", - "title": "ManagedPolicies", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the permission set.", - "title": "Name", - "type": "string" - }, - "PermissionsBoundary": { - "$ref": "#/definitions/AWS::SSO::PermissionSet.PermissionsBoundary", - "markdownDescription": "Specifies the configuration of the AWS managed or customer managed policy that you want to set as a permissions boundary. Specify either `CustomerManagedPolicyReference` to use the name and path of a customer managed policy, or `ManagedPolicyArn` to use the ARN of an AWS managed policy. A permissions boundary represents the maximum permissions that any policy can grant your role. For more information, see [Permissions boundaries for IAM entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM User Guide* .\n\n> Policies used as permissions boundaries don't provide permissions. You must also attach an IAM policy to the role. To learn how the effective permissions for a role are evaluated, see [IAM JSON policy evaluation logic](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) in the *IAM User Guide* .", - "title": "PermissionsBoundary" - }, - "RelayStateType": { - "markdownDescription": "Used to redirect users within the application during the federation authentication process.", - "title": "RelayStateType", - "type": "string" - }, - "SessionDuration": { - "markdownDescription": "The length of time that the application user sessions are valid for in the ISO-8601 standard.", - "title": "SessionDuration", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to attach to the new `PermissionSet` .", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "InstanceArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::PermissionSet" - ], + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIWorkloadS3DataSource" + } + }, + "type": "object" + }, + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadInputDataConfig": { + "additionalProperties": false, + "properties": { + "ChannelName": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "DataSource": { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig.AIWorkloadDataSource" } }, "required": [ - "Type", - "Properties" + "ChannelName", + "DataSource" ], "type": "object" }, - "AWS::SSO::PermissionSet.CustomerManagedPolicyReference": { + "AWS::SageMaker::AIWorkloadConfig.AIWorkloadS3DataSource": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the IAM policy that you have configured in each account where you want to deploy your permission set.", - "title": "Name", - "type": "string" - }, - "Path": { - "markdownDescription": "The path to the IAM policy that you have configured in each account where you want to deploy your permission set. The default is `/` . For more information, see [Friendly names and paths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) in the *IAM User Guide* .", - "title": "Path", + "S3Uri": { "type": "string" } }, "required": [ - "Name" + "S3Uri" ], "type": "object" }, - "AWS::SSO::PermissionSet.PermissionsBoundary": { + "AWS::SageMaker::AIWorkloadConfig.WorkloadSpec": { "additionalProperties": false, "properties": { - "CustomerManagedPolicyReference": { - "$ref": "#/definitions/AWS::SSO::PermissionSet.CustomerManagedPolicyReference", - "markdownDescription": "Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each AWS account where you want to deploy your permission set.", - "title": "CustomerManagedPolicyReference" - }, - "ManagedPolicyArn": { - "markdownDescription": "The AWS managed policy ARN that you want to attach to a permission set as a permissions boundary.", - "title": "ManagedPolicyArn", + "Inline": { "type": "string" } }, + "required": [ + "Inline" + ], "type": "object" }, "AWS::SageMaker::Action": { @@ -357849,30 +368845,33 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoMLJobConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobConfig" + "AutoMLComputeConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLComputeConfig" + }, + "AutoMLJobInputDataConfig": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobChannel" + }, + "type": "array" }, "AutoMLJobObjective": { "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobObjective" }, - "GenerateCandidateDefinitionsOnly": { - "type": "boolean" + "AutoMLProblemTypeConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLProblemTypeConfig" }, - "InputDataConfig": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLChannel" - }, - "type": "array" + "DataSplitConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig" }, "OutputDataConfig": { "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLOutputDataConfig" }, - "ProblemType": { - "type": "string" - }, "RoleArn": { "type": "string" }, + "SecurityConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -357917,43 +368916,13 @@ ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLCandidateGenerationConfig": { + "AWS::SageMaker::AutoMLJob.AutoMLComputeConfig": { "additionalProperties": false, "properties": { - "AlgorithmsConfig": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLAlgorithmConfig" - }, - "type": "array" - }, - "FeatureSpecificationS3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLChannel": { - "additionalProperties": false, - "properties": { - "ChannelType": { - "type": "string" - }, - "CompressionType": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "DataSource": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSource" - }, - "TargetAttributeName": { - "type": "string" + "EmrServerlessComputeConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.EmrServerlessComputeConfig" } }, - "required": [ - "TargetAttributeName" - ], "type": "object" }, "AWS::SageMaker::AutoMLJob.AutoMLDataSource": { @@ -357977,38 +368946,35 @@ }, "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria": { + "AWS::SageMaker::AutoMLJob.AutoMLJobChannel": { "additionalProperties": false, "properties": { - "MaxAutoMLJobRuntimeInSeconds": { - "type": "number" + "ChannelType": { + "type": "string" }, - "MaxCandidates": { - "type": "number" + "CompressionType": { + "type": "string" }, - "MaxRuntimePerTrainingJobInSeconds": { - "type": "number" + "ContentType": { + "type": "string" + }, + "DataSource": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSource" } }, "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLJobConfig": { + "AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria": { "additionalProperties": false, "properties": { - "CandidateGenerationConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLCandidateGenerationConfig" - }, - "CompletionCriteria": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" - }, - "DataSplitConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig" + "MaxAutoMLJobRuntimeInSeconds": { + "type": "number" }, - "Mode": { - "type": "string" + "MaxCandidates": { + "type": "number" }, - "SecurityConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig" + "MaxRuntimePerTrainingJobInSeconds": { + "type": "number" } }, "type": "object" @@ -358040,6 +369006,27 @@ ], "type": "object" }, + "AWS::SageMaker::AutoMLJob.AutoMLProblemTypeConfig": { + "additionalProperties": false, + "properties": { + "ImageClassificationJobConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.ImageClassificationJobConfig" + }, + "TabularJobConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.TabularJobConfig" + }, + "TextClassificationJobConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.TextClassificationJobConfig" + }, + "TextGenerationJobConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.TextGenerationJobConfig" + }, + "TimeSeriesForecastingJobConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.TimeSeriesForecastingJobConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::AutoMLJob.AutoMLS3DataSource": { "additionalProperties": false, "properties": { @@ -358071,6 +369058,224 @@ }, "type": "object" }, + "AWS::SageMaker::AutoMLJob.CandidateGenerationConfig": { + "additionalProperties": false, + "properties": { + "AlgorithmsConfig": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLAlgorithmConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.EmrServerlessComputeConfig": { + "additionalProperties": false, + "properties": { + "ExecutionRoleARN": { + "type": "string" + } + }, + "required": [ + "ExecutionRoleARN" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.HolidayConfigAttributes": { + "additionalProperties": false, + "properties": { + "CountryCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.ImageClassificationJobConfig": { + "additionalProperties": false, + "properties": { + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.ModelAccessConfig": { + "additionalProperties": false, + "properties": { + "AcceptEula": { + "type": "boolean" + } + }, + "required": [ + "AcceptEula" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.TabularJobConfig": { + "additionalProperties": false, + "properties": { + "CandidateGenerationConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.CandidateGenerationConfig" + }, + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + }, + "FeatureSpecificationS3Uri": { + "type": "string" + }, + "GenerateCandidateDefinitionsOnly": { + "type": "boolean" + }, + "Mode": { + "type": "string" + }, + "ProblemType": { + "type": "string" + }, + "SampleWeightAttributeName": { + "type": "string" + }, + "TargetAttributeName": { + "type": "string" + } + }, + "required": [ + "TargetAttributeName" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.TextClassificationJobConfig": { + "additionalProperties": false, + "properties": { + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + }, + "ContentColumn": { + "type": "string" + }, + "TargetLabelColumn": { + "type": "string" + } + }, + "required": [ + "ContentColumn", + "TargetLabelColumn" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.TextGenerationJobConfig": { + "additionalProperties": false, + "properties": { + "BaseModelName": { + "type": "string" + }, + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + }, + "ModelAccessConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.ModelAccessConfig" + }, + "TextGenerationHyperParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.TimeSeriesConfig": { + "additionalProperties": false, + "properties": { + "GroupingAttributeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ItemIdentifierAttributeName": { + "type": "string" + }, + "TargetAttributeName": { + "type": "string" + }, + "TimestampAttributeName": { + "type": "string" + } + }, + "required": [ + "ItemIdentifierAttributeName", + "TargetAttributeName", + "TimestampAttributeName" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.TimeSeriesForecastingJobConfig": { + "additionalProperties": false, + "properties": { + "CandidateGenerationConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.CandidateGenerationConfig" + }, + "CompletionCriteria": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + }, + "FeatureSpecificationS3Uri": { + "type": "string" + }, + "ForecastFrequency": { + "type": "string" + }, + "ForecastHorizon": { + "type": "number" + }, + "ForecastQuantiles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "HolidayConfig": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.HolidayConfigAttributes" + }, + "type": "array" + }, + "TimeSeriesConfig": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.TimeSeriesConfig" + }, + "Transformations": { + "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.TimeSeriesTransformations" + } + }, + "required": [ + "ForecastFrequency", + "ForecastHorizon", + "TimeSeriesConfig" + ], + "type": "object" + }, + "AWS::SageMaker::AutoMLJob.TimeSeriesTransformations": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Filling": { + "type": "object" + } + }, + "type": "object" + }, "AWS::SageMaker::AutoMLJob.VpcConfig": { "additionalProperties": false, "properties": { @@ -358270,6 +369475,28 @@ ], "type": "object" }, + "AWS::SageMaker::Cluster.ClusterAccountingDatabase": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "SecretArn" + ], + "type": "object" + }, "AWS::SageMaker::Cluster.ClusterAutoScalingConfig": { "additionalProperties": false, "properties": { @@ -358584,6 +369811,9 @@ "AWS::SageMaker::Cluster.ClusterOrchestratorSlurmConfig": { "additionalProperties": false, "properties": { + "AccountingDatabase": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterAccountingDatabase" + }, "SlurmConfigStrategy": { "type": "string" } @@ -360776,6 +372006,11 @@ "title": "EndpointConfigName", "type": "string" }, + "EndpointName": { + "markdownDescription": "The name of the endpoint. The name must be unique within an AWS Region in your AWS account. The name is case-insensitive in `CreateEndpoint` , but the case is preserved and must be matched in [](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html) .", + "title": "EndpointName", + "type": "string" + }, "ExcludeRetainedVariantProperties": { "items": { "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" @@ -363362,6 +374597,12 @@ "markdownDescription": "", "title": "Specification" }, + "Specifications": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecificationForInstanceType" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -363377,8 +374618,7 @@ } }, "required": [ - "EndpointName", - "Specification" + "EndpointName" ], "type": "object" }, @@ -363434,6 +374674,21 @@ ], "type": "object" }, + "AWS::SageMaker::InferenceComponent.ContainerMetricsConfig": { + "additionalProperties": false, + "properties": { + "MetricsEndpoints": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.MetricsEndpoint" + }, + "type": "array" + } + }, + "required": [ + "MetricsEndpoints" + ], + "type": "object" + }, "AWS::SageMaker::InferenceComponent.DeployedImage": { "additionalProperties": false, "properties": { @@ -363455,6 +374710,21 @@ }, "type": "object" }, + "AWS::SageMaker::InferenceComponent.InferenceComponentAvailabilityZoneBalance": { + "additionalProperties": false, + "properties": { + "EnforcementMode": { + "type": "string" + }, + "MaxImbalance": { + "type": "number" + } + }, + "required": [ + "EnforcementMode" + ], + "type": "object" + }, "AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize": { "additionalProperties": false, "properties": { @@ -363509,6 +374779,9 @@ "title": "ArtifactUrl", "type": "string" }, + "ContainerMetricsConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.ContainerMetricsConfig" + }, "DeployedImage": { "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage", "markdownDescription": "", @@ -363533,6 +374806,42 @@ }, "type": "object" }, + "AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecificationForInstanceType": { + "additionalProperties": false, + "properties": { + "ArtifactUrl": { + "type": "string" + }, + "ContainerMetricsConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.ContainerMetricsConfig" + }, + "Environment": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentDataCacheConfig": { + "additionalProperties": false, + "properties": { + "EnableCaching": { + "type": "boolean" + } + }, + "required": [ + "EnableCaching" + ], + "type": "object" + }, "AWS::SageMaker::InferenceComponent.InferenceComponentDeploymentConfig": { "additionalProperties": false, "properties": { @@ -363549,6 +374858,22 @@ }, "type": "object" }, + "AWS::SageMaker::InferenceComponent.InferenceComponentPlacementStatus": { + "additionalProperties": false, + "properties": { + "CurrentCopyCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "CurrentCopyCount", + "InstanceType" + ], + "type": "object" + }, "AWS::SageMaker::InferenceComponent.InferenceComponentRollingUpdatePolicy": { "additionalProperties": false, "properties": { @@ -363592,10 +374917,32 @@ "markdownDescription": "", "title": "DesiredCopyCount", "type": "number" + }, + "PlacementStatus": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentPlacementStatus" + }, + "type": "array" } }, "type": "object" }, + "AWS::SageMaker::InferenceComponent.InferenceComponentSchedulingConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneBalance": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentAvailabilityZoneBalance" + }, + "PlacementStrategy": { + "type": "string" + } + }, + "required": [ + "AvailabilityZoneBalance", + "PlacementStrategy" + ], + "type": "object" + }, "AWS::SageMaker::InferenceComponent.InferenceComponentSpecification": { "additionalProperties": false, "properties": { @@ -363614,11 +374961,20 @@ "markdownDescription": "Defines a container that provides the runtime environment for a model that you deploy with an inference component.", "title": "Container" }, + "CurrentDataCacheConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentDataCacheConfig" + }, + "DataCacheConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentDataCacheConfig" + }, "ModelName": { "markdownDescription": "The name of an existing SageMaker AI model object in your account that you want to deploy with the inference component.", "title": "ModelName", "type": "string" }, + "SchedulingConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSchedulingConfig" + }, "StartupParameters": { "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters", "markdownDescription": "Settings that take effect while the model container starts up.", @@ -363627,6 +374983,39 @@ }, "type": "object" }, + "AWS::SageMaker::InferenceComponent.InferenceComponentSpecificationForInstanceType": { + "additionalProperties": false, + "properties": { + "ComputeResourceRequirements": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements" + }, + "Container": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecificationForInstanceType" + }, + "CurrentDataCacheConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentDataCacheConfig" + }, + "DataCacheConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentDataCacheConfig" + }, + "InstanceType": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "SchedulingConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSchedulingConfig" + }, + "StartupParameters": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, "AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters": { "additionalProperties": false, "properties": { @@ -363643,6 +375032,21 @@ }, "type": "object" }, + "AWS::SageMaker::InferenceComponent.MetricsEndpoint": { + "additionalProperties": false, + "properties": { + "MetricPublishFrequencyInSeconds": { + "type": "number" + }, + "MetricsEndpointPath": { + "type": "string" + } + }, + "required": [ + "MetricsEndpointPath" + ], + "type": "object" + }, "AWS::SageMaker::InferenceExperiment": { "additionalProperties": false, "properties": { @@ -368874,14 +380278,6 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of Amazon Elastic Inference (EI) instance types to associate with the notebook instance. Currently, only one instance type can be associated with a notebook instance. For more information, see [Using Elastic Inference in Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html) .\n\n*Valid Values:* `ml.eia1.medium | ml.eia1.large | ml.eia1.xlarge | ml.eia2.medium | ml.eia2.large | ml.eia2.xlarge` .", - "title": "AcceleratorTypes", - "type": "array" - }, "AdditionalCodeRepositories": { "items": { "type": "string" @@ -375128,6 +386524,12 @@ "$ref": "#/definitions/AWS::SecurityAgent::Pentest.SourceCodeRepository" }, "type": "array" + }, + "TrustedCaCertificates": { + "items": { + "$ref": "#/definitions/AWS::SecurityAgent::Pentest.TrustedCaCertificate" + }, + "type": "array" } }, "type": "object" @@ -375144,6 +386546,21 @@ }, "type": "object" }, + "AWS::SecurityAgent::Pentest.CaCertificateSource": { + "additionalProperties": false, + "properties": { + "ArtifactId": { + "type": "string" + }, + "InlinePem": { + "type": "string" + }, + "S3Location": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SecurityAgent::Pentest.CloudWatchLog": { "additionalProperties": false, "properties": { @@ -375250,6 +386667,18 @@ }, "type": "object" }, + "AWS::SecurityAgent::Pentest.TrustedCaCertificate": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/AWS::SecurityAgent::Pentest.CaCertificateSource" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, "AWS::SecurityAgent::Pentest.VpcConfig": { "additionalProperties": false, "properties": { @@ -377671,6 +389100,9 @@ "Properties": { "additionalProperties": false, "properties": { + "NetworkScanning": { + "$ref": "#/definitions/AWS::SecurityHub::HubV2.NetworkScanning" + }, "Tags": { "additionalProperties": true, "markdownDescription": "The tags to add to the hub V2 resource when you enable Security Hub CSPM.", @@ -377705,6 +389137,18 @@ ], "type": "object" }, + "AWS::SecurityHub::HubV2.NetworkScanning": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, "AWS::SecurityHub::Insight": { "additionalProperties": false, "properties": { @@ -384164,6 +395608,366 @@ ], "type": "object" }, + "AWS::StorageGateway::CacheReport": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExclusionFilters": { + "items": { + "$ref": "#/definitions/AWS::StorageGateway::CacheReport.CacheReportFilter" + }, + "type": "array" + }, + "FileShareARN": { + "type": "string" + }, + "InclusionFilters": { + "items": { + "$ref": "#/definitions/AWS::StorageGateway::CacheReport.CacheReportFilter" + }, + "type": "array" + }, + "LocationARN": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FileShareARN", + "LocationARN", + "Role" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StorageGateway::CacheReport" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::StorageGateway::CacheReport.CacheReportFilter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::StorageGateway::Device": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StorageGateway::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::StorageGateway::Device.DeviceiSCSIAttributes": { + "additionalProperties": false, + "properties": { + "ChapEnabled": { + "type": "boolean" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkInterfacePort": { + "type": "number" + }, + "TargetARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::StorageGateway::Gateway": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayName": { + "type": "string" + }, + "GatewayRegion": { + "type": "string" + }, + "GatewayTimezone": { + "type": "string" + }, + "GatewayType": { + "type": "string" + } + }, + "required": [ + "GatewayName", + "GatewayRegion", + "GatewayTimezone" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StorageGateway::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::StorageGateway::Gateway.NetworkInterface": { + "additionalProperties": false, + "properties": { + "Ipv4Address": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::StorageGateway::Tape": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayARN": { + "type": "string" + }, + "KMSEncrypted": { + "type": "boolean" + }, + "KMSKey": { + "type": "string" + }, + "PoolId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TapeBarcode": { + "type": "string" + }, + "TapeSizeInBytes": { + "type": "number" + }, + "Worm": { + "type": "boolean" + } + }, + "required": [ + "GatewayARN", + "TapeSizeInBytes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StorageGateway::Tape" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::StorageGateway::TapePool": { "additionalProperties": false, "properties": { @@ -386002,6 +397806,536 @@ ], "type": "object" }, + "AWS::Timestream::InfluxDBParameterGroup": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Parameters" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.TagsItems" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Timestream::InfluxDBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.Duration": { + "additionalProperties": false, + "properties": { + "DurationType": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "DurationType", + "Value" + ], + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.InfluxDBv2Parameters": { + "additionalProperties": false, + "properties": { + "FluxLogEnabled": { + "type": "boolean" + }, + "HttpIdleTimeout": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "HttpReadHeaderTimeout": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "HttpReadTimeout": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "HttpWriteTimeout": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "InfluxqlMaxSelectBuckets": { + "type": "number" + }, + "InfluxqlMaxSelectPoint": { + "type": "number" + }, + "InfluxqlMaxSelectSeries": { + "type": "number" + }, + "LogLevel": { + "type": "string" + }, + "MetricsDisabled": { + "type": "boolean" + }, + "NoTasks": { + "type": "boolean" + }, + "PprofDisabled": { + "type": "boolean" + }, + "QueryConcurrency": { + "type": "number" + }, + "QueryInitialMemoryBytes": { + "type": "number" + }, + "QueryMaxMemoryBytes": { + "type": "number" + }, + "QueryMemoryBytes": { + "type": "number" + }, + "QueryQueueSize": { + "type": "number" + }, + "SessionLength": { + "type": "number" + }, + "SessionRenewDisabled": { + "type": "boolean" + }, + "StorageCacheMaxMemorySize": { + "type": "number" + }, + "StorageCacheSnapshotMemorySize": { + "type": "number" + }, + "StorageCacheSnapshotWriteColdDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "StorageCompactFullWriteColdDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "StorageCompactThroughputBurst": { + "type": "number" + }, + "StorageMaxConcurrentCompactions": { + "type": "number" + }, + "StorageMaxIndexLogFileSize": { + "type": "number" + }, + "StorageNoValidateFieldSize": { + "type": "boolean" + }, + "StorageRetentionCheckInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "StorageSeriesFileMaxConcurrentSnapshotCompactions": { + "type": "number" + }, + "StorageSeriesIdSetCacheSize": { + "type": "number" + }, + "StorageWalMaxConcurrentWrites": { + "type": "number" + }, + "StorageWalMaxWriteDelay": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "TracingType": { + "type": "string" + }, + "UiDisabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.InfluxDBv3CoreParameters": { + "additionalProperties": false, + "properties": { + "DataFusionConfig": { + "type": "string" + }, + "DataFusionMaxParquetFanout": { + "type": "number" + }, + "DataFusionNumThreads": { + "type": "number" + }, + "DataFusionRuntimeDisableLifoSlot": { + "type": "boolean" + }, + "DataFusionRuntimeEventInterval": { + "type": "number" + }, + "DataFusionRuntimeGlobalQueueInterval": { + "type": "number" + }, + "DataFusionRuntimeMaxBlockingThreads": { + "type": "number" + }, + "DataFusionRuntimeMaxIoEventsPerTick": { + "type": "number" + }, + "DataFusionRuntimeThreadKeepAlive": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "DataFusionRuntimeThreadPriority": { + "type": "number" + }, + "DataFusionRuntimeType": { + "type": "string" + }, + "DataFusionUseCachedParquetLoader": { + "type": "boolean" + }, + "DeleteGracePeriod": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "DisableParquetMemCache": { + "type": "boolean" + }, + "DistinctCacheEvictionInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "ExecMemPoolBytes": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong" + }, + "ForceSnapshotMemThreshold": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong" + }, + "Gen1Duration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "Gen1LookbackDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "HardDeleteDefaultDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "LastCacheEvictionInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "LogFilter": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "MaxHttpRequestSize": { + "type": "number" + }, + "ParquetMemCachePruneInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "ParquetMemCachePrunePercentage": { + "type": "number" + }, + "ParquetMemCacheQueryPathDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "ParquetMemCacheSize": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong" + }, + "PreemptiveCacheAge": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "QueryFileLimit": { + "type": "number" + }, + "QueryLogSize": { + "type": "number" + }, + "RetentionCheckInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "SnapshottedWalFilesToKeep": { + "type": "number" + }, + "TableIndexCacheConcurrencyLimit": { + "type": "number" + }, + "TableIndexCacheMaxEntries": { + "type": "number" + }, + "WalMaxWriteBufferSize": { + "type": "number" + }, + "WalReplayConcurrencyLimit": { + "type": "number" + }, + "WalReplayFailOnError": { + "type": "boolean" + }, + "WalSnapshotSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.InfluxDBv3EnterpriseParameters": { + "additionalProperties": false, + "properties": { + "CatalogSyncInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "CompactionCheckInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "CompactionCleanupWait": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "CompactionGen2Duration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "CompactionMaxNumFilesPerPlan": { + "type": "number" + }, + "CompactionMultipliers": { + "type": "string" + }, + "CompactionRowLimit": { + "type": "number" + }, + "DataFusionConfig": { + "type": "string" + }, + "DataFusionMaxParquetFanout": { + "type": "number" + }, + "DataFusionNumThreads": { + "type": "number" + }, + "DataFusionRuntimeDisableLifoSlot": { + "type": "boolean" + }, + "DataFusionRuntimeEventInterval": { + "type": "number" + }, + "DataFusionRuntimeGlobalQueueInterval": { + "type": "number" + }, + "DataFusionRuntimeMaxBlockingThreads": { + "type": "number" + }, + "DataFusionRuntimeMaxIoEventsPerTick": { + "type": "number" + }, + "DataFusionRuntimeThreadKeepAlive": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "DataFusionRuntimeThreadPriority": { + "type": "number" + }, + "DataFusionRuntimeType": { + "type": "string" + }, + "DataFusionUseCachedParquetLoader": { + "type": "boolean" + }, + "DedicatedCompactor": { + "type": "boolean" + }, + "DeleteGracePeriod": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "DisableParquetMemCache": { + "type": "boolean" + }, + "DistinctCacheEvictionInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "DistinctValueCacheDisableFromHistory": { + "type": "boolean" + }, + "ExecMemPoolBytes": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong" + }, + "ForceSnapshotMemThreshold": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong" + }, + "Gen1Duration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "Gen1LookbackDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "HardDeleteDefaultDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "IngestQueryInstances": { + "type": "number" + }, + "LastCacheEvictionInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "LastValueCacheDisableFromHistory": { + "type": "boolean" + }, + "LogFilter": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "MaxHttpRequestSize": { + "type": "number" + }, + "ParquetMemCachePruneInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "ParquetMemCachePrunePercentage": { + "type": "number" + }, + "ParquetMemCacheQueryPathDuration": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "ParquetMemCacheSize": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong" + }, + "PreemptiveCacheAge": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "QueryFileLimit": { + "type": "number" + }, + "QueryLogSize": { + "type": "number" + }, + "QueryOnlyInstances": { + "type": "number" + }, + "ReplicationInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "RetentionCheckInterval": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.Duration" + }, + "SnapshottedWalFilesToKeep": { + "type": "number" + }, + "TableIndexCacheConcurrencyLimit": { + "type": "number" + }, + "TableIndexCacheMaxEntries": { + "type": "number" + }, + "WalMaxWriteBufferSize": { + "type": "number" + }, + "WalReplayConcurrencyLimit": { + "type": "number" + }, + "WalReplayFailOnError": { + "type": "boolean" + }, + "WalSnapshotSize": { + "type": "number" + } + }, + "required": [ + "DedicatedCompactor", + "IngestQueryInstances", + "QueryOnlyInstances" + ], + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.Parameters": { + "additionalProperties": false, + "properties": { + "InfluxDBv2": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.InfluxDBv2Parameters" + }, + "InfluxDBv3Core": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.InfluxDBv3CoreParameters" + }, + "InfluxDBv3Enterprise": { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup.InfluxDBv3EnterpriseParameters" + } + }, + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.PercentOrAbsoluteLong": { + "additionalProperties": false, + "properties": { + "Absolute": { + "type": "number" + }, + "Percent": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Timestream::InfluxDBParameterGroup.TagsItems": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, "AWS::Timestream::ScheduledQuery": { "additionalProperties": false, "properties": { @@ -386581,6 +398915,238 @@ }, "type": "object" }, + "AWS::Transcribe::CallAnalyticsCategory": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CategoryName": { + "type": "string" + }, + "InputType": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.Rule" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CategoryName", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transcribe::CallAnalyticsCategory" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.AbsoluteTimeRange": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "number" + }, + "First": { + "type": "number" + }, + "Last": { + "type": "number" + }, + "StartTime": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.InterruptionFilter": { + "additionalProperties": false, + "properties": { + "AbsoluteTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.AbsoluteTimeRange" + }, + "Negate": { + "type": "boolean" + }, + "ParticipantRole": { + "type": "string" + }, + "RelativeTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.RelativeTimeRange" + }, + "Threshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.NonTalkTimeFilter": { + "additionalProperties": false, + "properties": { + "AbsoluteTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.AbsoluteTimeRange" + }, + "Negate": { + "type": "boolean" + }, + "RelativeTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.RelativeTimeRange" + }, + "Threshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.RelativeTimeRange": { + "additionalProperties": false, + "properties": { + "EndPercentage": { + "type": "number" + }, + "First": { + "type": "number" + }, + "Last": { + "type": "number" + }, + "StartPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.Rule": { + "additionalProperties": false, + "properties": { + "InterruptionFilter": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.InterruptionFilter" + }, + "NonTalkTimeFilter": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.NonTalkTimeFilter" + }, + "SentimentFilter": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.SentimentFilter" + }, + "TranscriptFilter": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.TranscriptFilter" + } + }, + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.SentimentFilter": { + "additionalProperties": false, + "properties": { + "AbsoluteTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.AbsoluteTimeRange" + }, + "Negate": { + "type": "boolean" + }, + "ParticipantRole": { + "type": "string" + }, + "RelativeTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.RelativeTimeRange" + }, + "Sentiments": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Sentiments" + ], + "type": "object" + }, + "AWS::Transcribe::CallAnalyticsCategory.TranscriptFilter": { + "additionalProperties": false, + "properties": { + "AbsoluteTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.AbsoluteTimeRange" + }, + "Negate": { + "type": "boolean" + }, + "ParticipantRole": { + "type": "string" + }, + "RelativeTimeRange": { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory.RelativeTimeRange" + }, + "Targets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TranscriptFilterType": { + "type": "string" + } + }, + "required": [ + "Targets", + "TranscriptFilterType" + ], + "type": "object" + }, "AWS::Transcribe::CallAnalyticsJob": { "additionalProperties": false, "properties": { @@ -387157,6 +399723,93 @@ }, "type": "object" }, + "AWS::Transcribe::Vocabulary": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataAccessRoleArn": { + "type": "string" + }, + "LanguageCode": { + "type": "string" + }, + "Phrases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VocabularyFileUri": { + "type": "string" + }, + "VocabularyName": { + "type": "string" + } + }, + "required": [ + "LanguageCode", + "VocabularyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transcribe::Vocabulary" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Transcribe::VocabularyFilter": { "additionalProperties": false, "properties": { @@ -390622,88 +403275,205 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "AllowAssociationToSharableServiceNetwork": { - "markdownDescription": "Specifies whether the resource configuration can be associated with a sharable service network.", - "title": "AllowAssociationToSharableServiceNetwork", - "type": "boolean" - }, - "CustomDomainName": { - "markdownDescription": "The custom domain name.", - "title": "CustomDomainName", - "type": "string" - }, - "DomainVerificationId": { - "markdownDescription": "The domain verification ID.", - "title": "DomainVerificationId", - "type": "string" - }, - "GroupDomain": { - "markdownDescription": "(GROUP) The group domain for a group resource configuration. Any domains that you create for the child resource are subdomains of the group domain. Child resources inherit the verification status of the domain.", - "title": "GroupDomain", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the resource configuration.", - "title": "Name", - "type": "string" - }, - "PortRanges": { - "items": { - "type": "string" - }, - "markdownDescription": "(SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535). You can separate port ranges using commas (for example: 1,2,22-30).", - "title": "PortRanges", - "type": "array" - }, - "ProtocolType": { - "markdownDescription": "(SINGLE, GROUP) The protocol accepted by the resource configuration.", - "title": "ProtocolType", - "type": "string" - }, - "ResourceConfigurationAuthType": { - "markdownDescription": "The auth type for the resource configuration.", - "title": "ResourceConfigurationAuthType", - "type": "string" - }, - "ResourceConfigurationDefinition": { - "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration.ResourceConfigurationDefinition", - "markdownDescription": "Identifies the resource configuration in one of the following ways:\n\n- *Amazon Resource Name (ARN)* - Supported resource-types that are provisioned by AWS services, such as RDS databases, can be identified by their ARN.\n- *Domain name* - Any domain name that is publicly resolvable.\n- *IP address* - For IPv4 and IPv6, only IP addresses in the VPC are supported.", - "title": "ResourceConfigurationDefinition" - }, - "ResourceConfigurationGroupId": { - "markdownDescription": "The ID of the group resource configuration.", - "title": "ResourceConfigurationGroupId", - "type": "string" - }, - "ResourceConfigurationType": { - "markdownDescription": "The type of resource configuration. A resource configuration can be one of the following types:\n\n- *SINGLE* - A single resource.\n- *GROUP* - A group of resources. You must create a group resource configuration before you create a child resource configuration.\n- *CHILD* - A single resource that is part of a group resource configuration.\n- *ARN* - An AWS resource.", - "title": "ResourceConfigurationType", - "type": "string" - }, - "ResourceGatewayId": { - "markdownDescription": "The ID of the resource gateway.", - "title": "ResourceGatewayId", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for the resource configuration.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name", - "ResourceConfigurationType" - ], + "properties": { + "AllowAssociationToSharableServiceNetwork": { + "markdownDescription": "Specifies whether the resource configuration can be associated with a sharable service network.", + "title": "AllowAssociationToSharableServiceNetwork", + "type": "boolean" + }, + "CustomDomainName": { + "markdownDescription": "The custom domain name.", + "title": "CustomDomainName", + "type": "string" + }, + "DomainVerificationId": { + "markdownDescription": "The domain verification ID.", + "title": "DomainVerificationId", + "type": "string" + }, + "GroupDomain": { + "markdownDescription": "(GROUP) The group domain for a group resource configuration. Any domains that you create for the child resource are subdomains of the group domain. Child resources inherit the verification status of the domain.", + "title": "GroupDomain", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the resource configuration.", + "title": "Name", + "type": "string" + }, + "PortRanges": { + "items": { + "type": "string" + }, + "markdownDescription": "(SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535). You can separate port ranges using commas (for example: 1,2,22-30).", + "title": "PortRanges", + "type": "array" + }, + "ProtocolType": { + "markdownDescription": "(SINGLE, GROUP) The protocol accepted by the resource configuration.", + "title": "ProtocolType", + "type": "string" + }, + "ResourceConfigurationAuthType": { + "markdownDescription": "The auth type for the resource configuration.", + "title": "ResourceConfigurationAuthType", + "type": "string" + }, + "ResourceConfigurationDefinition": { + "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration.ResourceConfigurationDefinition", + "markdownDescription": "Identifies the resource configuration in one of the following ways:\n\n- *Amazon Resource Name (ARN)* - Supported resource-types that are provisioned by AWS services, such as RDS databases, can be identified by their ARN.\n- *Domain name* - Any domain name that is publicly resolvable.\n- *IP address* - For IPv4 and IPv6, only IP addresses in the VPC are supported.", + "title": "ResourceConfigurationDefinition" + }, + "ResourceConfigurationGroupId": { + "markdownDescription": "The ID of the group resource configuration.", + "title": "ResourceConfigurationGroupId", + "type": "string" + }, + "ResourceConfigurationType": { + "markdownDescription": "The type of resource configuration. A resource configuration can be one of the following types:\n\n- *SINGLE* - A single resource.\n- *GROUP* - A group of resources. You must create a group resource configuration before you create a child resource configuration.\n- *CHILD* - A single resource that is part of a group resource configuration.\n- *ARN* - An AWS resource.", + "title": "ResourceConfigurationType", + "type": "string" + }, + "ResourceGatewayId": { + "markdownDescription": "The ID of the resource gateway.", + "title": "ResourceGatewayId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for the resource configuration.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name", + "ResourceConfigurationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::VpcLattice::ResourceConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::VpcLattice::ResourceConfiguration.CidrResource": { + "additionalProperties": false, + "properties": { + "CidrRanges": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CidrRanges" + ], + "type": "object" + }, + "AWS::VpcLattice::ResourceConfiguration.DnsResource": { + "additionalProperties": false, + "properties": { + "DomainName": { + "markdownDescription": "The domain name of the resource configuration.", + "title": "DomainName", + "type": "string" + }, + "IpAddressType": { + "markdownDescription": "The IP address type for the resource configuration. Dualstack is not currently supported.", + "title": "IpAddressType", + "type": "string" + } + }, + "required": [ + "DomainName", + "IpAddressType" + ], + "type": "object" + }, + "AWS::VpcLattice::ResourceConfiguration.ResourceConfigurationDefinition": { + "additionalProperties": false, + "properties": { + "ArnResource": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource configuration. For the ARN syntax and format, see [ARN format](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html#arns-syntax) in the *AWS Identity and Access Management user guide* .", + "title": "ArnResource", + "type": "string" + }, + "CidrResource": { + "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration.CidrResource" + }, + "DnsResource": { + "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration.DnsResource", + "markdownDescription": "The DNS name of the resource configuration.", + "title": "DnsResource" + }, + "IpResource": { + "markdownDescription": "The IP address of the resource configuration.", + "title": "IpResource", + "type": "string" + } + }, + "type": "object" + }, + "AWS::VpcLattice::ResourceEndpointAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, "type": "object" }, "Type": { "enum": [ - "AWS::VpcLattice::ResourceConfiguration" + "AWS::VpcLattice::ResourceEndpointAssociation" ], "type": "string" }, @@ -390717,52 +403487,10 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::VpcLattice::ResourceConfiguration.DnsResource": { - "additionalProperties": false, - "properties": { - "DomainName": { - "markdownDescription": "The domain name of the resource configuration.", - "title": "DomainName", - "type": "string" - }, - "IpAddressType": { - "markdownDescription": "The IP address type for the resource configuration. Dualstack is not currently supported.", - "title": "IpAddressType", - "type": "string" - } - }, - "required": [ - "DomainName", - "IpAddressType" + "Type" ], "type": "object" }, - "AWS::VpcLattice::ResourceConfiguration.ResourceConfigurationDefinition": { - "additionalProperties": false, - "properties": { - "ArnResource": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource configuration. For the ARN syntax and format, see [ARN format](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html#arns-syntax) in the *AWS Identity and Access Management user guide* .", - "title": "ArnResource", - "type": "string" - }, - "DnsResource": { - "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration.DnsResource", - "markdownDescription": "The DNS name of the resource configuration.", - "title": "DnsResource" - }, - "IpResource": { - "markdownDescription": "The IP address of the resource configuration.", - "title": "IpResource", - "type": "string" - } - }, - "type": "object" - }, "AWS::VpcLattice::ResourceGateway": { "additionalProperties": false, "properties": { @@ -405764,6 +418492,9 @@ { "$ref": "#/definitions/AWS::AppConfig::ExperimentDefinition" }, + { + "$ref": "#/definitions/AWS::AppConfig::ExperimentRun" + }, { "$ref": "#/definitions/AWS::AppConfig::Extension" }, @@ -405926,6 +418657,9 @@ { "$ref": "#/definitions/AWS::ApplicationSignals::ServiceLevelObjective" }, + { + "$ref": "#/definitions/AWS::Artifact::ComplianceInquiry" + }, { "$ref": "#/definitions/AWS::Artifact::Report" }, @@ -406025,6 +418759,9 @@ { "$ref": "#/definitions/AWS::Backup::TieringConfiguration" }, + { + "$ref": "#/definitions/AWS::BackupGateway::Gateway" + }, { "$ref": "#/definitions/AWS::BackupGateway::Hypervisor" }, @@ -406094,6 +418831,9 @@ { "$ref": "#/definitions/AWS::Bedrock::EnforcedGuardrailConfiguration" }, + { + "$ref": "#/definitions/AWS::Bedrock::EvaluationJob" + }, { "$ref": "#/definitions/AWS::Bedrock::Flow" }, @@ -406262,6 +419002,9 @@ { "$ref": "#/definitions/AWS::Braket::Job" }, + { + "$ref": "#/definitions/AWS::Braket::QuantumTask" + }, { "$ref": "#/definitions/AWS::Braket::SpendingLimit" }, @@ -406349,6 +419092,33 @@ { "$ref": "#/definitions/AWS::Chime::ChannelFlow" }, + { + "$ref": "#/definitions/AWS::Chime::MediaCapturePipeline" + }, + { + "$ref": "#/definitions/AWS::Chime::MediaConcatenationPipeline" + }, + { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipeline" + }, + { + "$ref": "#/definitions/AWS::Chime::MediaInsightsPipelineConfiguration" + }, + { + "$ref": "#/definitions/AWS::Chime::MediaLiveConnectorPipeline" + }, + { + "$ref": "#/definitions/AWS::Chime::MediaPipelineKinesisVideoStreamPool" + }, + { + "$ref": "#/definitions/AWS::Chime::MediaStreamPipeline" + }, + { + "$ref": "#/definitions/AWS::Chime::SipMediaApplication" + }, + { + "$ref": "#/definitions/AWS::Chime::VoiceConnector" + }, { "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate" }, @@ -406376,12 +419146,27 @@ { "$ref": "#/definitions/AWS::CleanRooms::PrivacyBudgetTemplate" }, + { + "$ref": "#/definitions/AWS::CleanRoomsML::AudienceGenerationJob" + }, + { + "$ref": "#/definitions/AWS::CleanRoomsML::AudienceModel" + }, + { + "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredAudienceModel" + }, { "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithm" }, { "$ref": "#/definitions/AWS::CleanRoomsML::ConfiguredModelAlgorithmAssociation" }, + { + "$ref": "#/definitions/AWS::CleanRoomsML::MLInputChannel" + }, + { + "$ref": "#/definitions/AWS::CleanRoomsML::TrainedModelInferenceJob" + }, { "$ref": "#/definitions/AWS::CleanRoomsML::TrainingDataset" }, @@ -406514,6 +419299,9 @@ { "$ref": "#/definitions/AWS::CloudHSM::Cluster" }, + { + "$ref": "#/definitions/AWS::CloudHSMV2::Backup" + }, { "$ref": "#/definitions/AWS::CloudTrail::Channel" }, @@ -406580,6 +419368,9 @@ { "$ref": "#/definitions/AWS::CodeBuild::Project" }, + { + "$ref": "#/definitions/AWS::CodeBuild::Report" + }, { "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" }, @@ -406700,6 +419491,9 @@ { "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier" }, + { + "$ref": "#/definitions/AWS::Comprehend::DocumentClassifierEndpoint" + }, { "$ref": "#/definitions/AWS::Comprehend::DominantLanguageDetectionJob" }, @@ -406712,6 +419506,9 @@ { "$ref": "#/definitions/AWS::Comprehend::FlywheelDataset" }, + { + "$ref": "#/definitions/AWS::Comprehend::PiiEntitiesDetectionJob" + }, { "$ref": "#/definitions/AWS::Comprehend::SentimentDetectionJob" }, @@ -406961,6 +419758,12 @@ { "$ref": "#/definitions/AWS::DMS::ReplicationTask" }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationTaskAssessmentRun" + }, + { + "$ref": "#/definitions/AWS::DRS::LaunchConfigurationTemplate" + }, { "$ref": "#/definitions/AWS::DRS::RecoveryInstance" }, @@ -407138,6 +419941,9 @@ { "$ref": "#/definitions/AWS::Deadline::StorageProfile" }, + { + "$ref": "#/definitions/AWS::Deadline::Volume" + }, { "$ref": "#/definitions/AWS::Deadline::Worker" }, @@ -407226,7 +420032,7 @@ "$ref": "#/definitions/AWS::DocDBElastic::Cluster" }, { - "$ref": "#/definitions/AWS::DynamoDB::Backup" + "$ref": "#/definitions/AWS::DocDBElastic::ClusterSnapshot" }, { "$ref": "#/definitions/AWS::DynamoDB::Export" @@ -407240,6 +420046,9 @@ { "$ref": "#/definitions/AWS::DynamoDB::Table" }, + { + "$ref": "#/definitions/AWS::EC2::ApplicationStatusCheck" + }, { "$ref": "#/definitions/AWS::EC2::CapacityManagerDataExport" }, @@ -407648,6 +420457,9 @@ { "$ref": "#/definitions/AWS::ECS::Daemon" }, + { + "$ref": "#/definitions/AWS::ECS::DaemonDeployment" + }, { "$ref": "#/definitions/AWS::ECS::DaemonTaskDefinition" }, @@ -407660,6 +420472,12 @@ { "$ref": "#/definitions/AWS::ECS::Service" }, + { + "$ref": "#/definitions/AWS::ECS::ServiceDeployment" + }, + { + "$ref": "#/definitions/AWS::ECS::ServiceRevision" + }, { "$ref": "#/definitions/AWS::ECS::Task" }, @@ -407750,6 +420568,9 @@ { "$ref": "#/definitions/AWS::EMRServerless::JobRun" }, + { + "$ref": "#/definitions/AWS::EMRServerless::Session" + }, { "$ref": "#/definitions/AWS::EVS::Environment" }, @@ -407900,6 +420721,9 @@ { "$ref": "#/definitions/AWS::Evidently::Segment" }, + { + "$ref": "#/definitions/AWS::FIS::Action" + }, { "$ref": "#/definitions/AWS::FIS::Experiment" }, @@ -407912,18 +420736,30 @@ { "$ref": "#/definitions/AWS::FIS::TargetAccountConfiguration" }, + { + "$ref": "#/definitions/AWS::FMS::ApplicationsList" + }, { "$ref": "#/definitions/AWS::FMS::NotificationChannel" }, { "$ref": "#/definitions/AWS::FMS::Policy" }, + { + "$ref": "#/definitions/AWS::FMS::ProtocolsList" + }, { "$ref": "#/definitions/AWS::FMS::ResourceSet" }, + { + "$ref": "#/definitions/AWS::FSx::Backup" + }, { "$ref": "#/definitions/AWS::FSx::DataRepositoryAssociation" }, + { + "$ref": "#/definitions/AWS::FSx::FileCache" + }, { "$ref": "#/definitions/AWS::FSx::FileSystem" }, @@ -408026,6 +420862,9 @@ { "$ref": "#/definitions/AWS::Glue::Connection" }, + { + "$ref": "#/definitions/AWS::Glue::ConnectionType" + }, { "$ref": "#/definitions/AWS::Glue::Crawler" }, @@ -408176,6 +421015,9 @@ { "$ref": "#/definitions/AWS::GroundStation::MissionProfile" }, + { + "$ref": "#/definitions/AWS::GroundStation::Satellite" + }, { "$ref": "#/definitions/AWS::GuardDuty::CustomDetectionRuleAssociation" }, @@ -408209,6 +421051,12 @@ { "$ref": "#/definitions/AWS::GuardDuty::TrustedEntitySet" }, + { + "$ref": "#/definitions/AWS::HealthAgent::Domain" + }, + { + "$ref": "#/definitions/AWS::HealthAgent::Subscription" + }, { "$ref": "#/definitions/AWS::HealthImaging::Datastore" }, @@ -408569,12 +421417,21 @@ { "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Pipeline" + }, { "$ref": "#/definitions/AWS::IoTSiteWise::Portal" }, { "$ref": "#/definitions/AWS::IoTSiteWise::Project" }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Task" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Workspace" + }, { "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" }, @@ -408656,6 +421513,9 @@ { "$ref": "#/definitions/AWS::Kendra::Faq" }, + { + "$ref": "#/definitions/AWS::Kendra::FeaturedResultsSet" + }, { "$ref": "#/definitions/AWS::Kendra::Index" }, @@ -408668,6 +421528,9 @@ { "$ref": "#/definitions/AWS::KendraRanking::ExecutionPlan" }, + { + "$ref": "#/definitions/AWS::Kinesis::Channel" + }, { "$ref": "#/definitions/AWS::Kinesis::ResourcePolicy" }, @@ -408794,6 +421657,9 @@ { "$ref": "#/definitions/AWS::LicenseManager::License" }, + { + "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetGroup" + }, { "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet" }, @@ -408839,6 +421705,9 @@ { "$ref": "#/definitions/AWS::Lightsail::InstanceSnapshot" }, + { + "$ref": "#/definitions/AWS::Lightsail::KeyPair" + }, { "$ref": "#/definitions/AWS::Lightsail::LoadBalancer" }, @@ -408989,6 +421858,9 @@ { "$ref": "#/definitions/AWS::Macie::FindingsFilter" }, + { + "$ref": "#/definitions/AWS::Macie::Member" + }, { "$ref": "#/definitions/AWS::Macie::Session" }, @@ -409043,6 +421915,9 @@ { "$ref": "#/definitions/AWS::MediaConnect::RouterOutput" }, + { + "$ref": "#/definitions/AWS::MediaConvert::Job" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -409184,6 +422059,9 @@ { "$ref": "#/definitions/AWS::MemoryDB::ReservedNode" }, + { + "$ref": "#/definitions/AWS::MemoryDB::Snapshot" + }, { "$ref": "#/definitions/AWS::MemoryDB::SubnetGroup" }, @@ -409223,6 +422101,9 @@ { "$ref": "#/definitions/AWS::NeptuneGraph::PrivateGraphEndpoint" }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::ContainerAssociation" + }, { "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" }, @@ -409385,6 +422266,9 @@ { "$ref": "#/definitions/AWS::Omics::Run" }, + { + "$ref": "#/definitions/AWS::Omics::RunBatch" + }, { "$ref": "#/definitions/AWS::Omics::RunCache" }, @@ -409481,6 +422365,9 @@ { "$ref": "#/definitions/AWS::Organizations::Root" }, + { + "$ref": "#/definitions/AWS::Outposts::Outpost" + }, { "$ref": "#/definitions/AWS::Outposts::Site" }, @@ -409547,9 +422434,15 @@ { "$ref": "#/definitions/AWS::Personalize::Dataset" }, + { + "$ref": "#/definitions/AWS::Personalize::DatasetExportJob" + }, { "$ref": "#/definitions/AWS::Personalize::DatasetGroup" }, + { + "$ref": "#/definitions/AWS::Personalize::DatasetImportJob" + }, { "$ref": "#/definitions/AWS::Personalize::EventTracker" }, @@ -409637,6 +422530,9 @@ { "$ref": "#/definitions/AWS::Pipes::Pipe" }, + { + "$ref": "#/definitions/AWS::PricingPlanManager::Subscription" + }, { "$ref": "#/definitions/AWS::Proton::EnvironmentAccountConnection" }, @@ -409697,6 +422593,9 @@ { "$ref": "#/definitions/AWS::QuickSight::CustomPermissions" }, + { + "$ref": "#/definitions/AWS::QuickSight::Customization" + }, { "$ref": "#/definitions/AWS::QuickSight::DLPSetting" }, @@ -409760,12 +422659,18 @@ { "$ref": "#/definitions/AWS::RDS::DBCluster" }, + { + "$ref": "#/definitions/AWS::RDS::DBClusterAutomatedBackup" + }, { "$ref": "#/definitions/AWS::RDS::DBClusterParameterGroup" }, { "$ref": "#/definitions/AWS::RDS::DBInstance" }, + { + "$ref": "#/definitions/AWS::RDS::DBInstanceAutomatedBackup" + }, { "$ref": "#/definitions/AWS::RDS::DBParameterGroup" }, @@ -409862,12 +422767,24 @@ { "$ref": "#/definitions/AWS::Redshift::Integration" }, + { + "$ref": "#/definitions/AWS::Redshift::QEV2IdcApplication" + }, { "$ref": "#/definitions/AWS::Redshift::ScheduledAction" }, + { + "$ref": "#/definitions/AWS::Redshift::Snapshot" + }, + { + "$ref": "#/definitions/AWS::Redshift::SnapshotCopyGrant" + }, { "$ref": "#/definitions/AWS::Redshift::SnapshotSchedule" }, + { + "$ref": "#/definitions/AWS::Redshift::UsageLimit" + }, { "$ref": "#/definitions/AWS::RedshiftServerless::Namespace" }, @@ -409907,6 +422824,9 @@ { "$ref": "#/definitions/AWS::ResilienceHub::App" }, + { + "$ref": "#/definitions/AWS::ResilienceHub::AppAssessment" + }, { "$ref": "#/definitions/AWS::ResilienceHub::RecommendationTemplate" }, @@ -409991,6 +422911,12 @@ { "$ref": "#/definitions/AWS::Route53::RecordSetGroup" }, + { + "$ref": "#/definitions/AWS::Route53::TrafficPolicy" + }, + { + "$ref": "#/definitions/AWS::Route53::TrafficPolicyInstance" + }, { "$ref": "#/definitions/AWS::Route53GlobalResolver::AccessSource" }, @@ -410384,6 +423310,15 @@ { "$ref": "#/definitions/AWS::SSO::PermissionSet" }, + { + "$ref": "#/definitions/AWS::SWF::Domain" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AIBenchmarkJob" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AIWorkloadConfig" + }, { "$ref": "#/definitions/AWS::SageMaker::Action" }, @@ -410768,6 +423703,18 @@ { "$ref": "#/definitions/AWS::StepFunctions::StateMachineVersion" }, + { + "$ref": "#/definitions/AWS::StorageGateway::CacheReport" + }, + { + "$ref": "#/definitions/AWS::StorageGateway::Device" + }, + { + "$ref": "#/definitions/AWS::StorageGateway::Gateway" + }, + { + "$ref": "#/definitions/AWS::StorageGateway::Tape" + }, { "$ref": "#/definitions/AWS::StorageGateway::TapePool" }, @@ -410807,12 +423754,18 @@ { "$ref": "#/definitions/AWS::Timestream::InfluxDBInstance" }, + { + "$ref": "#/definitions/AWS::Timestream::InfluxDBParameterGroup" + }, { "$ref": "#/definitions/AWS::Timestream::ScheduledQuery" }, { "$ref": "#/definitions/AWS::Timestream::Table" }, + { + "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsCategory" + }, { "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsJob" }, @@ -410825,6 +423778,9 @@ { "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob" }, + { + "$ref": "#/definitions/AWS::Transcribe::Vocabulary" + }, { "$ref": "#/definitions/AWS::Transcribe::VocabularyFilter" }, @@ -410900,6 +423856,9 @@ { "$ref": "#/definitions/AWS::VpcLattice::ResourceConfiguration" }, + { + "$ref": "#/definitions/AWS::VpcLattice::ResourceEndpointAssociation" + }, { "$ref": "#/definitions/AWS::VpcLattice::ResourceGateway" },